From c181a3f35175eaf582fefecc88781d2d527570da Mon Sep 17 00:00:00 2001 From: luofu Date: Thu, 26 Oct 2023 13:51:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs(REQ-1465):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E5=8F=91=E9=80=81IM=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=9A=84=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/service/impl/GeneralMessageMapperServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageMapperServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageMapperServiceImpl.java index c56761a4..46288909 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageMapperServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageMapperServiceImpl.java @@ -58,6 +58,7 @@ public class GeneralMessageMapperServiceImpl implements GeneralMessageMapperServ @Override public void asyncBatchSendMessage(GeneralMessageReq request, Map toIdMessageRecordMap) { + log.info("do some check before send im message. relationId:[{}]", request.getRelationId()); if (MsgTypeEnum.PENDING_MESSAGE.equals(request.getType())) { log.info("pending message is not supported."); return; @@ -72,6 +73,7 @@ public class GeneralMessageMapperServiceImpl implements GeneralMessageMapperServ return; } // 异步发送IM消息 + log.info("start to async send im message. relationId:[{}]", request.getRelationId()); CompletableFuture.runAsync(() -> doBatchSendMessage(request, toIdMessageRecordMap), asyncSendMsgExecutorService); } From cdd7baacd7311cdf8c8cdc1444aa9767c5e756fd Mon Sep 17 00:00:00 2001 From: luofu Date: Thu, 26 Oct 2023 15:09:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(REQ-1465):=20=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=8F=91=E9=80=81=E8=80=85=E4=B8=8D=E4=BC=A0=E5=8F=82=E7=9A=84?= =?UTF-8?q?=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景: https://jira.axzo.cn/browse/REQ-1465?goToView=1 修改: 1、处理发送者不传参的场景 影响: 无 --- .../service/impl/GeneralMessageServiceImpl.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java index 34a2234f..d5696601 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java @@ -21,10 +21,12 @@ import cn.axzo.msg.center.message.service.GeneralMessageOldService; import cn.axzo.msg.center.message.service.GeneralMessageService; import cn.axzo.msg.center.message.service.MessageSendTwiceRecordService; import cn.axzo.msg.center.message.service.MessageTemplateNewService; +import cn.axzo.msg.center.service.dto.IdentityDTO; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO; import cn.axzo.msg.center.service.dto.PersonDTO; import cn.axzo.msg.center.service.enums.GeneralMessageStateEnum; +import cn.axzo.msg.center.service.enums.IdentityTypeEnum; import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum; import cn.axzo.msg.center.service.general.request.GeneralMessageOldDataStatisticRequest; @@ -63,6 +65,11 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class GeneralMessageServiceImpl implements GeneralMessageService { + private static final PersonDTO SYSTEM_SENDER = PersonDTO.builder() + .id(0L) + .identity(IdentityDTO.builder().id(0L).type(IdentityTypeEnum.NOT_SUPPORT).build()) + .build(); + private static final ImmutableMap PUSH_TERMINAL_APP_MAP = ImmutableMap.of( PushTerminalEnum.B_ENTERPRISE_APP, AppTypeEnum.CMP, PushTerminalEnum.C_WORKER_APP, AppTypeEnum.CM @@ -114,11 +121,12 @@ public class GeneralMessageServiceImpl implements GeneralMessageService { private GeneralMessageRecord buildMessageRecord(GeneralMessageSendRequest request, PersonDTO receiver, MessageTemplateDTO template) { + PersonDTO sender = Objects.isNull(request.getSender()) ? SYSTEM_SENDER : request.getSender(); return GeneralMessageRecord.builder() .identityCode(UUIDUtil.uuidString()) - .senderPersonId(request.getSender().getId()) - .senderId(request.getSender().getIdentity().getId()) - .senderType(request.getSender().getIdentity().getType()) + .senderPersonId(sender.getId()) + .senderId(sender.getIdentity().getId()) + .senderType(sender.getIdentity().getType()) .receiverPersonId(receiver.getId()) .receiverId(receiver.getIdentity().getId()) .receiverType(receiver.getIdentity().getType())