Merge branch 'feature/REQ-1465' of axzsource.com:universal/infrastructure/backend/msg-center-plat into dev
This commit is contained in:
commit
4c0077e74f
@ -41,8 +41,7 @@ public class MessageTemplateController implements MessageTemplateClient {
|
||||
|
||||
@Override
|
||||
public CommonResponse<MessageTemplateDetailResponse> detail(String templateCode) {
|
||||
// TODO:[cold_blade] [P0] query template
|
||||
return null;
|
||||
return CommonResponse.success(messageTemplateNewService.detail(templateCode));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -82,6 +82,15 @@ public class RawMessageRouterDTO implements Serializable {
|
||||
.build();
|
||||
}
|
||||
|
||||
public MessageRouterButtonDTO toMessageRouterButton() {
|
||||
return MessageRouterButtonDTO.builder()
|
||||
.desc(this.desc)
|
||||
.category(this.category)
|
||||
.terminals(this.terminals)
|
||||
.style(this.style)
|
||||
.build();
|
||||
}
|
||||
|
||||
public List<MessageTemplateRouter> toMessageTemplateRouters() {
|
||||
return this.terminals.stream()
|
||||
.map(this::convert)
|
||||
|
||||
@ -3,6 +3,7 @@ package cn.axzo.msg.center.message.service;
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
|
||||
import cn.axzo.msg.center.message.domain.param.MessageTemplateCreateParam;
|
||||
import cn.axzo.msg.center.service.template.request.MessageTemplatePageRequest;
|
||||
import cn.axzo.msg.center.service.template.response.MessageTemplateDetailResponse;
|
||||
import cn.axzo.msg.center.service.template.response.MessageTemplatePageResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
|
||||
@ -25,6 +26,14 @@ public interface MessageTemplateNewService {
|
||||
*/
|
||||
String createTemplate(MessageTemplateCreateParam param);
|
||||
|
||||
/**
|
||||
* 通过模板便阿门查询模板详情
|
||||
*
|
||||
* @param templateCode 模板编码
|
||||
* @return 模板详情信息
|
||||
*/
|
||||
MessageTemplateDetailResponse detail(String templateCode);
|
||||
|
||||
/**
|
||||
* 通过模板编码查询模板信息
|
||||
*
|
||||
|
||||
@ -2,10 +2,12 @@ package cn.axzo.msg.center.message.service.impl;
|
||||
|
||||
import cn.axzo.basics.common.util.AssertUtil;
|
||||
import cn.axzo.msg.center.common.enums.ServiceErrorCodeEnum;
|
||||
import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.msg.center.common.redis.RedisUtil;
|
||||
import cn.axzo.msg.center.common.utils.PageHelperUtil;
|
||||
import cn.axzo.msg.center.dal.MessageBaseTemplateDao;
|
||||
import cn.axzo.msg.center.domain.entity.MessageBaseTemplate;
|
||||
import cn.axzo.msg.center.message.domain.dto.GroupTreeNodePathDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO;
|
||||
import cn.axzo.msg.center.message.domain.param.MessageTemplateCreateParam;
|
||||
@ -13,11 +15,15 @@ import cn.axzo.msg.center.message.service.MessageGroupNodeService;
|
||||
import cn.axzo.msg.center.message.service.MessageTemplateGroupService;
|
||||
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
||||
import cn.axzo.msg.center.message.service.MessageTemplateRouterService;
|
||||
import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO;
|
||||
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
|
||||
import cn.axzo.msg.center.service.template.request.MessageTemplatePageRequest;
|
||||
import cn.axzo.msg.center.service.template.response.MessageTemplateDetailResponse;
|
||||
import cn.axzo.msg.center.service.template.response.MessageTemplatePageResponse;
|
||||
import cn.axzo.msg.center.utils.JSONObjectUtil;
|
||||
import cn.axzo.msg.center.utils.UUIDUtil;
|
||||
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 lombok.RequiredArgsConstructor;
|
||||
@ -69,6 +75,26 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
return templateCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MessageTemplateDetailResponse detail(String templateCode) {
|
||||
if (StringUtils.isBlank(templateCode)) {
|
||||
return null;
|
||||
}
|
||||
MessageBaseTemplate baseTemplate = messageBaseTemplateDao.lambdaQuery()
|
||||
.eq(MessageBaseTemplate::getCode, templateCode)
|
||||
.eq(MessageBaseTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.one();
|
||||
if (Objects.isNull(baseTemplate)) {
|
||||
log.info("there is not any template match the templateCode:[{}]", templateCode);
|
||||
return null;
|
||||
}
|
||||
// 获取模板关联分类的path列表
|
||||
List<String> groupNodePaths = messageTemplateGroupService.listMessageTemplateGroupPaths(
|
||||
Lists.newArrayList(templateCode)).getOrDefault(templateCode, Collections.emptyList());
|
||||
List<RawMessageRouterDTO> routers = messageTemplateRouterService.queryByTemplateCode(templateCode);
|
||||
return convert(baseTemplate, groupNodePaths, routers);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<MessageTemplateDTO> queryByTemplateCode(String msgTemplateCode) {
|
||||
if (StringUtils.isBlank(msgTemplateCode)) {
|
||||
@ -202,6 +228,16 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
return template;
|
||||
}
|
||||
|
||||
private void saveTemplateRouters(MessageTemplateCreateParam param, String templateCode) {
|
||||
if (CollectionUtils.isEmpty(param.getRouters())) {
|
||||
return;
|
||||
}
|
||||
List<RawMessageRouterDTO> routers = param.getRouters().stream()
|
||||
.map(e -> RawMessageRouterDTO.from(e, templateCode))
|
||||
.collect(Collectors.toList());
|
||||
messageTemplateRouterService.batchInsert(routers);
|
||||
}
|
||||
|
||||
private MessageTemplatePageResponse convert(MessageBaseTemplate record, Map<String, List<String>> groupNodePaths,
|
||||
Map<String, String> codeNameMap) {
|
||||
MessageTemplatePageResponse response = new MessageTemplatePageResponse();
|
||||
@ -219,13 +255,28 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
return response;
|
||||
}
|
||||
|
||||
private void saveTemplateRouters(MessageTemplateCreateParam param, String templateCode) {
|
||||
if (CollectionUtils.isEmpty(param.getRouters())) {
|
||||
return;
|
||||
}
|
||||
List<RawMessageRouterDTO> routers = param.getRouters().stream()
|
||||
.map(e -> RawMessageRouterDTO.from(e, templateCode))
|
||||
private MessageTemplateDetailResponse convert(MessageBaseTemplate record, List<String> groupNodePaths,
|
||||
List<RawMessageRouterDTO> routers) {
|
||||
// 将path解析中解析出分类结点(路径叶结点)的编码
|
||||
List<String> groupNodeCodes = groupNodePaths.stream()
|
||||
.map(GroupTreeNodePathDTO::parseLeafNodeCode)
|
||||
.collect(Collectors.toList());
|
||||
messageTemplateRouterService.batchInsert(routers);
|
||||
// 转化为页面相关的数据模型
|
||||
List<MessageRouterButtonDTO> routerButtons = routers.stream()
|
||||
.map(RawMessageRouterDTO::toMessageRouterButton)
|
||||
.collect(Collectors.toList());
|
||||
return MessageTemplateDetailResponse.builder()
|
||||
.templateName(record.getName())
|
||||
.category(record.getMsgCategory())
|
||||
.leafGroupNodes(groupNodeCodes)
|
||||
.pushTerminals(JSON.parseArray(record.getPushTerminal(), PushTerminalEnum.class))
|
||||
.msgTitle(record.getTitle())
|
||||
.msgContent(record.getContent())
|
||||
.msgCardInfo(record.getCardContent())
|
||||
.msgIcon(record.getIcon())
|
||||
.routers(routerButtons)
|
||||
.createTimestamp(record.getCreateAt().getTime())
|
||||
.updateTimestamp(record.getUpdateAt().getTime())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,7 +41,6 @@ public class MessageTemplateDetailResponse implements Serializable {
|
||||
/**
|
||||
* 消息分类树的叶结点的结点编码列表
|
||||
*/
|
||||
@NotEmpty(message = "leafGroupNodes is required")
|
||||
private List<String> leafGroupNodes;
|
||||
/**
|
||||
* 推送终端配置
|
||||
@ -69,6 +68,14 @@ public class MessageTemplateDetailResponse implements Serializable {
|
||||
* 路由策略列表
|
||||
*/
|
||||
private List<MessageRouterButtonDTO> routers;
|
||||
/**
|
||||
* 模板创建时间戳
|
||||
*/
|
||||
private Long createTimestamp;
|
||||
/**
|
||||
* 模板更新时间戳
|
||||
*/
|
||||
private Long updateTimestamp;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user