Merge branch 'feature/REQ-1465' of axzsource.com:universal/infrastructure/backend/msg-center-plat into dev

This commit is contained in:
luofu 2023-10-26 15:10:44 +08:00
commit ec037ffa9c
2 changed files with 13 additions and 3 deletions

View File

@ -58,6 +58,7 @@ public class GeneralMessageMapperServiceImpl implements GeneralMessageMapperServ
@Override
public void asyncBatchSendMessage(GeneralMessageReq request, Map<Long, MessageRecord> 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);
}

View File

@ -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<PushTerminalEnum, AppTypeEnum> 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())