Merge branch 'feature/REQ-1465' of axzsource.com:universal/infrastructure/backend/msg-center-plat into dev
This commit is contained in:
commit
cc87013d2e
@ -1,6 +1,6 @@
|
|||||||
package cn.axzo.msg.center.message.controller;
|
package cn.axzo.msg.center.message.controller;
|
||||||
|
|
||||||
import cn.axzo.msg.center.message.domain.param.MessageTemplateCreateParam;
|
import cn.axzo.msg.center.message.domain.param.MessageTemplateSaveOrUpdateParam;
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
||||||
import cn.axzo.msg.center.service.template.client.MessageTemplateClient;
|
import cn.axzo.msg.center.service.template.client.MessageTemplateClient;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateCreateRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateCreateRequest;
|
||||||
@ -30,13 +30,13 @@ public class MessageTemplateController implements MessageTemplateClient {
|
|||||||
@Override
|
@Override
|
||||||
public CommonResponse<String> save(MessageTemplateCreateRequest request) {
|
public CommonResponse<String> save(MessageTemplateCreateRequest request) {
|
||||||
return CommonResponse.success(
|
return CommonResponse.success(
|
||||||
messageTemplateNewService.createTemplate(MessageTemplateCreateParam.from(request)));
|
messageTemplateNewService.createTemplate(MessageTemplateSaveOrUpdateParam.from(request)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<Void> update(MessageTemplateUpdateRequest request) {
|
public CommonResponse<Void> update(MessageTemplateUpdateRequest request) {
|
||||||
// TODO:[cold_blade] [P0] update template
|
messageTemplateNewService.updateTemplate(MessageTemplateSaveOrUpdateParam.from(request));
|
||||||
return null;
|
return CommonResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -51,7 +51,7 @@ public class MessageTemplateController implements MessageTemplateClient {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<Void> updateStatus(MessageTemplateUpdateStatusRequest request) {
|
public CommonResponse<Void> updateStatus(MessageTemplateUpdateStatusRequest request) {
|
||||||
// TODO:[cold_blade] [P0] update template status
|
messageTemplateNewService.updateStatus(request.getOperatorId(), request.getTemplateCode(), request.getStatus());
|
||||||
return null;
|
return CommonResponse.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO;
|
|||||||
import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
|
import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
|
||||||
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
|
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateCreateRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateCreateRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateUpdateRequest;
|
||||||
import cn.axzo.msg.center.utils.JSONObjectUtil;
|
import cn.axzo.msg.center.utils.JSONObjectUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@ -27,7 +28,7 @@ import java.util.List;
|
|||||||
@Builder
|
@Builder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class MessageTemplateCreateParam implements Serializable {
|
public class MessageTemplateSaveOrUpdateParam implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 6657624182580261353L;
|
private static final long serialVersionUID = 6657624182580261353L;
|
||||||
|
|
||||||
@ -35,6 +36,10 @@ public class MessageTemplateCreateParam implements Serializable {
|
|||||||
* 模板名称
|
* 模板名称
|
||||||
*/
|
*/
|
||||||
private String templateName;
|
private String templateName;
|
||||||
|
/**
|
||||||
|
* 模板编码
|
||||||
|
*/
|
||||||
|
private String templateCode;
|
||||||
/**
|
/**
|
||||||
* 消息分类树的叶结点的结点编码列表
|
* 消息分类树的叶结点的结点编码列表
|
||||||
*/
|
*/
|
||||||
@ -76,8 +81,8 @@ public class MessageTemplateCreateParam implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private List<PushTerminalEnum> pushTerminals;
|
private List<PushTerminalEnum> pushTerminals;
|
||||||
|
|
||||||
public static MessageTemplateCreateParam from(MessageTemplateCreateRequest request) {
|
public static MessageTemplateSaveOrUpdateParam from(MessageTemplateCreateRequest request) {
|
||||||
return MessageTemplateCreateParam.builder()
|
return MessageTemplateSaveOrUpdateParam.builder()
|
||||||
.templateName(request.getTemplateName())
|
.templateName(request.getTemplateName())
|
||||||
.msgCategory(request.getCategory())
|
.msgCategory(request.getCategory())
|
||||||
.leafGroupNodes(request.getLeafGroupNodes())
|
.leafGroupNodes(request.getLeafGroupNodes())
|
||||||
@ -91,6 +96,21 @@ public class MessageTemplateCreateParam implements Serializable {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static MessageTemplateSaveOrUpdateParam from(MessageTemplateUpdateRequest request) {
|
||||||
|
return MessageTemplateSaveOrUpdateParam.builder()
|
||||||
|
.templateName(request.getTemplateName())
|
||||||
|
.templateCode(request.getTemplateCode())
|
||||||
|
.leafGroupNodes(request.getLeafGroupNodes())
|
||||||
|
.title(request.getMsgTitle())
|
||||||
|
.content(request.getMsgContent())
|
||||||
|
.cardContent(JSONObjectUtil.checkAndReturn(request.getMsgCardInfo()))
|
||||||
|
.icon(request.getMsgIcon())
|
||||||
|
.operatorId(request.getOperatorId())
|
||||||
|
.routers(request.getRouters())
|
||||||
|
.pushTerminals(request.getPushTerminals())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return JSON.toJSONString(this);
|
return JSON.toJSONString(this);
|
||||||
@ -29,6 +29,21 @@ public interface MessageTemplateGroupService {
|
|||||||
*/
|
*/
|
||||||
void templateGroup(String templateNode, Collection<String> groupNodeCodes);
|
void templateGroup(String templateNode, Collection<String> groupNodeCodes);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新模板的分类关系
|
||||||
|
*
|
||||||
|
* @param templateNode 模板编码
|
||||||
|
* @param groupNodeCodes 新的模板的分类结点编码
|
||||||
|
*/
|
||||||
|
void updateTemplateGroup(String templateNode, Collection<String> groupNodeCodes);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 解除模板关联的分类
|
||||||
|
*
|
||||||
|
* @param templateNode 模板编码
|
||||||
|
*/
|
||||||
|
void deleteTemplateGroup(String templateNode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过消息模板编码查询其关联的分类的path
|
* 通过消息模板编码查询其关联的分类的path
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
package cn.axzo.msg.center.message.service;
|
package cn.axzo.msg.center.message.service;
|
||||||
|
|
||||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
|
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
|
||||||
import cn.axzo.msg.center.message.domain.param.MessageTemplateCreateParam;
|
import cn.axzo.msg.center.message.domain.param.MessageTemplateSaveOrUpdateParam;
|
||||||
|
import cn.axzo.msg.center.service.enums.StatusEnum;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplatePageRequest;
|
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.MessageTemplateDetailResponse;
|
||||||
import cn.axzo.msg.center.service.template.response.MessageTemplatePageResponse;
|
import cn.axzo.msg.center.service.template.response.MessageTemplatePageResponse;
|
||||||
@ -24,7 +25,14 @@ public interface MessageTemplateNewService {
|
|||||||
*
|
*
|
||||||
* @param param 模板内容参数
|
* @param param 模板内容参数
|
||||||
*/
|
*/
|
||||||
String createTemplate(MessageTemplateCreateParam param);
|
String createTemplate(MessageTemplateSaveOrUpdateParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑模板
|
||||||
|
*
|
||||||
|
* @param param 模板内容参数
|
||||||
|
*/
|
||||||
|
void updateTemplate(MessageTemplateSaveOrUpdateParam param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过模板便阿门查询模板详情
|
* 通过模板便阿门查询模板详情
|
||||||
@ -34,6 +42,15 @@ public interface MessageTemplateNewService {
|
|||||||
*/
|
*/
|
||||||
MessageTemplateDetailResponse detail(String templateCode);
|
MessageTemplateDetailResponse detail(String templateCode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新模板状态
|
||||||
|
*
|
||||||
|
* @param operatorId 操作人id
|
||||||
|
* @param templateCode 模板编码
|
||||||
|
* @param status 新的模板状态
|
||||||
|
*/
|
||||||
|
void updateStatus(Long operatorId, String templateCode, StatusEnum status);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过模板编码查询模板信息
|
* 通过模板编码查询模板信息
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package cn.axzo.msg.center.message.service;
|
package cn.axzo.msg.center.message.service;
|
||||||
|
|
||||||
import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO;
|
import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO;
|
||||||
|
import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -30,6 +31,14 @@ public interface MessageTemplateRouterService {
|
|||||||
*/
|
*/
|
||||||
void batchInsert(List<RawMessageRouterDTO> routers);
|
void batchInsert(List<RawMessageRouterDTO> routers);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新模板的路由信息
|
||||||
|
*
|
||||||
|
* @param templateCode 模板编码
|
||||||
|
* @param routers 路由列表
|
||||||
|
*/
|
||||||
|
void updateTemplateRoutes(String templateCode, List<MessageRouterButtonDTO> routers);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据消息模板编码查询配置的路由列表
|
* 根据消息模板编码查询配置的路由列表
|
||||||
*
|
*
|
||||||
|
|||||||
@ -48,6 +48,7 @@ public class MessageTemplateGroupServiceImpl implements MessageTemplateGroupServ
|
|||||||
public void templateGroup(String templateNode, Collection<String> groupNodeCodes) {
|
public void templateGroup(String templateNode, Collection<String> groupNodeCodes) {
|
||||||
if (StringUtils.isBlank(templateNode)
|
if (StringUtils.isBlank(templateNode)
|
||||||
|| CollectionUtils.isEmpty(groupNodeCodes)) {
|
|| CollectionUtils.isEmpty(groupNodeCodes)) {
|
||||||
|
log.info("the param is invalid. templateNode:[{}], groupNodeCodes:{}", templateNode, groupNodeCodes);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Map<String, String> pathMap = messageGroupNodeService.leafGroupNodeCodePaths(groupNodeCodes);
|
Map<String, String> pathMap = messageGroupNodeService.leafGroupNodeCodePaths(groupNodeCodes);
|
||||||
@ -62,6 +63,26 @@ public class MessageTemplateGroupServiceImpl implements MessageTemplateGroupServ
|
|||||||
messageTemplateGroupDao.saveBatch(rows);
|
messageTemplateGroupDao.saveBatch(rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateTemplateGroup(String templateNode, Collection<String> groupNodeCodes) {
|
||||||
|
// 先解除之前的关联关系
|
||||||
|
deleteTemplateGroup(templateNode);
|
||||||
|
// 构建新的关联关系
|
||||||
|
templateGroup(templateNode, groupNodeCodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteTemplateGroup(String templateNode) {
|
||||||
|
if (StringUtils.isBlank(templateNode)) {
|
||||||
|
log.info("the templateNode is blank.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
messageTemplateGroupDao.lambdaUpdate()
|
||||||
|
.eq(MessageTemplateGroup::getTemplateCode, templateNode)
|
||||||
|
.eq(MessageTemplateGroup::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.remove();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<String>> listMessageTemplateGroupPaths(Collection<String> templateCodes) {
|
public Map<String, List<String>> listMessageTemplateGroupPaths(Collection<String> templateCodes) {
|
||||||
if (CollectionUtils.isEmpty(templateCodes)) {
|
if (CollectionUtils.isEmpty(templateCodes)) {
|
||||||
|
|||||||
@ -10,13 +10,14 @@ 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.GroupTreeNodePathDTO;
|
||||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
|
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.dto.RawMessageRouterDTO;
|
||||||
import cn.axzo.msg.center.message.domain.param.MessageTemplateCreateParam;
|
import cn.axzo.msg.center.message.domain.param.MessageTemplateSaveOrUpdateParam;
|
||||||
import cn.axzo.msg.center.message.service.MessageGroupNodeService;
|
import cn.axzo.msg.center.message.service.MessageGroupNodeService;
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateGroupService;
|
import cn.axzo.msg.center.message.service.MessageTemplateGroupService;
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateRouterService;
|
import cn.axzo.msg.center.message.service.MessageTemplateRouterService;
|
||||||
import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO;
|
import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO;
|
||||||
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
|
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
|
||||||
|
import cn.axzo.msg.center.service.enums.StatusEnum;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplatePageRequest;
|
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.MessageTemplateDetailResponse;
|
||||||
import cn.axzo.msg.center.service.template.response.MessageTemplatePageResponse;
|
import cn.axzo.msg.center.service.template.response.MessageTemplatePageResponse;
|
||||||
@ -65,7 +66,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String createTemplate(MessageTemplateCreateParam param) {
|
public String createTemplate(MessageTemplateSaveOrUpdateParam param) {
|
||||||
// 创建模板基础数据
|
// 创建模板基础数据
|
||||||
String templateCode = saveTemplate(param);
|
String templateCode = saveTemplate(param);
|
||||||
// 创建模板的路由数据
|
// 创建模板的路由数据
|
||||||
@ -75,6 +76,17 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
|||||||
return templateCode;
|
return templateCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void updateTemplate(MessageTemplateSaveOrUpdateParam param) {
|
||||||
|
// 更新模板基础数据
|
||||||
|
updateBaseTemplate(param);
|
||||||
|
// 更新模板分类信息
|
||||||
|
updateTemplateGroupRelation(param);
|
||||||
|
// 更新模板路由信息
|
||||||
|
updateTemplateRouters(param);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MessageTemplateDetailResponse detail(String templateCode) {
|
public MessageTemplateDetailResponse detail(String templateCode) {
|
||||||
if (StringUtils.isBlank(templateCode)) {
|
if (StringUtils.isBlank(templateCode)) {
|
||||||
@ -95,6 +107,20 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
|||||||
return convert(baseTemplate, groupNodePaths, routers);
|
return convert(baseTemplate, groupNodePaths, routers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateStatus(Long operatorId, String templateCode, StatusEnum status) {
|
||||||
|
if (Objects.isNull(operatorId) || StringUtils.isBlank(templateCode) || Objects.isNull(status)) {
|
||||||
|
log.info("the param is invalid. operatorId:[{}], code:[{}], status:[{}]", operatorId, templateCode, status);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
messageBaseTemplateDao.lambdaUpdate()
|
||||||
|
.eq(MessageBaseTemplate::getCode, templateCode)
|
||||||
|
.eq(MessageBaseTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.set(MessageBaseTemplate::getStatus, status)
|
||||||
|
.set(MessageBaseTemplate::getUpdaterId, operatorId)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<MessageTemplateDTO> queryByTemplateCode(String msgTemplateCode) {
|
public Optional<MessageTemplateDTO> queryByTemplateCode(String msgTemplateCode) {
|
||||||
if (StringUtils.isBlank(msgTemplateCode)) {
|
if (StringUtils.isBlank(msgTemplateCode)) {
|
||||||
@ -176,7 +202,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
|||||||
return Page.toPage(request.getPage(), request.getPageSize(), result.getTotal(), records);
|
return Page.toPage(request.getPage(), request.getPageSize(), result.getTotal(), records);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String saveTemplate(MessageTemplateCreateParam param) {
|
private String saveTemplate(MessageTemplateSaveOrUpdateParam param) {
|
||||||
String templateCode = UUIDUtil.uuidString();
|
String templateCode = UUIDUtil.uuidString();
|
||||||
MessageBaseTemplate template = convert(param);
|
MessageBaseTemplate template = convert(param);
|
||||||
boolean result = doSaveTemplate(template, templateCode);
|
boolean result = doSaveTemplate(template, templateCode);
|
||||||
@ -214,7 +240,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
|||||||
.count() > 0;
|
.count() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private MessageBaseTemplate convert(MessageTemplateCreateParam param) {
|
private MessageBaseTemplate convert(MessageTemplateSaveOrUpdateParam param) {
|
||||||
MessageBaseTemplate template = new MessageBaseTemplate();
|
MessageBaseTemplate template = new MessageBaseTemplate();
|
||||||
template.setName(param.getTemplateName());
|
template.setName(param.getTemplateName());
|
||||||
template.setMsgCategory(param.getMsgCategory());
|
template.setMsgCategory(param.getMsgCategory());
|
||||||
@ -228,7 +254,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
|||||||
return template;
|
return template;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveTemplateRouters(MessageTemplateCreateParam param, String templateCode) {
|
private void saveTemplateRouters(MessageTemplateSaveOrUpdateParam param, String templateCode) {
|
||||||
if (CollectionUtils.isEmpty(param.getRouters())) {
|
if (CollectionUtils.isEmpty(param.getRouters())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -238,6 +264,37 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
|||||||
messageTemplateRouterService.batchInsert(routers);
|
messageTemplateRouterService.batchInsert(routers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateBaseTemplate(MessageTemplateSaveOrUpdateParam param) {
|
||||||
|
messageBaseTemplateDao.lambdaUpdate()
|
||||||
|
.eq(MessageBaseTemplate::getCode, param.getTemplateCode())
|
||||||
|
.eq(MessageBaseTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.set(MessageBaseTemplate::getUpdaterId, param.getOperatorId())
|
||||||
|
.set(StringUtils.isNotBlank(param.getTemplateName()), MessageBaseTemplate::getName,
|
||||||
|
param.getTemplateName())
|
||||||
|
.set(CollectionUtils.isNotEmpty(param.getPushTerminals()), MessageBaseTemplate::getPushTerminal,
|
||||||
|
param.getPushTerminals())
|
||||||
|
.set(StringUtils.isNotBlank(param.getTitle()), MessageBaseTemplate::getTitle, param.getTitle())
|
||||||
|
.set(StringUtils.isNotBlank(param.getCardContent()), MessageBaseTemplate::getCardContent,
|
||||||
|
param.getCardContent())
|
||||||
|
.set(StringUtils.isNotBlank(param.getContent()), MessageBaseTemplate::getContent, param.getContent())
|
||||||
|
.set(StringUtils.isNotBlank(param.getIcon()), MessageBaseTemplate::getIcon, param.getIcon())
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTemplateGroupRelation(MessageTemplateSaveOrUpdateParam param) {
|
||||||
|
if (CollectionUtils.isEmpty(param.getLeafGroupNodes())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
messageTemplateGroupService.updateTemplateGroup(param.getTemplateCode(), param.getLeafGroupNodes());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTemplateRouters(MessageTemplateSaveOrUpdateParam param) {
|
||||||
|
if (CollectionUtils.isEmpty(param.getRouters())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
messageTemplateRouterService.updateTemplateRoutes(param.getTemplateCode(), param.getRouters());
|
||||||
|
}
|
||||||
|
|
||||||
private MessageTemplatePageResponse convert(MessageBaseTemplate record, Map<String, List<String>> groupNodePaths,
|
private MessageTemplatePageResponse convert(MessageBaseTemplate record, Map<String, List<String>> groupNodePaths,
|
||||||
Map<String, String> codeNameMap) {
|
Map<String, String> codeNameMap) {
|
||||||
MessageTemplatePageResponse response = new MessageTemplatePageResponse();
|
MessageTemplatePageResponse response = new MessageTemplatePageResponse();
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
package cn.axzo.msg.center.message.service.impl;
|
package cn.axzo.msg.center.message.service.impl;
|
||||||
|
|
||||||
|
import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
|
||||||
import cn.axzo.msg.center.dal.MessageTemplateRouterDao;
|
import cn.axzo.msg.center.dal.MessageTemplateRouterDao;
|
||||||
import cn.axzo.msg.center.domain.entity.MessageTemplateRouter;
|
import cn.axzo.msg.center.domain.entity.MessageTemplateRouter;
|
||||||
import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO;
|
import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO;
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateRouterService;
|
import cn.axzo.msg.center.message.service.MessageTemplateRouterService;
|
||||||
|
import cn.axzo.msg.center.service.dto.MessageRouterButtonDTO;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -50,6 +52,25 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
|
|||||||
messageTemplateRouterDao.saveBatch(messageTemplateRouters);
|
messageTemplateRouterDao.saveBatch(messageTemplateRouters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateTemplateRoutes(String templateCode, List<MessageRouterButtonDTO> routers) {
|
||||||
|
if (StringUtils.isBlank(templateCode)
|
||||||
|
|| CollectionUtils.isEmpty(routers)) {
|
||||||
|
log.info("the param is invalid. templateCode:[{}], routers:{}", templateCode, routers);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 移除之前的路由信息
|
||||||
|
messageTemplateRouterDao.lambdaUpdate()
|
||||||
|
.eq(MessageTemplateRouter::getTemplateCode, templateCode)
|
||||||
|
.eq(MessageTemplateRouter::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.remove();
|
||||||
|
// 创建信息的路由信息
|
||||||
|
List<RawMessageRouterDTO> newRouters = routers.stream()
|
||||||
|
.map(e -> RawMessageRouterDTO.from(e, templateCode))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
batchInsert(newRouters);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<RawMessageRouterDTO>> groupByTemplateCode(List<String> templateCodes) {
|
public Map<String, List<RawMessageRouterDTO>> groupByTemplateCode(List<String> templateCodes) {
|
||||||
if (CollectionUtils.isEmpty(templateCodes)) {
|
if (CollectionUtils.isEmpty(templateCodes)) {
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotEmpty;
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -30,15 +29,18 @@ public class MessageTemplateUpdateRequest implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@NotNull(message = "operatorId is required")
|
@NotNull(message = "operatorId is required")
|
||||||
private Long operatorId;
|
private Long operatorId;
|
||||||
|
/**
|
||||||
|
* 模板编码
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "templateCode is required")
|
||||||
|
private String templateCode;
|
||||||
/**
|
/**
|
||||||
* 模板名称
|
* 模板名称
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "templateName is required")
|
|
||||||
private String templateName;
|
private String templateName;
|
||||||
/**
|
/**
|
||||||
* 消息分类树的叶结点的结点编码列表
|
* 消息分类树的叶结点的结点编码列表
|
||||||
*/
|
*/
|
||||||
@NotEmpty(message = "leafGroupNodes is required")
|
|
||||||
private List<String> leafGroupNodes;
|
private List<String> leafGroupNodes;
|
||||||
/**
|
/**
|
||||||
* 推送终端配置
|
* 推送终端配置
|
||||||
@ -49,7 +51,6 @@ public class MessageTemplateUpdateRequest implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 消息标题
|
* 消息标题
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "msgTitle is required")
|
|
||||||
private String msgTitle;
|
private String msgTitle;
|
||||||
/**
|
/**
|
||||||
* 消息卡片信息,JSON字串
|
* 消息卡片信息,JSON字串
|
||||||
@ -58,7 +59,6 @@ public class MessageTemplateUpdateRequest implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 消息内容
|
* 消息内容
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "msgContent is required")
|
|
||||||
private String msgContent;
|
private String msgContent;
|
||||||
/**
|
/**
|
||||||
* 消息图标
|
* 消息图标
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user