Merge remote-tracking branch 'origin/feature/REQ-3045' into feature/REQ-3045
This commit is contained in:
commit
ce862772cd
@ -1,29 +1,27 @@
|
|||||||
package cn.axzo.msg.center.message.controller;
|
package cn.axzo.msg.center.message.controller;
|
||||||
|
|
||||||
import cn.axzo.basics.common.util.AssertUtil;
|
|
||||||
import cn.axzo.msg.center.message.domain.param.MessageTemplateV3SaveOrUpdateParam;
|
import cn.axzo.msg.center.message.domain.param.MessageTemplateV3SaveOrUpdateParam;
|
||||||
import cn.axzo.msg.center.message.domain.param.RelationTemplateMapInitParam;
|
import cn.axzo.msg.center.message.domain.param.RelationTemplateMapInitParam;
|
||||||
import cn.axzo.msg.center.message.domain.vo.RelationTemplateMapInitRequest;
|
import cn.axzo.msg.center.message.domain.vo.RelationTemplateMapInitRequest;
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateNewSyncService;
|
|
||||||
import cn.axzo.msg.center.message.service.MessageTemplateV3Service;
|
import cn.axzo.msg.center.message.service.MessageTemplateV3Service;
|
||||||
import cn.axzo.msg.center.message.service.RelationTemplateMapService;
|
import cn.axzo.msg.center.message.service.RelationTemplateMapService;
|
||||||
|
import cn.axzo.msg.center.message.service.impl.MessageTemplateV3SyncService;
|
||||||
import cn.axzo.msg.center.service.template.client.MessageTemplateV3Client;
|
import cn.axzo.msg.center.service.template.client.MessageTemplateV3Client;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3CreateRequest;
|
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateSyncDto;
|
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateSyncQueryRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateSyncQueryRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3CreateRequest;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3PageRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3PageRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3SyncRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3SyncResponse;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateStatusRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateStatusRequest;
|
||||||
import cn.axzo.msg.center.service.template.response.MessageDetailStyle;
|
import cn.axzo.msg.center.service.template.response.MessageDetailStyle;
|
||||||
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;
|
||||||
import cn.axzo.msg.center.service.template.response.MessageTemplateV3DetailResponse;
|
import cn.axzo.msg.center.service.template.response.MessageTemplateV3DetailResponse;
|
||||||
import cn.axzo.msg.center.service.template.response.MessageTemplateV3PageResponse;
|
import cn.axzo.msg.center.service.template.response.MessageTemplateV3PageResponse;
|
||||||
import cn.azxo.framework.common.model.CommonResponse;
|
import cn.azxo.framework.common.model.CommonResponse;
|
||||||
import cn.azxo.framework.common.model.Page;
|
import cn.azxo.framework.common.model.Page;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -51,7 +49,7 @@ public class MessageTemplateV3Controller implements MessageTemplateV3Client {
|
|||||||
|
|
||||||
private final MessageTemplateNewService messageTemplateNewService;
|
private final MessageTemplateNewService messageTemplateNewService;
|
||||||
private final RelationTemplateMapService relationTemplateMapService;
|
private final RelationTemplateMapService relationTemplateMapService;
|
||||||
private final MessageTemplateNewSyncService messageTemplateNewSyncService;
|
private final MessageTemplateV3SyncService messageTemplateV3SyncService;
|
||||||
private final MessageTemplateV3Service messageTemplateV3Service;
|
private final MessageTemplateV3Service messageTemplateV3Service;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -98,17 +96,6 @@ public class MessageTemplateV3Controller implements MessageTemplateV3Client {
|
|||||||
return CommonResponse.success();
|
return CommonResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public CommonResponse<MessageTemplateSyncDto> getSyncMessageTemplate(
|
|
||||||
MessageTemplateSyncQueryRequest request) {
|
|
||||||
MessageTemplateDetailResponse detail = messageTemplateNewService.querySyncMessageTemplate(request.getTemplateCode());
|
|
||||||
AssertUtil.notNull(detail, "消息模板不存在");
|
|
||||||
MessageTemplateSyncDto result = BeanUtil.copyProperties(detail, MessageTemplateSyncDto.class);
|
|
||||||
result.setTemplateCode(request.getTemplateCode());
|
|
||||||
result.setEnv(request.getEnv());
|
|
||||||
return CommonResponse.success(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<List<MessageDetailStyle>> listTemplateDetailStyles() {
|
public CommonResponse<List<MessageDetailStyle>> listTemplateDetailStyles() {
|
||||||
List<MessageDetailStyle> styles = messageTemplateNewService.listTemplateDetailStyles();
|
List<MessageDetailStyle> styles = messageTemplateNewService.listTemplateDetailStyles();
|
||||||
@ -116,10 +103,16 @@ public class MessageTemplateV3Controller implements MessageTemplateV3Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<Void> syncTemplate(MessageTemplateSyncDto param) {
|
public CommonResponse<MessageTemplateV3SyncResponse>
|
||||||
log.info("syncTemplate param= [{}]", JSONUtil.toJsonStr(param));
|
getSyncMessageTemplate(MessageTemplateSyncQueryRequest request) {
|
||||||
messageTemplateNewSyncService.syncTemplate(param);
|
log.info("getSyncMessageTemplate param= [{}]", JSONUtil.toJsonStr(request));
|
||||||
return CommonResponse.success();
|
return CommonResponse.success(messageTemplateV3SyncService.getSyncMessageTemplate(request));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResponse<String> syncTemplate(MessageTemplateV3SyncRequest request) {
|
||||||
|
log.info("syncTemplate param= [{}]", JSONUtil.toJsonStr(request));
|
||||||
|
return CommonResponse.success(messageTemplateV3SyncService.syncTemplate(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping(value = "/message/template/relation/init/v3", produces = {MediaType.APPLICATION_JSON_VALUE})
|
@PostMapping(value = "/message/template/relation/init/v3", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||||
|
|||||||
@ -0,0 +1,91 @@
|
|||||||
|
package cn.axzo.msg.center.message.service.impl;
|
||||||
|
|
||||||
|
import cn.axzo.msg.center.common.utils.BizAssertions;
|
||||||
|
import cn.axzo.msg.center.dal.MessageTemplateButtonV3Dao;
|
||||||
|
import cn.axzo.msg.center.dal.MessageTemplateGroupV3Dao;
|
||||||
|
import cn.axzo.msg.center.dal.MessageTemplateV3Dao;
|
||||||
|
import cn.axzo.msg.center.domain.entity.BaseEntityWithOperator;
|
||||||
|
import cn.axzo.msg.center.domain.entity.MessageTemplateButtonV3;
|
||||||
|
import cn.axzo.msg.center.domain.entity.MessageTemplateGroupV3;
|
||||||
|
import cn.axzo.msg.center.domain.entity.MessageTemplateV3;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateSyncQueryRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3SyncRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3SyncResponse;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.alibaba.fastjson.TypeReference;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yanglin
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class MessageTemplateV3SyncService {
|
||||||
|
|
||||||
|
private final MessageTemplateV3Dao messageTemplateV3Dao;
|
||||||
|
private final MessageTemplateGroupV3Dao messageTemplateGroupV3Dao;
|
||||||
|
private final MessageTemplateButtonV3Dao messageTemplateButtonV3Dao;
|
||||||
|
|
||||||
|
public MessageTemplateV3SyncResponse getSyncMessageTemplate(MessageTemplateSyncQueryRequest request) {
|
||||||
|
MessageTemplateV3 template = findTemplate(request.getTemplateCode());
|
||||||
|
BizAssertions.assertNotNull(template, "未找到需要同步的模版: {}", request.getTemplateCode());
|
||||||
|
List<MessageTemplateGroupV3> groups = messageTemplateGroupV3Dao.lambdaQuery()
|
||||||
|
.eq(MessageTemplateGroupV3::getTemplateCode, template.getCode())
|
||||||
|
.list();
|
||||||
|
List<MessageTemplateButtonV3> buttons = messageTemplateButtonV3Dao.lambdaQuery()
|
||||||
|
.eq(MessageTemplateButtonV3::getTemplateCode, template.getCode())
|
||||||
|
.list();
|
||||||
|
MessageTemplateV3SyncResponse resp = new MessageTemplateV3SyncResponse();
|
||||||
|
JSONObject respJson = new JSONObject();
|
||||||
|
respJson.put("template", template);
|
||||||
|
respJson.put("groups", groups);
|
||||||
|
respJson.put("buttons", buttons);
|
||||||
|
resp.setTemplate(respJson);
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return error
|
||||||
|
*/
|
||||||
|
public String syncTemplate(MessageTemplateV3SyncRequest request) {
|
||||||
|
MessageTemplateV3 template = request.getTemplate()
|
||||||
|
.getObject("template", MessageTemplateV3.class);
|
||||||
|
MessageTemplateV3 savedTemplate = findTemplate(template.getCode());
|
||||||
|
if (savedTemplate != null) return "模板已存在";
|
||||||
|
List<MessageTemplateGroupV3> groups = request.getTemplate()
|
||||||
|
.getObject("groups", new TypeReference<List<MessageTemplateGroupV3>>() {});
|
||||||
|
List<MessageTemplateButtonV3> buttons = request.getTemplate()
|
||||||
|
.getObject("groups", new TypeReference<List<MessageTemplateButtonV3>>() {});
|
||||||
|
|
||||||
|
setBasicProps(template, request.getOperatorId(), request.getOperatorName());
|
||||||
|
groups.forEach(group -> setBasicProps(group, request.getOperatorId(), request.getOperatorName()));
|
||||||
|
buttons.forEach(button -> setBasicProps(button, request.getOperatorId(), request.getOperatorName()));
|
||||||
|
|
||||||
|
messageTemplateV3Dao.save(template);
|
||||||
|
if (CollectionUtils.isNotEmpty(groups))
|
||||||
|
messageTemplateGroupV3Dao.saveBatch(groups);
|
||||||
|
if (CollectionUtils.isNotEmpty(buttons))
|
||||||
|
messageTemplateButtonV3Dao.saveBatch(buttons);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private MessageTemplateV3 findTemplate(String templateCode) {
|
||||||
|
return messageTemplateV3Dao.lambdaQuery()
|
||||||
|
.eq(MessageTemplateV3::getCode, templateCode)
|
||||||
|
.one();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setBasicProps(BaseEntityWithOperator<?> entity, Long operatorId, String operatorName) {
|
||||||
|
entity.setCreateAt(null);
|
||||||
|
entity.setUpdateAt(null);
|
||||||
|
entity.setCreatePersonId(operatorId);
|
||||||
|
entity.setCreatePersonName(operatorName);
|
||||||
|
entity.setUpdatePersonId(operatorId);
|
||||||
|
entity.setUpdatePersonName(operatorName);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -5,6 +5,8 @@ import cn.axzo.msg.center.service.template.request.MessageTemplateSyncDto;
|
|||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateSyncQueryRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateSyncQueryRequest;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3PageRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3PageRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3SyncRequest;
|
||||||
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3SyncResponse;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest;
|
||||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateStatusRequest;
|
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateStatusRequest;
|
||||||
import cn.axzo.msg.center.service.template.response.MessageDetailStyle;
|
import cn.axzo.msg.center.service.template.response.MessageDetailStyle;
|
||||||
@ -96,14 +98,14 @@ public interface MessageTemplateV3Client {
|
|||||||
* 查询消息模板
|
* 查询消息模板
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/message/template/v3/sync/get", produces = {MediaType.APPLICATION_JSON_VALUE})
|
@PostMapping(value = "/message/template/v3/sync/get", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||||
CommonResponse<MessageTemplateSyncDto> getSyncMessageTemplate(@RequestBody @Valid MessageTemplateSyncQueryRequest request);
|
CommonResponse<MessageTemplateV3SyncResponse> getSyncMessageTemplate(@RequestBody @Valid MessageTemplateSyncQueryRequest request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 同步消息模板
|
* 同步消息模板
|
||||||
* req-1896 说明:仅pre环境能同步
|
* req-1896 说明:仅pre环境能同步
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/message/template/v3/sync", produces = {MediaType.APPLICATION_JSON_VALUE})
|
@PostMapping(value = "/message/template/v3/sync", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||||
CommonResponse<Void> syncTemplate(@RequestBody @Valid MessageTemplateSyncDto request);
|
CommonResponse<String> syncTemplate(@RequestBody @Valid MessageTemplateV3SyncRequest request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有消息样式
|
* 获取所有消息样式
|
||||||
|
|||||||
@ -0,0 +1,16 @@
|
|||||||
|
package cn.axzo.msg.center.service.template.request;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yanglin
|
||||||
|
*/
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public class MessageTemplateV3SyncRequest {
|
||||||
|
private JSONObject template;
|
||||||
|
private Long operatorId;
|
||||||
|
private String operatorName;
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package cn.axzo.msg.center.service.template.request;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yanglin
|
||||||
|
*/
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public class MessageTemplateV3SyncResponse {
|
||||||
|
private JSONObject template;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user