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

This commit is contained in:
luofu 2023-10-25 18:48:56 +08:00
commit f98465a5cf
6 changed files with 15 additions and 17 deletions

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.message.controller;
import cn.axzo.core.domain.PageResult;
import cn.axzo.msg.center.api.request.CmsMsgQueryReq;
import cn.axzo.msg.center.api.response.MessageNewRes;
import cn.axzo.msg.center.message.service.GeneralMessageOldService;
@ -10,7 +11,6 @@ import cn.axzo.msg.center.service.general.request.GeneralMessageOldDataStatistic
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;
@ -47,7 +47,7 @@ public class GeneralMessageController implements GeneralMessageClient {
}
@Override
public CommonResponse<Page<MessageNewRes>> pageQueryOldMessage(CmsMsgQueryReq request) {
public CommonResponse<PageResult<MessageNewRes>> pageQueryOldMessage(CmsMsgQueryReq request) {
return CommonResponse.success(generalMessageOldService.pageMsgInfo(request));
}
}

View File

@ -1,9 +1,9 @@
package cn.axzo.msg.center.message.service;
import cn.axzo.core.domain.PageResult;
import cn.axzo.msg.center.api.request.CmsMsgQueryReq;
import cn.axzo.msg.center.api.response.MessageNewRes;
import cn.axzo.msg.center.service.dto.PersonDTO;
import cn.azxo.framework.common.model.Page;
import java.util.List;
@ -42,5 +42,5 @@ public interface GeneralMessageOldService {
* @param request 分页查询参数
* @return 过滤后的旧的普通消息记录
*/
Page<MessageNewRes> pageMsgInfo(CmsMsgQueryReq request);
PageResult<MessageNewRes> pageMsgInfo(CmsMsgQueryReq request);
}

View File

@ -17,7 +17,6 @@ import cn.axzo.msg.center.message.service.GeneralMessageOldService;
import cn.axzo.msg.center.message.service.MessageSendTwiceRecordService;
import cn.axzo.msg.center.service.dto.PersonDTO;
import cn.axzo.msg.center.utils.PersonIdentityUtil;
import cn.azxo.framework.common.model.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
@ -71,12 +70,11 @@ public class GeneralMessageOldServiceImpl implements GeneralMessageOldService {
}
@Override
public Page<MessageNewRes> pageMsgInfo(CmsMsgQueryReq request) {
public PageResult<MessageNewRes> pageMsgInfo(CmsMsgQueryReq request) {
log.info("start to page query general message. request:{}", request);
if (CollectionUtils.isEmpty(request.getExcludeMsgIds())) {
request.setExcludeMsgIds(messageSendTwiceRecordService.listByPerson(request.getPersonId()));
}
PageResult<MessageNewRes> pageResult = messageCoreService.listMsgInfo(request);
return Page.toPage(request.getPage(), request.getPageSize(), pageResult.getTotalCount(), pageResult.getData());
return messageCoreService.listMsgInfo(request);
}
}

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.message.service.impl;
import cn.axzo.core.domain.PageResult;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.im.center.api.feign.MessageApi;
import cn.axzo.im.center.api.vo.req.MessageInfo;
@ -33,11 +34,10 @@ import cn.axzo.msg.center.service.general.response.GeneralMessageOldDataStatisti
import cn.axzo.msg.center.utils.MessageRouterUtil;
import cn.axzo.msg.center.utils.PersonIdentityUtil;
import cn.axzo.msg.center.utils.UUIDUtil;
import cn.azxo.framework.common.model.Page;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
@ -93,12 +93,12 @@ public class GeneralMessageServiceImpl implements GeneralMessageService {
// 查询双发的消息记录
List<Long> sendTwiceMsgIds = messageSendTwiceRecordService.listByPerson(request.getPersonId());
// 分页查询最新一条数据
Page<MessageNewRes> result = generalMessageOldService.pageMsgInfo(build(request, sendTwiceMsgIds));
PageResult<MessageNewRes> result = generalMessageOldService.pageMsgInfo(build(request, sendTwiceMsgIds));
// 统计旧的未读普通消息数量
int count = generalMessageOldService.countUnread(PersonDTO.from(request.getPersonId(), request.getIdentityId(),
request.getIdentityType()), sendTwiceMsgIds);
// 编排组合成界面展示的数据结构
MessageNewRes msg = CollectionUtils.isNotEmpty(result.getList()) ? result.getList().get(0) : null;
MessageNewRes msg = CollectionUtils.isNotEmpty(result.getData()) ? result.getData().get(0) : null;
return GeneralMessageOldDataStatisticResponse.builder()
.unreadCount(count)
.latestMsgSendTimestamp(Optional.ofNullable(msg).map(v -> v.getCreateAt().getTime()).orElse(null))
@ -146,7 +146,7 @@ public class GeneralMessageServiceImpl implements GeneralMessageService {
GeneralMessagePushVO message = convert(record, template);
MessageInfo msgInfo = new MessageInfo();
msgInfo.setAppTypeList(appTypes);
msgInfo.setToPersonIdList(Lists.newArrayList(messageRecords.stream()
msgInfo.setToPersonIdList(Sets.newHashSet(messageRecords.stream()
.map(e -> String.valueOf(e.getReceiverPersonId()))
.collect(Collectors.toSet())));
msgInfo.setMsgHeader(record.getTitle());

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.service.general.client;
import cn.axzo.core.domain.PageResult;
import cn.axzo.msg.center.api.request.CmsMsgQueryReq;
import cn.axzo.msg.center.api.response.MessageNewRes;
import cn.axzo.msg.center.service.general.client.fallback.GeneralMessageClientFallback;
@ -7,7 +8,6 @@ import cn.axzo.msg.center.service.general.request.GeneralMessageOldDataStatistic
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 org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
@ -64,5 +64,5 @@ public interface GeneralMessageClient {
* @return 旧消息的分页列表
*/
@PostMapping(value = "/general-message/old-data/page", produces = {MediaType.APPLICATION_JSON_VALUE})
CommonResponse<Page<MessageNewRes>> pageQueryOldMessage(@RequestBody @Valid CmsMsgQueryReq request);
CommonResponse<PageResult<MessageNewRes>> pageQueryOldMessage(@RequestBody @Valid CmsMsgQueryReq request);
}

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.service.general.client.fallback;
import cn.axzo.core.domain.PageResult;
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;
@ -7,7 +8,6 @@ import cn.axzo.msg.center.service.general.request.GeneralMessageOldDataStatistic
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;
@ -40,7 +40,7 @@ public class GeneralMessageClientFallback implements GeneralMessageClient {
}
@Override
public CommonResponse<Page<MessageNewRes>> pageQueryOldMessage(CmsMsgQueryReq request) {
public CommonResponse<PageResult<MessageNewRes>> pageQueryOldMessage(CmsMsgQueryReq request) {
log.error("fall back while statistic old message. request:{}", request);
return CommonResponse.error("fall back while statistic old message");
}