REQ-2601: 下线老消息
This commit is contained in:
parent
647bd1c10e
commit
848b70805c
@ -130,6 +130,9 @@ public class PendingMessageBizConfig {
|
||||
@Getter
|
||||
private int oldMsgStateDataBackendUpdateBatchSize = 100;
|
||||
|
||||
@Getter
|
||||
private boolean oldMsgOffline = true;
|
||||
|
||||
// !! 待办分类统计缓存
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package cn.axzo.msg.center.message.controller;
|
||||
|
||||
import cn.axzo.msg.center.api.request.CmsMsgQueryReq;
|
||||
import cn.axzo.msg.center.api.response.MessageNewRes;
|
||||
import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
|
||||
import cn.axzo.msg.center.message.service.GeneralMessageOldService;
|
||||
import cn.axzo.msg.center.message.service.GeneralMessageService;
|
||||
import cn.axzo.msg.center.service.dto.PersonDTO;
|
||||
@ -26,8 +27,11 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequiredArgsConstructor
|
||||
public class GeneralMessageController implements GeneralMessageClient {
|
||||
|
||||
private static final Integer ZERO = 0;
|
||||
|
||||
private final GeneralMessageService generalMessageService;
|
||||
private final GeneralMessageOldService generalMessageOldService;
|
||||
private final PendingMessageBizConfig cfg;
|
||||
|
||||
@Override
|
||||
public CommonResponse<Void> batchSend(GeneralMessageSendRequest request) {
|
||||
@ -44,12 +48,18 @@ public class GeneralMessageController implements GeneralMessageClient {
|
||||
@Override
|
||||
public CommonResponse<Integer> countOldMsgUnreadWithIdentities(
|
||||
OldMsgStatWithMultiIdentifiesRequest request) {
|
||||
if (cfg.isOldMsgOffline()) {
|
||||
return CommonResponse.success(ZERO);
|
||||
}
|
||||
return CommonResponse.success(generalMessageOldService
|
||||
.countUnreadWithIdentities(request.getPersonId(), request.getIdentities()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Page<MessageNewRes>> pageQueryOldMessage(CmsMsgQueryReq request) {
|
||||
if (cfg.isOldMsgOffline()) {
|
||||
return CommonResponse.success(Page.zero());
|
||||
}
|
||||
request.setLogRequest(true);
|
||||
return CommonResponse.success(generalMessageOldService.pageMsgInfo(request));
|
||||
}
|
||||
|
||||
@ -10,12 +10,12 @@ import cn.axzo.msg.center.common.utils.PlaceholderResolver;
|
||||
import cn.axzo.msg.center.dal.GeneralMessageRecordDao;
|
||||
import cn.axzo.msg.center.domain.entity.GeneralMessageRecord;
|
||||
import cn.axzo.msg.center.inside.notices.config.MessageSystemConfig;
|
||||
import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.SendImMessageDTO;
|
||||
import cn.axzo.msg.center.message.domain.vo.GeneralMessagePushVO;
|
||||
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.message.service.impl.oldmsg.OldMsgStatCache;
|
||||
import cn.axzo.msg.center.service.dto.IdentityDTO;
|
||||
@ -57,6 +57,8 @@ import java.util.stream.Collectors;
|
||||
@RequiredArgsConstructor
|
||||
public class GeneralMessageServiceImpl implements GeneralMessageService {
|
||||
|
||||
private static final Integer ZERO = 0;
|
||||
|
||||
private static final PersonDTO SYSTEM_SENDER = PersonDTO.builder()
|
||||
.id(0L)
|
||||
.identity(IdentityDTO.builder().id(0L).type(IdentityTypeEnum.NOT_SUPPORT).build())
|
||||
@ -71,9 +73,9 @@ public class GeneralMessageServiceImpl implements GeneralMessageService {
|
||||
private final MessageSystemConfig messageSystemConfig;
|
||||
private final GeneralMessageRecordDao generalMessageRecordDao;
|
||||
private final MessageTemplateNewService messageTemplateNewService;
|
||||
private final MessageSendTwiceRecordService messageSendTwiceRecordService;
|
||||
private final MessageRouterUtil messageRouterUtil;
|
||||
private final OldMsgStatCache oldMsgStatCache;
|
||||
private final PendingMessageBizConfig cfg;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||
@ -90,6 +92,13 @@ public class GeneralMessageServiceImpl implements GeneralMessageService {
|
||||
|
||||
@Override
|
||||
public GeneralMessageOldDataStatisticResponse statisticOldData(GeneralMessageOldDataStatisticRequest request) {
|
||||
if (cfg.isOldMsgOffline()) {
|
||||
return GeneralMessageOldDataStatisticResponse.builder()
|
||||
.unreadCount(ZERO)
|
||||
.latestMsgSendTimestamp(null)
|
||||
.latestMsgContent(null)
|
||||
.build();
|
||||
}
|
||||
return oldMsgStatCache.getCacheResponseOrReload(request);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user