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 8563da2f..6956f625 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 @@ -1310,6 +1310,21 @@ public class TicketController extends ControllerBase { VUtils.trueThrowBusinessError(ticketCallService.isInCall(AdminUserUtil.getUserId())) .throwMessage("您已加入别的通话中"); ticketCallJoinService.join(ticketId, AdminUserUtil.getUserId(),Constant.FROM_ADMIN); + ssePushService.sendTicketCallJoinedToAdmin(AdminUserUtil.getUserId(), ticketId); + uniPushService.send(new UniPushMessage() + .setSenderId("admin-uid-" + AdminUserUtil.getUserId()) + .setReceiverId("admin-uid-" + AdminUserUtil.getUserId()) + .setSendData(new UniPushMessageBody() + .setTitle("视频通话") + .setContent("您已加入别的通话中") + .setPayload(new UniPushMessageCallPayload() + .setTicketId(ticketId) + .setUserId(AdminUserUtil.getUserId()) + .setCategory("ticketCallJoined") + .setFrom("admin") + ) + ) + ); return ApiResult.success(); } 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 cc420f74..8cee0ead 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 @@ -282,4 +282,26 @@ public class SsePushService { log.error("发送消息出错", e); } } + + public void sendTicketCallJoinedToAdmin(Integer userId, @Valid @NotNull Integer 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); + } + } } 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 4c6c5437..72d49e8d 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 @@ -526,7 +526,22 @@ public class TicketController extends ControllerBase { .throwMessage("当前工单状态不允许通话"); VUtils.trueThrowBusinessError(ticketCallService.isInCall(AppUserUtil.getUserId())) .throwMessage("您已加入别的通话中"); - ticketCallJoinService.join(ticketId, AppUserUtil.getUserId(),Constant.FROM_APP); + ticketCallJoinService.join(ticketId, AppUserUtil.getUserId(), Constant.FROM_APP); + ssePushService.sendTicketCallJoinedToApp(AppUserUtil.getUserId(), ticketId); + uniPushService.send(new UniPushMessage() + .setSenderId("app-uid-" + AppUserUtil.getUserId()) + .setReceiverId("app-uid-" + AppUserUtil.getUserId()) + .setSendData(new UniPushMessageBody() + .setTitle("视频通话") + .setContent("您已加入别的通话中") + .setPayload(new UniPushMessageCallPayload() + .setTicketId(ticketId) + .setUserId(AppUserUtil.getUserId()) + .setCategory("ticketCallJoined") + .setFrom("app") + ) + ) + ); return ApiResult.success(); } 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 4b2382e6..94347f66 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 @@ -222,4 +222,26 @@ public class SsePushService { log.error("发送消息出错", e); } } + + public void sendTicketCallJoinedToApp(Integer userId,@NotNull Integer 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); + } + } } \ No newline at end of file