diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java index 670a47c2..4e741f92 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java @@ -373,7 +373,7 @@ public class TicketController extends ControllerBase { ssePushService.sendTicketMessageToApp(Long.valueOf(ticket.getId()), message); ssePushService.sendTicketMessageToAdmin(Long.valueOf(ticket.getId()), message); request.getUserIds().forEach(userId -> { - uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), Constant.FROM_ADMIN, userId, "分派工单"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, Constant.FROM_ADMIN, userId, "分派工单"); }); return ApiResult.success(); } @@ -433,9 +433,9 @@ public class TicketController extends ControllerBase { //推送消息 ssePushService.sendTicketMessageToAdmin(Long.valueOf(id), message); ssePushService.sendTicketMessageToApp(Long.valueOf(id), message); - uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), ticket.getUserPlatform(), ticket.getUserId(), "工单已完成"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, ticket.getUserPlatform(), ticket.getUserId(), "工单已完成"); deviceTypeService.getCqmsByDeviceType(ticket.getDeviceNo()).forEach(cqm -> { - uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), Constant.FROM_ADMIN, cqm, "工单已完成"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, Constant.FROM_ADMIN, cqm, "工单已完成"); }); } return ApiResult.success(); @@ -464,7 +464,7 @@ public class TicketController extends ControllerBase { //推送消息 ssePushService.sendTicketMessageToAdmin(Long.valueOf(id), message); ssePushService.sendTicketMessageToApp(Long.valueOf(id), message); - uniPushService.sendTodoMessageFromAdmin(Long.valueOf(ticket.getId()), Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 0, Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回"); } return ApiResult.success(); } @@ -1313,7 +1313,8 @@ public class TicketController extends ControllerBase { .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话") .setContent(adminUser.getUserName() + "请求与您视频通话") - .setTicketId(Long.valueOf(ticketId)) + .setTicketId(String.valueOf(ticketId)) + .setTicketType(0) .setUserId(adminUser.getId()) .setUserName(adminUser.getUserName()) .setUserAvatar(adminUser.getAvatar()) @@ -1358,7 +1359,8 @@ public class TicketController extends ControllerBase { .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话") .setContent(adminUser.getUserName() + "请求与您视频通话") - .setTicketId(request.getTicketId()) + .setTicketId(String.valueOf(request.getTicketId())) + .setTicketType(0) .setUserId(adminUser.getId()) .setUserName(adminUser.getUserName()) .setUserAvatar(adminUser.getAvatar()) @@ -1398,7 +1400,8 @@ public class TicketController extends ControllerBase { .setTitle("视频通话") .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话") - .setTicketId(ticketId) + .setTicketId(String.valueOf(ticketId)) + .setTicketType(ticket.getType()) .setUserId(AdminUserUtil.getUserId()) .setCategory("ticketCallJoined") .setFrom("admin") @@ -1414,6 +1417,8 @@ public class TicketController extends ControllerBase { */ @PostMapping("call/hangUp") public ApiResult hangUp(@Valid @RequestBody TicketCallHangUpRequest request) { + TicketDTO ticket = ticketService.getDto(request.getTicketId()); + VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在"); if (StrUtil.equals(request.getFrom(), Constant.FROM_ADMIN) && Objects.equals(request.getFromUserId(), AdminUserUtil.getUserId())) { Set userIds = stringRedisTemplate.opsForSet().members(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId()); if (CollectionUtil.isNotEmpty(userIds)) { @@ -1425,7 +1430,8 @@ public class TicketController extends ControllerBase { .setTitle("视频通话结束") .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话结束") - .setTicketId(request.getTicketId()) + .setTicketId(String.valueOf(request.getTicketId())) + .setTicketType(ticket.getType()) .setUserId(Integer.valueOf(StrUtil.split(uid, "-").get(1))) .setCategory("ticketCallEnd") .setFrom("admin") @@ -1438,7 +1444,7 @@ public class TicketController extends ControllerBase { } else { stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_ADMIN + "-" + AdminUserUtil.getUserId()); } - ticketEventPublisher.publishTicketCallEndEvent(Math.toIntExact(request.getTicketId())); + ticketEventPublisher.publishTicketCallEndEvent(ticket); return ApiResult.success(); } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCallEndEvent.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCallEndEvent.java index 67a77400..7b4ade80 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCallEndEvent.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/event/TicketCallEndEvent.java @@ -20,7 +20,7 @@ import java.util.Objects; public class TicketCallEndEvent extends ApplicationEvent implements ApplicationContextAware { - private final Integer ticketId; + private final TicketDTO ticket; private SsePushService ssePushService; private TicketChatService ticketChatService; @@ -28,9 +28,9 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC private StringRedisTemplate stringRedisTemplate; private UniPushService uniPushService; - public TicketCallEndEvent(Object source, Integer ticketId) { + public TicketCallEndEvent(Object source, TicketDTO ticket) { super(source); - this.ticketId = ticketId; + this.ticket = ticket; } @Override @@ -43,8 +43,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC } public void send() throws IOException, InterruptedException { - if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) { - ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId); + if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticket.getId()))) { + ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticket.getId()); if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) { ChatMessageDTO message = new ChatMessageDTO() .setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr()) @@ -54,11 +54,11 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC .setSenderName("通话助手") .setContent("视频通话已结束") .setCreateTime(Instant.now()); - ticketChatService.addMessage(Long.valueOf(ticketId), message); + ticketChatService.addMessage(ticket.getId(), message); //推送消息 - ssePushService.sendTicketMessageToAdmin(Long.valueOf(ticketId), message); - ssePushService.sendTicketMessageToApp(Long.valueOf(ticketId), message); - ssePushService.sendTicketCallEnd(Long.valueOf(ticketId)); + ssePushService.sendTicketMessageToAdmin(ticket.getId(), message); + ssePushService.sendTicketMessageToApp(ticket.getId(), message); + ssePushService.sendTicketCallEnd(ticket.getId()); Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0); if (Objects.nonNull(userId)) { String from = userId.toString().startsWith("1") ? "app" : "admin"; @@ -69,7 +69,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC .setSendData(new UniPushMessageBody() .setTitle("视频通话结束") .setPayload(new UniPushMessageCallPayload() - .setTicketId(Long.valueOf(ticketId)) + .setTicketId(String.valueOf(ticket.getId())) + .setTicketType(ticket.getType()) .setUserId(userId) .setCategory("ticketCallEnd") .setFrom("admin") diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/publisher/TicketEventPublisher.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/publisher/TicketEventPublisher.java index 9707dc30..0e30d8e9 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/publisher/TicketEventPublisher.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/publisher/TicketEventPublisher.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.admin.publisher; import com.nflg.mobilebroken.admin.event.*; +import com.nflg.mobilebroken.common.pojo.dto.TicketDTO; import com.nflg.mobilebroken.repository.entity.Ticket; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationEventPublisher; @@ -48,8 +49,8 @@ public class TicketEventPublisher { eventPublisher.publishEvent(event); } - public void publishTicketCallEndEvent(Integer ticketId) { - TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId); + public void publishTicketCallEndEvent(TicketDTO ticket) { + TicketCallEndEvent event = new TicketCallEndEvent(this, ticket); event.setApplicationContext(applicationContext); eventPublisher.publishEvent(event); } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/SsePushService.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/SsePushService.java index dc39805d..a466178e 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/SsePushService.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/SsePushService.java @@ -6,7 +6,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO; import com.nflg.mobilebroken.common.pojo.dto.PushMessageDTO; import com.nflg.mobilebroken.common.pojo.dto.PushMessageDataBody; -import com.nflg.mobilebroken.common.pojo.dto.UniPushMessageCallPayload; +import com.nflg.mobilebroken.common.pojo.dto.SsePushMessageCallPayload; import com.nflg.mobilebroken.common.pojo.request.PushUserMessageRequest; import com.nflg.mobilebroken.common.pojo.request.TicketMessagePushRequest; import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO; @@ -18,7 +18,6 @@ import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; -import javax.validation.constraints.NotNull; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Objects; @@ -161,7 +160,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCall") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setUserId(user.getId()) .setUserName(user.getUserName()) @@ -186,7 +185,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCall") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setUserId(user.getId()) .setUserName(user.getUserName()) @@ -207,80 +206,80 @@ public class SsePushService { return restTemplate.postForObject(sseUrl + "/sse/" + to + "/push/user/message", request, ApiResult.class); } - public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallHangUp") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallHangUp") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getUserName()) - .setUserAvatar(user.getAvatar()) - .setFrom("admin") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "app"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallHangUp") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallHangUp") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getUserName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("admin") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "app"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } - public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallHangUp") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallHangUp") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getUserName()) - .setUserAvatar(user.getAvatar()) - .setFrom("admin") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "admin"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallHangUp") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallHangUp") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getUserName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("admin") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "admin"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } - public void sendTicketCallCancelToAdmin(Long ticketId, @NotNull Integer userId, AdminUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallCancel") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallCancel") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getUserName()) - .setUserAvatar(user.getAvatar()) - .setFrom("admin") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "admin"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallCancelToAdmin(Long ticketId, @NotNull Integer userId, AdminUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallCancel") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallCancel") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getUserName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("admin") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "admin"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } public void sendTicketCallJoinedToAdmin(Integer userId, Long ticketId) { try { @@ -291,7 +290,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCallJoined") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setFrom("admin") ) @@ -313,7 +312,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCallEnd") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setFrom("admin") ) diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java index 28fc8f83..8e38537a 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TicketController.java @@ -496,7 +496,7 @@ public class TicketController extends ControllerBase { //推送消息 ssePushService.sendTicketMessageToAdmin(id, message); ssePushService.sendTicketMessageToApp(id, message); - uniPushService.sendTodoMessageFromApp(ticket.getId(), ticket.getCurrentHandle(), "工单被重启"); + uniPushService.sendTodoMessageFromApp(String.valueOf(ticket.getId()), ticket.getType(), ticket.getCurrentHandle(), "工单被重启"); stringRedisTemplate.opsForValue().set(StrUtil.format(Constant.REDIS_KEY_TICKET_REJECT_RECORD, id), DateTimeUtil.format(LocalDateTime.now())); return ApiResult.success(); } @@ -542,8 +542,8 @@ public class TicketController extends ControllerBase { .setCreateTime(Instant.now()); ticketChatService.addMessage(request.getTicketId(), message); //推送消息 - ssePushService.sendTicketMessageToAdmin(Long.valueOf(ticket.getId()), message); - ssePushService.sendTicketMessageToApp(Long.valueOf(ticket.getId()), message); + ssePushService.sendTicketMessageToAdmin(ticket.getId(), message); + ssePushService.sendTicketMessageToApp(ticket.getId(), message); } return ApiResult.success(); } @@ -591,7 +591,8 @@ public class TicketController extends ControllerBase { .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话") .setContent(appUser.getName() + "请求与您视频通话") - .setTicketId(ticketId) + .setTicketId(String.valueOf(ticketId)) + .setTicketType(ticket.getType()) .setUserId(appUser.getId()) .setUserName(appUser.getName()) .setUserAvatar(appUser.getAvatar()) @@ -630,7 +631,8 @@ public class TicketController extends ControllerBase { .setTitle("视频通话") .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话") - .setTicketId(ticketId) + .setTicketId(String.valueOf(ticketId)) + .setTicketType(ticket.getType()) .setUserId(AppUserUtil.getUserId()) .setCategory("ticketCallJoined") .setFrom("app") @@ -646,6 +648,8 @@ public class TicketController extends ControllerBase { */ @PostMapping("call/hangUp") public ApiResult hangUp(@Valid @RequestBody TicketCallHangUpRequest request) { + TicketDTO ticket = ticketService.getDto(request.getTicketId()); + VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在"); if (StrUtil.equals(request.getFrom(), AppUserUtil.getFrom()) && Objects.equals(request.getFromUserId(), AppUserUtil.getUserId())) { Set userIds = stringRedisTemplate.opsForSet().members(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId()); if (CollectionUtil.isNotEmpty(userIds)) { @@ -657,7 +661,8 @@ public class TicketController extends ControllerBase { .setTitle("视频通话结束") .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话结束") - .setTicketId(request.getTicketId()) + .setTicketId(String.valueOf(request.getTicketId())) + .setTicketType(ticket.getType()) .setUserId(Integer.valueOf(StrUtil.split(uid, "-").get(1))) .setCategory("ticketCallEnd") .setFrom("app") @@ -670,7 +675,7 @@ public class TicketController extends ControllerBase { } else { stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_APP + "-" + AppUserUtil.getUserId()); } - ticketEventPublisher.publishTicketCallEndEvent(request.getTicketId()); + ticketEventPublisher.publishTicketCallEndEvent(ticket); return ApiResult.success(); } diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCallEndEvent.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCallEndEvent.java index 78bf02bd..c0357b44 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCallEndEvent.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCallEndEvent.java @@ -20,7 +20,7 @@ import java.util.Objects; public class TicketCallEndEvent extends ApplicationEvent implements ApplicationContextAware { - private final Long ticketId; + private final TicketDTO ticket; private SsePushService ssePushService; private TicketChatService ticketChatService; @@ -28,9 +28,9 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC private StringRedisTemplate stringRedisTemplate; private UniPushService uniPushService; - public TicketCallEndEvent(Object source, Long ticketId) { + public TicketCallEndEvent(Object source, TicketDTO ticket) { super(source); - this.ticketId = ticketId; + this.ticket = ticket; } @Override @@ -43,8 +43,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC } public void send() throws IOException, InterruptedException { - if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) { - ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId); + if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticket.getId()))) { + ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticket.getId()); if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) { ChatMessageDTO message = new ChatMessageDTO() .setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr()) @@ -54,11 +54,11 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC .setSenderName("通话助手") .setContent("视频通话已结束") .setCreateTime(Instant.now()); - ticketChatService.addMessage(ticketId, message); + ticketChatService.addMessage(ticket.getId(), message); //推送消息 - ssePushService.sendTicketMessageToAdmin(ticketId, message); - ssePushService.sendTicketMessageToApp(ticketId, message); - ssePushService.sendTicketCallEnd(ticketId); + ssePushService.sendTicketMessageToAdmin(ticket.getId(), message); + ssePushService.sendTicketMessageToApp(ticket.getId(), message); + ssePushService.sendTicketCallEnd(ticket.getId()); Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0); if (Objects.nonNull(userId)) { String from = userId.toString().startsWith("1") ? "app" : "admin"; @@ -69,7 +69,8 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC .setSendData(new UniPushMessageBody() .setTitle("视频通话结束") .setPayload(new UniPushMessageCallPayload() - .setTicketId(Long.valueOf(ticketId)) + .setTicketId(String.valueOf(ticket.getId())) + .setTicketType(ticket.getType()) .setUserId(userId) .setCategory("ticketCallEnd") .setFrom("app") diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/publisher/TicketEventPublisher.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/publisher/TicketEventPublisher.java index 299eea75..3b7b72e7 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/publisher/TicketEventPublisher.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/publisher/TicketEventPublisher.java @@ -60,8 +60,8 @@ public class TicketEventPublisher { eventPublisher.publishEvent(event); } - public void publishTicketCallEndEvent(Long ticketId) { - TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId); + public void publishTicketCallEndEvent(TicketDTO ticket) { + TicketCallEndEvent event = new TicketCallEndEvent(this, ticket); event.setApplicationContext(applicationContext); eventPublisher.publishEvent(event); } diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/SsePushService.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/SsePushService.java index b728a432..599cd2f1 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/SsePushService.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/SsePushService.java @@ -6,7 +6,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO; import com.nflg.mobilebroken.common.pojo.dto.PushMessageDTO; import com.nflg.mobilebroken.common.pojo.dto.PushMessageDataBody; -import com.nflg.mobilebroken.common.pojo.dto.UniPushMessageCallPayload; +import com.nflg.mobilebroken.common.pojo.dto.SsePushMessageCallPayload; import com.nflg.mobilebroken.common.pojo.request.PushUserMessageRequest; import com.nflg.mobilebroken.common.pojo.request.TicketMessagePushRequest; import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO; @@ -152,7 +152,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCall") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setUserId(appUser.getId()) .setUserName(appUser.getName()) @@ -174,77 +174,77 @@ public class SsePushService { return restTemplate.postForObject(sseUrl + "/sse/" + to + "/push/user/message", request, ApiResult.class); } - public void sendTicketCallHangUpToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallHangUp") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallHangUp") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getName()) - .setUserAvatar(user.getAvatar()) - .setFrom("app") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "admin"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallHangUpToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallHangUp") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallHangUp") +// .setData(new SsePushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("app") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "admin"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } - public void sendTicketCallCancelToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallCancel") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallCancel") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getName()) - .setUserAvatar(user.getAvatar()) - .setFrom("app") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "admin"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallCancelToAdmin(@NotNull Long ticketId, @NotNull Integer userId, AppUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallCancel") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallCancel") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("app") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "admin"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } - public void sendTicketCallJoinedToApp(Integer userId, @NotNull Long ticketId) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallJoined") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallJoined") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setFrom("app") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "app"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallJoinedToApp(Integer userId, @NotNull Long ticketId) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallJoined") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallJoined") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setFrom("app") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "app"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } public void sendTicketCallJoined(Integer userId, @Valid @NotNull Long ticketId, String to) { try { @@ -255,7 +255,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCallJoined") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setFrom("app") ) @@ -277,7 +277,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCallEnd") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setFrom("app") ) diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/SsePushMessageCallPayload.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/SsePushMessageCallPayload.java new file mode 100644 index 00000000..45e53d28 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/SsePushMessageCallPayload.java @@ -0,0 +1,28 @@ +package com.nflg.mobilebroken.common.pojo.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class SsePushMessageCallPayload { + + private Long ticketId; + + private String userName; + + private String userAvatar; + + private Integer userId; + + /** + * 呼叫发起方,app或者admin + */ + private String from; + + private String category; + + private String title; + + private String content; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/UniPushMessageCallPayload.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/UniPushMessageCallPayload.java index ef478433..8e6cd2dc 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/UniPushMessageCallPayload.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/UniPushMessageCallPayload.java @@ -7,7 +7,12 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class UniPushMessageCallPayload { - private Long ticketId; + private String ticketId; + + /** + * 工单类型,0:移动破;1:工服 + */ + private Integer ticketType; private String userName; diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java index 2354b6f3..862d2c40 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java @@ -372,7 +372,7 @@ public class TicketController extends ControllerBase { ssePushService.sendTicketMessageToApp(ticket.getId(), message); ssePushService.sendTicketMessageToAdmin(ticket.getId(), message); request.getUserIds().forEach(userId -> { - uniPushService.sendTodoMessageFromAdmin(ticket.getId(), Constant.FROM_ADMIN, userId, "分派工单"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, Constant.FROM_ADMIN, userId, "分派工单"); }); return ApiResult.success(); } @@ -432,9 +432,9 @@ public class TicketController extends ControllerBase { //推送消息 ssePushService.sendTicketMessageToAdmin(id, message); ssePushService.sendTicketMessageToApp(id, message); - uniPushService.sendTodoMessageFromAdmin(ticket.getId(), ticket.getUserPlatform(), ticket.getUserId(), "工单已完成"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, ticket.getUserPlatform(), ticket.getUserId(), "工单已完成"); deviceTypeService.getCqms(ticket.getDeviceNo()).forEach(cqm -> { - uniPushService.sendTodoMessageFromAdmin(ticket.getId(), Constant.FROM_ADMIN, cqm, "工单已完成"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, Constant.FROM_ADMIN, cqm, "工单已完成"); }); } return ApiResult.success(); @@ -463,7 +463,7 @@ public class TicketController extends ControllerBase { //推送消息 ssePushService.sendTicketMessageToAdmin(id, message); ssePushService.sendTicketMessageToApp(id, message); - uniPushService.sendTodoMessageFromAdmin(ticket.getId(), Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回"); + uniPushService.sendTodoMessageFromAdmin(String.valueOf(ticket.getId()), 1, Constant.FROM_ADMIN, StrUtil.splitToInt(ticket.getHandle(), ",")[0], "工单被驳回"); } return ApiResult.success(); } @@ -1299,7 +1299,8 @@ public class TicketController extends ControllerBase { .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话") .setContent(adminUser.getUserName() + "请求与您视频通话") - .setTicketId(ticketId) + .setTicketId(String.valueOf(ticketId)) + .setTicketType(1) .setUserId(adminUser.getId()) .setUserName(adminUser.getUserName()) .setUserAvatar(adminUser.getAvatar()) @@ -1344,7 +1345,8 @@ public class TicketController extends ControllerBase { .setPayload(new UniPushMessageCallPayload() .setTitle("视频通话") .setContent(adminUser.getUserName() + "请求与您视频通话") - .setTicketId(request.getTicketId()) + .setTicketId(String.valueOf(request.getTicketId())) + .setTicketType(1) .setUserId(adminUser.getId()) .setUserName(adminUser.getUserName()) .setUserAvatar(adminUser.getAvatar()) diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/event/TicketCallEndEvent.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/event/TicketCallEndEvent.java index 032f8a48..808f2ffd 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/event/TicketCallEndEvent.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/event/TicketCallEndEvent.java @@ -1,11 +1,7 @@ package com.nflg.mobilebroken.gongfu.event; -import cn.hutool.core.collection.CollectionUtil; import com.nflg.mobilebroken.gongfu.service.ShengWangService; import com.nflg.mobilebroken.gongfu.service.SsePushService; -import com.nflg.mobilebroken.common.constant.Constant; -import com.nflg.mobilebroken.common.constant.TicketState; -import com.nflg.mobilebroken.common.pojo.dto.*; import com.nflg.mobilebroken.repository.service.TicketChatService; import com.nflg.mobilebroken.starter.service.UniPushService; import org.springframework.beans.BeansException; @@ -14,10 +10,6 @@ import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationEvent; import org.springframework.data.redis.core.StringRedisTemplate; -import java.io.IOException; -import java.time.Instant; -import java.util.Objects; - public class TicketCallEndEvent extends ApplicationEvent implements ApplicationContextAware { private final Long ticketId; @@ -35,49 +27,49 @@ public class TicketCallEndEvent extends ApplicationEvent implements ApplicationC @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.ssePushService = applicationContext.getBean(SsePushService.class); - this.ticketChatService = applicationContext.getBean(TicketChatService.class); - this.shengWangService = applicationContext.getBean(ShengWangService.class); - this.stringRedisTemplate = applicationContext.getBean(StringRedisTemplate.class); - this.uniPushService = applicationContext.getBean(UniPushService.class); +// this.ssePushService = applicationContext.getBean(SsePushService.class); +// this.ticketChatService = applicationContext.getBean(TicketChatService.class); +// this.shengWangService = applicationContext.getBean(ShengWangService.class); +// this.stringRedisTemplate = applicationContext.getBean(StringRedisTemplate.class); +// this.uniPushService = applicationContext.getBean(UniPushService.class); } - public void send() throws IOException, InterruptedException { - if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) { - ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId); - if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) { - ChatMessageDTO message = new ChatMessageDTO() - .setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr()) - .setFrom("call") - .setTicketState(TicketState.Processing.getState()) - .setSenderId(0) - .setSenderName("通话助手") - .setContent("视频通话已结束") - .setCreateTime(Instant.now()); - ticketChatService.addMessage(ticketId, message); - //推送消息 - ssePushService.sendTicketMessageToAdmin(ticketId, message); - ssePushService.sendTicketMessageToApp(ticketId, message); - ssePushService.sendTicketCallEnd(ticketId); - Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0); - if (Objects.nonNull(userId)) { - String from = userId.toString().startsWith("1") ? "app" : "admin"; - userId = Integer.valueOf(userId.toString().substring(1)); - uniPushService.send(new UniPushMessage() - .setSenderId(from + "-uid-0")//不重要 - .setReceiverId(from + "-uid-" + userId) - .setSendData(new UniPushMessageBody() - .setTitle("视频通话结束") - .setPayload(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(userId) - .setCategory("ticketCallEnd") - .setFrom("admin") - ) - ) - ); - } - } - } - } +// public void send() throws IOException, InterruptedException { +// if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + ticketId))) { +// ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + ticketId); +// if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) { +// ChatMessageDTO message = new ChatMessageDTO() +// .setId(cn.hutool.core.util.IdUtil.getSnowflakeNextIdStr()) +// .setFrom("call") +// .setTicketState(TicketState.Processing.getState()) +// .setSenderId(0) +// .setSenderName("通话助手") +// .setContent("视频通话已结束") +// .setCreateTime(Instant.now()); +// ticketChatService.addMessage(ticketId, message); +// //推送消息 +// ssePushService.sendTicketMessageToAdmin(ticketId, message); +// ssePushService.sendTicketMessageToApp(ticketId, message); +// ssePushService.sendTicketCallEnd(ticketId); +// Integer userId = CollectionUtil.get(channelUserListDTO.getUsers(), 0); +// if (Objects.nonNull(userId)) { +// String from = userId.toString().startsWith("1") ? "app" : "admin"; +// userId = Integer.valueOf(userId.toString().substring(1)); +// uniPushService.send(new UniPushMessage() +// .setSenderId(from + "-uid-0")//不重要 +// .setReceiverId(from + "-uid-" + userId) +// .setSendData(new UniPushMessageBody() +// .setTitle("视频通话结束") +// .setPayload(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(userId) +// .setCategory("ticketCallEnd") +// .setFrom("admin") +// ) +// ) +// ); +// } +// } +// } +// } } \ No newline at end of file diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/listener/TicketEventListener.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/listener/TicketEventListener.java index 77aee37b..0bc67e1b 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/listener/TicketEventListener.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/listener/TicketEventListener.java @@ -5,8 +5,6 @@ import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; -import java.io.IOException; - @Component public class TicketEventListener { @@ -40,9 +38,9 @@ public class TicketEventListener { event.send(); } - @Async - @EventListener - public void handleTicketCallEndEvent(TicketCallEndEvent event) throws IOException, InterruptedException { - event.send(); - } +// @Async +// @EventListener +// public void handleTicketCallEndEvent(TicketCallEndEvent event) throws IOException, InterruptedException { +// event.send(); +// } } diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/publisher/TicketEventPublisher.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/publisher/TicketEventPublisher.java index c0316e93..7f835ad3 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/publisher/TicketEventPublisher.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/publisher/TicketEventPublisher.java @@ -48,9 +48,9 @@ public class TicketEventPublisher { eventPublisher.publishEvent(event); } - public void publishTicketCallEndEvent(Long ticketId) { - TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId); - event.setApplicationContext(applicationContext); - eventPublisher.publishEvent(event); - } +// public void publishTicketCallEndEvent(Long ticketId) { +// TicketCallEndEvent event = new TicketCallEndEvent(this, ticketId); +// event.setApplicationContext(applicationContext); +// eventPublisher.publishEvent(event); +// } } diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/SsePushService.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/SsePushService.java index 0c37ff5a..ba32caf8 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/SsePushService.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/SsePushService.java @@ -6,7 +6,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.dto.ChatMessageDTO; import com.nflg.mobilebroken.common.pojo.dto.PushMessageDTO; import com.nflg.mobilebroken.common.pojo.dto.PushMessageDataBody; -import com.nflg.mobilebroken.common.pojo.dto.UniPushMessageCallPayload; +import com.nflg.mobilebroken.common.pojo.dto.SsePushMessageCallPayload; import com.nflg.mobilebroken.common.pojo.request.PushUserMessageRequest; import com.nflg.mobilebroken.common.pojo.request.TicketMessagePushRequest; import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO; @@ -160,7 +160,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCall") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setUserId(user.getId()) .setUserName(user.getUserName()) @@ -185,7 +185,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCall") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setUserId(user.getId()) .setUserName(user.getUserName()) @@ -206,102 +206,102 @@ public class SsePushService { return restTemplate.postForObject(sseUrl + "/sse/" + to + "/push/user/message", request, ApiResult.class); } - public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallHangUp") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallHangUp") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getUserName()) - .setUserAvatar(user.getAvatar()) - .setFrom("admin") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "app"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallHangUpToApp(Long ticketId, Integer userId, AdminUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallHangUp") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallHangUp") +// .setData(new SsePushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getUserName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("admin") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "app"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } - public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallHangUp") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallHangUp") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getUserName()) - .setUserAvatar(user.getAvatar()) - .setFrom("admin") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "admin"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallHangUpToAdmin(Long ticketId, Integer userId, AdminUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallHangUp") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallHangUp") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getUserName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("admin") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "admin"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } - public void sendTicketCallCancelToAdmin(Long ticketId, Integer userId, AdminUser user) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallCancel") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallCancel") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setUserId(user.getId()) - .setUserName(user.getUserName()) - .setUserAvatar(user.getAvatar()) - .setFrom("admin") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "admin"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallCancelToAdmin(Long ticketId, Integer userId, AdminUser user) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallCancel") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallCancel") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setUserId(user.getId()) +// .setUserName(user.getUserName()) +// .setUserAvatar(user.getAvatar()) +// .setFrom("admin") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "admin"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } - public void sendTicketCallJoinedToAdmin(Integer userId, Long ticketId) { - try { - PushUserMessageRequest request = new PushUserMessageRequest() - .setUserId(userId) - .setMessage(new PushMessageDTO() - .setType("ticketCallJoined") - .setData(new PushMessageDataBody() - .setTargetId(ticketId) - .setType("ticketCallJoined") - .setData(new UniPushMessageCallPayload() - .setTicketId(ticketId) - .setFrom("admin") - ) - ) - ); - ApiResult result = sendMessageByUser(request, "admin"); - log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); - } catch (Exception e) { - log.error("发送消息出错", e); - } - } +// public void sendTicketCallJoinedToAdmin(Integer userId, Long ticketId) { +// try { +// PushUserMessageRequest request = new PushUserMessageRequest() +// .setUserId(userId) +// .setMessage(new PushMessageDTO() +// .setType("ticketCallJoined") +// .setData(new PushMessageDataBody() +// .setTargetId(ticketId) +// .setType("ticketCallJoined") +// .setData(new UniPushMessageCallPayload() +// .setTicketId(ticketId) +// .setFrom("admin") +// ) +// ) +// ); +// ApiResult result = sendMessageByUser(request, "admin"); +// log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result)); +// } catch (Exception e) { +// log.error("发送消息出错", e); +// } +// } public void sendTicketCallEnd(Long ticketId) { try { @@ -312,7 +312,7 @@ public class SsePushService { .setData(new PushMessageDataBody() .setTargetId(ticketId) .setType("ticketCallEnd") - .setData(new UniPushMessageCallPayload() + .setData(new SsePushMessageCallPayload() .setTicketId(ticketId) .setFrom("admin") ) diff --git a/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/service/UniPushService.java b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/service/UniPushService.java index 4f266a31..126ec887 100644 --- a/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/service/UniPushService.java +++ b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/service/UniPushService.java @@ -39,7 +39,7 @@ public class UniPushService { ); } - public void sendTodoMessageFromAdmin(Long ticketId, String platform, Integer userId, String content) { + public void sendTodoMessageFromAdmin(String ticketId, Integer type, String platform, Integer userId, String content) { send(new UniPushMessage() .setSenderId("admin-uid-" + AdminUserUtil.getUserId()) .setReceiverId(platform + "-uid-" + userId) @@ -48,6 +48,7 @@ public class UniPushService { .setContent(content) .setPayload(new UniPushMessageCallPayload() .setTicketId(ticketId) + .setTicketType(type) .setTitle("工单消息") .setContent(content) ) @@ -55,7 +56,7 @@ public class UniPushService { ); } - public void sendTodoMessageFromApp(Long ticketId, Integer userId, String content) { + public void sendTodoMessageFromApp(String ticketId, Integer type, Integer userId, String content) { send(new UniPushMessage() .setSenderId("app-uid-" + AppUserUtil.getUserId()) .setReceiverId("admin-uid-" + userId) @@ -64,6 +65,7 @@ public class UniPushService { .setContent(content) .setPayload(new UniPushMessageCallPayload() .setTicketId(ticketId) + .setTicketType(type) .setTitle("工单消息") .setContent(content) )