From 661a393fa242f3e72da32b8f6eca3e320ed90864 Mon Sep 17 00:00:00 2001 From: luofu Date: Tue, 24 Oct 2023 15:59:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-1465):=20=E6=96=B0=E5=A2=9E=E6=97=A7?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=9A=84=E7=BB=9F=E8=AE=A1=E5=8F=8A=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= 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、新增旧消息的统计及分页查询接口 影响: 无 --- .../impl/MessageRelationServiceImpl.java | 3 ++- .../controller/GeneralMessageController.java | 21 ++++++++++++++-- .../general/client/GeneralMessageClient.java | 25 +++++++++++++++++-- .../GeneralMessageClientFallback.java | 19 ++++++++++++-- 4 files changed, 61 insertions(+), 7 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRelationServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRelationServiceImpl.java index eea30ac8..11180058 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRelationServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRelationServiceImpl.java @@ -194,7 +194,8 @@ public class MessageRelationServiceImpl implements MessageRelationService { } return messageRelationDao.lambdaQuery() .in(MessageRelation::getModuleId, moduleIds) - .eq(MessageRelation::getIsDelete, 0) + .eq(MessageRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .select(MessageRelation::getId) .list().stream() .map(MessageRelation::getId) .collect(Collectors.toList()); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/GeneralMessageController.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/GeneralMessageController.java index ce7b9679..84949057 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/GeneralMessageController.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/GeneralMessageController.java @@ -1,11 +1,16 @@ 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.message.service.GeneralMessageOldService; import cn.axzo.msg.center.message.service.GeneralMessageService; +import cn.axzo.msg.center.service.dto.PersonDTO; import cn.axzo.msg.center.service.general.client.GeneralMessageClient; import cn.axzo.msg.center.service.general.request.GeneralMessageOldDataStatisticRequest; import cn.axzo.msg.center.service.general.request.GeneralMessageSendRequest; import cn.axzo.msg.center.service.general.response.GeneralMessageOldDataStatisticResponse; import cn.azxo.framework.common.model.CommonResponse; +import cn.azxo.framework.common.model.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RestController; @@ -21,15 +26,27 @@ import org.springframework.web.bind.annotation.RestController; public class GeneralMessageController implements GeneralMessageClient { private final GeneralMessageService generalMessageService; + private final GeneralMessageOldService generalMessageOldService; @Override - public CommonResponse statisticOldData(GeneralMessageSendRequest request) { + public CommonResponse pageQueryOldMessage(GeneralMessageSendRequest request) { return CommonResponse.success(generalMessageService.batchSendMessage(request)); } @Override - public CommonResponse statisticOldData( + public CommonResponse pageQueryOldMessage( GeneralMessageOldDataStatisticRequest request) { return CommonResponse.success(generalMessageService.statisticOldData(request)); } + + @Override + public CommonResponse countUnreadFromOldMessage(GeneralMessageOldDataStatisticRequest request) { + PersonDTO person = PersonDTO.from(request.getPersonId(), request.getIdentityId(), request.getIdentityType()); + return CommonResponse.success(generalMessageOldService.countUnread(person)); + } + + @Override + public CommonResponse> pageQueryOldMessage(CmsMsgQueryReq request) { + return CommonResponse.success(generalMessageOldService.pageMsgInfo(request)); + } } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/GeneralMessageClient.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/GeneralMessageClient.java index c2e5d26f..c072f6fd 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/GeneralMessageClient.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/GeneralMessageClient.java @@ -1,10 +1,13 @@ package cn.axzo.msg.center.service.general.client; +import cn.axzo.msg.center.api.request.CmsMsgQueryReq; +import cn.axzo.msg.center.api.response.MessageNewRes; import cn.axzo.msg.center.service.general.request.GeneralMessageOldDataStatisticRequest; import cn.axzo.msg.center.service.general.request.GeneralMessageSendRequest; import cn.axzo.msg.center.service.general.response.GeneralMessageOldDataStatisticResponse; import cn.axzo.msg.center.service.pending.client.fallback.PendingMessageClientFallback; import cn.azxo.framework.common.model.CommonResponse; +import cn.azxo.framework.common.model.Page; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; @@ -32,7 +35,7 @@ public interface GeneralMessageClient { * @return 消息的唯一标识 */ @PostMapping(value = "/general-message/send", produces = {MediaType.APPLICATION_JSON_VALUE}) - CommonResponse statisticOldData(@RequestBody @Valid GeneralMessageSendRequest request); + CommonResponse pageQueryOldMessage(@RequestBody @Valid GeneralMessageSendRequest request); /** * 统计旧消息的未读数以及最新一条消息内容 @@ -41,6 +44,24 @@ public interface GeneralMessageClient { * @return 消息未读数&最新一条消息内容 */ @PostMapping(value = "/general-message/old-data/statistic", produces = {MediaType.APPLICATION_JSON_VALUE}) - CommonResponse statisticOldData( + CommonResponse pageQueryOldMessage( @RequestBody @Valid GeneralMessageOldDataStatisticRequest request); + + /** + * 统计旧消息的未读数 + * + * @param request 消息所需参数 + * @return 消息未读数 + */ + @PostMapping(value = "/general-message/old-data/count-unread", produces = {MediaType.APPLICATION_JSON_VALUE}) + CommonResponse countUnreadFromOldMessage(@RequestBody @Valid GeneralMessageOldDataStatisticRequest request); + + /** + * 旧消息的分页查询入口 + * + * @param request 分页查询所需参数 + * @return 旧消息的分页列表 + */ + @PostMapping(value = "/general-message/old-data/page", produces = {MediaType.APPLICATION_JSON_VALUE}) + CommonResponse> pageQueryOldMessage(@RequestBody @Valid CmsMsgQueryReq request); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/fallback/GeneralMessageClientFallback.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/fallback/GeneralMessageClientFallback.java index a81bbb74..76708c28 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/fallback/GeneralMessageClientFallback.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/general/client/fallback/GeneralMessageClientFallback.java @@ -1,10 +1,13 @@ package cn.axzo.msg.center.service.general.client.fallback; +import cn.axzo.msg.center.api.request.CmsMsgQueryReq; +import cn.axzo.msg.center.api.response.MessageNewRes; import cn.axzo.msg.center.service.general.client.GeneralMessageClient; import cn.axzo.msg.center.service.general.request.GeneralMessageOldDataStatisticRequest; import cn.axzo.msg.center.service.general.request.GeneralMessageSendRequest; import cn.axzo.msg.center.service.general.response.GeneralMessageOldDataStatisticResponse; import cn.azxo.framework.common.model.CommonResponse; +import cn.azxo.framework.common.model.Page; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -18,15 +21,27 @@ import org.springframework.stereotype.Component; public class GeneralMessageClientFallback implements GeneralMessageClient { @Override - public CommonResponse statisticOldData(GeneralMessageSendRequest request) { + public CommonResponse pageQueryOldMessage(GeneralMessageSendRequest request) { log.error("fall back while sending message. req:{}", request); return CommonResponse.error("fall back while sending message"); } @Override - public CommonResponse statisticOldData( + public CommonResponse pageQueryOldMessage( GeneralMessageOldDataStatisticRequest request) { log.error("fall back while statistic old message. req:{}", request); return CommonResponse.error("fall back while statistic old message"); } + + @Override + public CommonResponse countUnreadFromOldMessage(GeneralMessageOldDataStatisticRequest request) { + log.error("fall back while counting unread old message. request:{}", request); + return CommonResponse.error("fall back while counting unread old message"); + } + + @Override + public CommonResponse> pageQueryOldMessage(CmsMsgQueryReq request) { + log.error("fall back while statistic old message. request:{}", request); + return CommonResponse.error("fall back while statistic old message"); + } }