feat(REQ-1138): 管理端App改版
背景: https://jira.axzo.cn/browse/REQ-1138?goToView=7 修改: 新增代办分页查询的接口 影响: 无
This commit is contained in:
parent
d2f4811670
commit
4e97cc369d
@ -3,12 +3,14 @@ package cn.axzo.msg.center.inside.notices.controller.pending;
|
||||
import cn.axzo.msg.center.api.PendingMessageServiceApi;
|
||||
import cn.axzo.msg.center.api.request.PendingMessagePageReq;
|
||||
import cn.axzo.msg.center.api.request.PendingMessageTemporarilyStatisticReq;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageBriefRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyTypeRes;
|
||||
import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
|
||||
import cn.axzo.msg.center.inside.notices.service.PendingMessageService;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -48,4 +50,9 @@ public class PendingMessageStatisticController implements PendingMessageServiceA
|
||||
return CommonResponse.success(pendingMessageService.listTemporarilyTypes());
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Page<PendingMessageBriefRes>> pageQuery(PendingMessagePageReq request) {
|
||||
return CommonResponse.success(pendingMessageService.pageQuery(request));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,9 +2,11 @@ package cn.axzo.msg.center.inside.notices.service;
|
||||
|
||||
import cn.axzo.msg.center.api.request.PendingMessagePageReq;
|
||||
import cn.axzo.msg.center.api.request.PendingMessageTemporarilyStatisticReq;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageBriefRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyTypeRes;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -40,4 +42,12 @@ public interface PendingMessageService {
|
||||
* @return 待办消息临时分类的列表
|
||||
*/
|
||||
List<PendingMessageTemporarilyTypeRes> listTemporarilyTypes();
|
||||
|
||||
/**
|
||||
* 分页查询代办消息
|
||||
*
|
||||
* @param request 查询条件
|
||||
* @return 符合条件的代办消息数量
|
||||
*/
|
||||
Page<PendingMessageBriefRes> pageQuery(PendingMessagePageReq request);
|
||||
}
|
||||
|
||||
@ -26,9 +26,11 @@ import cn.axzo.msg.center.inside.notices.service.MessageRouterService;
|
||||
import cn.axzo.msg.center.inside.notices.service.PendingMessageService;
|
||||
import cn.axzo.msg.center.notices.common.enums.ReturnCodeEnum;
|
||||
import cn.axzo.msg.center.notices.common.exception.BizException;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import jodd.util.concurrent.ThreadFactoryBuilder;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -180,6 +182,31 @@ public class PendingMessageServiceImpl implements PendingMessageService {
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<PendingMessageBriefRes> pageQuery(PendingMessagePageReq request) {
|
||||
IPage<MessageRecord> page = request.toPage();
|
||||
// 获取数据冷热隔离的分界
|
||||
final LocalDateTime queryFrom = getQueryFromTime();
|
||||
Set<Long> relationIds = Optional.ofNullable(request.getModuleId()).map(Sets::newHashSet).orElse(null);
|
||||
// 这里对前端未传入参的情况做一个兜底
|
||||
Collection<MsgStateEnum> msgStates = CollectionUtils.isEmpty(request.getStates()) ? ALL_WITHOUT_UNSENT :
|
||||
request.getStates();
|
||||
// 分页查询message_record的数据
|
||||
page = page(request.getPersonId(), request.getIdentifyId(), request.getIdentifyTypes(), relationIds,
|
||||
msgStates, queryFrom, page);
|
||||
if (CollectionUtils.isEmpty(page.getRecords())) {
|
||||
// 列表为空的场景
|
||||
return Page.toPage(page.getCurrent(), page.getSize(), page.getTotal(), Collections.emptyList());
|
||||
}
|
||||
// 查询消息对应的路由集
|
||||
Map<Long, MessageRouterInfoRes> routerMap = listRouters(page.getRecords(), request.getSystemType());
|
||||
// 原始的数据库模型数据转化为页面展示的数据模型
|
||||
List<PendingMessageBriefRes> msgRecordBriefs = page.getRecords().stream()
|
||||
.map(e -> convert(e, null, routerMap))
|
||||
.collect(Collectors.toList());
|
||||
return Page.toPage(page.getCurrent(), page.getSize(), page.getTotal(), msgRecordBriefs);
|
||||
}
|
||||
|
||||
private PendingMessageTemporarilyStatisticRes statisticAndPickFirst(PendingMessageTemporarilyStatisticReq request,
|
||||
MsgTempBizCategoryConfig categoryConfig,
|
||||
Collection<ReceiveTypeEnum> identifyTypes,
|
||||
@ -247,7 +274,9 @@ public class PendingMessageServiceImpl implements PendingMessageService {
|
||||
Map<Long, MessageRouterInfoRes> routerMap) {
|
||||
PendingMessageBriefRes msgBrief = BeanConvertUtils.copyBean(record, PendingMessageBriefRes.class);
|
||||
msgBrief.setMsgId(record.getId());
|
||||
msgBrief.setTempBizCategory(getTempCategory(record.getRelationId(), categoryConfigs));
|
||||
if (CollectionUtils.isNotEmpty(categoryConfigs)) {
|
||||
msgBrief.setTempBizCategory(getTempCategory(record.getRelationId(), categoryConfigs));
|
||||
}
|
||||
msgBrief.setRouter(routerMap.get(record.getId()));
|
||||
msgBrief.setCreateTimestamp(Optional.ofNullable(record.getCreateAt()).map(Date::getTime).orElse(0L));
|
||||
return msgBrief;
|
||||
|
||||
@ -3,10 +3,12 @@ package cn.axzo.msg.center.api;
|
||||
import cn.axzo.msg.center.api.fallback.PendingMessageServiceApiFallBack;
|
||||
import cn.axzo.msg.center.api.request.PendingMessagePageReq;
|
||||
import cn.axzo.msg.center.api.request.PendingMessageTemporarilyStatisticReq;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageBriefRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyTypeRes;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -56,4 +58,13 @@ public interface PendingMessageServiceApi {
|
||||
*/
|
||||
@PostMapping("api/message/pending-msg/temporary-type/list")
|
||||
CommonResponse<List<PendingMessageTemporarilyTypeRes>> listTemporarilyTypes();
|
||||
|
||||
/**
|
||||
* 分页查询代办消息
|
||||
*
|
||||
* @param request 分页查询的入参
|
||||
* @return 符合条件的待办消息
|
||||
*/
|
||||
@PostMapping("api/message/pending-msg/page")
|
||||
CommonResponse<Page<PendingMessageBriefRes>> pageQuery(@RequestBody PendingMessagePageReq request);
|
||||
}
|
||||
|
||||
@ -3,10 +3,12 @@ package cn.axzo.msg.center.api.fallback;
|
||||
import cn.axzo.msg.center.api.PendingMessageServiceApi;
|
||||
import cn.axzo.msg.center.api.request.PendingMessagePageReq;
|
||||
import cn.axzo.msg.center.api.request.PendingMessageTemporarilyStatisticReq;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageBriefRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyStatisticRes;
|
||||
import cn.axzo.msg.center.api.response.PendingMessageTemporarilyTypeRes;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -43,4 +45,10 @@ public class PendingMessageServiceApiFallBack implements PendingMessageServiceAp
|
||||
log.error("调用列表查询待办消息临时分类的接口时发送异常......");
|
||||
return CommonResponse.error("调用列表查询待办消息临时分类的接口时发送异常");
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Page<PendingMessageBriefRes>> pageQuery(PendingMessagePageReq request) {
|
||||
log.error("调用分页查询待办消息接口时发送异常......");
|
||||
return CommonResponse.error("调用分页查询待办消息接口时发送异常");
|
||||
}
|
||||
}
|
||||
|
||||
@ -52,6 +52,9 @@ public class PendingMessagePageReq extends PageRequest implements Serializable {
|
||||
/**
|
||||
* 系统类型
|
||||
*/
|
||||
@NotNull(message = "systemType is required")
|
||||
private String systemType;
|
||||
/**
|
||||
* 模板id
|
||||
*/
|
||||
private Long moduleId;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user