feat(REQ-1507): 老的待办数据迁移

背景:
  https://jira.axzo.cn/browse/REQ-1507?goToView=1

影响:
  无
This commit is contained in:
luofu 2023-11-20 16:31:18 +08:00
parent cb036a4886
commit dd8a33476e
2 changed files with 50 additions and 4 deletions

View File

@ -69,6 +69,15 @@ public class MessageTemplateRouterDTO implements Serializable {
return Optional.empty(); return Optional.empty();
} }
public MessageTemplateRouterDTO deepClone() {
List<MessageRouteButtonDTO> buttons = CollectionUtils.isEmpty(this.routeButtons) ? Collections.emptyList()
: this.routeButtons.stream().map(MessageRouteButtonDTO::deepClone).collect(Collectors.toList());
return MessageTemplateRouterDTO.builder()
.routeDetail(Optional.ofNullable(this.routeDetail).map(MessageRouteDetailDTO::deepClone).orElse(null))
.routeButtons(buttons)
.build();
}
@Override @Override
public String toString() { public String toString() {
return JSON.toJSONString(this); return JSON.toJSONString(this);
@ -149,6 +158,17 @@ public class MessageTemplateRouterDTO implements Serializable {
return MessageDetailRouteStrategyDTO.builder().showStrategy(this.showStrategy).terminals(terminals).build(); return MessageDetailRouteStrategyDTO.builder().showStrategy(this.showStrategy).terminals(terminals).build();
} }
public MessageRouteDetailDTO deepClone() {
List<MessageRouterConfigDTO> configs = CollectionUtils.isEmpty(this.routerConfigs) ? Collections.emptyList()
: this.routerConfigs.stream().map(MessageRouterConfigDTO::deepClone).collect(Collectors.toList());
return MessageRouteDetailDTO.builder()
.name(this.name)
.templateCode(this.templateCode)
.showStrategy(this.showStrategy)
.routerConfigs(configs)
.build();
}
@Override @Override
public String toString() { public String toString() {
return JSON.toJSONString(this); return JSON.toJSONString(this);
@ -283,6 +303,22 @@ public class MessageTemplateRouterDTO implements Serializable {
.build(); .build();
} }
public MessageRouteButtonDTO deepClone() {
List<MessageRouterConfigDTO> configs = CollectionUtils.isEmpty(this.routerConfigs) ? Collections.emptyList()
: this.routerConfigs.stream().map(MessageRouterConfigDTO::deepClone).collect(Collectors.toList());
return MessageRouteButtonDTO.builder()
.name(this.name)
.btnCode(this.btnCode)
.templateCode(this.templateCode)
.source(this.source)
.category(this.category)
.apiUrl(this.apiUrl)
.style(Optional.ofNullable(this.style).map(JSONArray::new).orElse(null))
.priority(this.priority)
.routerConfigs(configs)
.build();
}
@Override @Override
public String toString() { public String toString() {
return JSON.toJSONString(this); return JSON.toJSONString(this);
@ -326,6 +362,14 @@ public class MessageTemplateRouterDTO implements Serializable {
.build(); .build();
} }
public MessageRouterConfigDTO deepClone() {
return MessageRouterConfigDTO.builder()
.routerCode(this.routerCode)
.terminalType(this.terminalType)
.url(this.url)
.build();
}
@Override @Override
public String toString() { public String toString() {
return JSON.toJSONString(this); return JSON.toJSONString(this);

View File

@ -1,6 +1,5 @@
package cn.axzo.msg.center.utils; package cn.axzo.msg.center.utils;
import cn.axzo.msg.center.common.utils.BeanConvertUtils;
import cn.axzo.msg.center.common.utils.PlaceholderResolver; import cn.axzo.msg.center.common.utils.PlaceholderResolver;
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO; import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO;
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO.MessageRouteButtonDTO; import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO.MessageRouteButtonDTO;
@ -133,10 +132,13 @@ public final class MessageRouterUtil {
*/ */
public static MessageTemplateRouterDTO parseAndConcatRouteUrl(MessageTemplateRouterDTO msgTemplateRouter, public static MessageTemplateRouterDTO parseAndConcatRouteUrl(MessageTemplateRouterDTO msgTemplateRouter,
JSONObject routerParam) { JSONObject routerParam) {
if (Objects.isNull(msgTemplateRouter)) {
return msgTemplateRouter;
}
// 拷贝一份避免修改入参
msgTemplateRouter = msgTemplateRouter.deepClone();
// 路由参数有效 // 路由参数有效
if (Objects.nonNull(routerParam) && Objects.nonNull(msgTemplateRouter)) { if (Objects.nonNull(routerParam)) {
// 拷贝一份避免修改入参
msgTemplateRouter = BeanConvertUtils.copyBean(msgTemplateRouter, MessageTemplateRouterDTO.class);
// 编排业务详情路由 // 编排业务详情路由
parseAndConcatDetailRouterUrl(msgTemplateRouter.getRouteDetail(), routerParam); parseAndConcatDetailRouterUrl(msgTemplateRouter.getRouteDetail(), routerParam);
// 编排路由按钮 // 编排路由按钮