REQ-3045: copy properties issue

This commit is contained in:
yanglin 2024-10-30 14:28:35 +08:00
parent b682ff40da
commit 181371d850

View File

@ -1,6 +1,5 @@
package cn.axzo.msg.center.message.service.impl.v3;
import cn.axzo.basics.common.BeanMapper;
import cn.axzo.msg.center.domain.entity.MessageEntity;
import cn.axzo.msg.center.domain.entity.MessageTemplateGroupV3;
import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
@ -71,10 +70,7 @@ public class ModelV3Parser {
JSONObject routerParam,
JSONObject appendRouterParam,
@Nullable ClientRequest request) {
ParsedModelV3 parsedModel = new ParsedModelV3();
parsedModel.setTemplate(BeanMapper.copyBean(templateModel.getTemplate(), ParsedTemplateV3.class));
parsedModel.setGroups(copyGroups(templateModel.getGroups()));
parsedModel.setButtons(BeanMapper.copyList(templateModel.getButtons(), ParsedButtonV3.class));
ParsedModelV3 parsedModel = deepCopyModel(templateModel);
UrlParser urlParser = new UrlParser(entity, routerParam, appendRouterParam);
ParsedModelV3Walker.walkDown(parsedModel, new ParsedModel3Visitor() {
@ -166,6 +162,14 @@ public class ModelV3Parser {
return parsedModel;
}
private ParsedModelV3 deepCopyModel(TemplateModelV3 templateModel) {
ParsedModelV3 parsedModel = new ParsedModelV3();
parsedModel.setTemplate(JSON.parseObject(JSON.toJSONString(templateModel.getTemplate()), ParsedTemplateV3.class));
parsedModel.setGroups(copyGroups(templateModel.getGroups()));
parsedModel.setButtons(JSON.parseArray(JSON.toJSONString(templateModel.getButtons()), ParsedButtonV3.class));
return parsedModel;
}
public SessionUrlInfo parseSessionUrlInfo(UrlConfig urlConfig,
@Nullable ClientRequest request) {
SessionUrlInfo url = new SessionUrlInfo();