From 3c7b780fc2fc9ce461bc1bba845dd00633f1394b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 26 May 2025 17:15:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20bug-245=20=E8=A7=86=E9=A2=91=E9=80=9A?= =?UTF-8?q?=E8=AF=9D=E4=BC=98=E5=8C=96=EF=BC=8C=E5=A4=9A=E7=AB=AF=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=97=B6=EF=BC=8C=E6=9C=89=E4=B8=80=E4=B8=AA=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=8E=A5=E5=90=AC=E5=90=8E=EF=BC=8C=E7=BB=99=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E8=AE=BE=E5=A4=87=E6=8E=A8=E9=80=81=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E6=8E=A5=E5=90=AC=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/TicketController.java | 15 +++++++++++++ .../admin/service/SsePushService.java | 22 +++++++++++++++++++ .../cfs/controller/TicketController.java | 17 +++++++++++++- .../cfs/service/SsePushService.java | 22 +++++++++++++++++++ 4 files changed, 75 insertions(+), 1 deletion(-) 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