From 07a1610ed1efcdc47eabc984da83530f8138ec4e Mon Sep 17 00:00:00 2001 From: yanglin Date: Mon, 29 Apr 2024 11:00:17 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2303:=20=E8=BF=94=E5=9B=9E=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E4=B8=9A=E5=8A=A1=E5=92=8C=E8=B7=AF=E7=94=B1=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/domain/dto/PendingMessageDTO.java | 6 ++++-- .../impl/PendingMessageNewServiceImpl.java | 8 +++----- .../pending/response/PendingMessageResponse.java | 3 ++- .../domain/entity/PendingRecordAdapter.java | 16 ++++++++++++++++ 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java index 6f9e4605..cd372989 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java @@ -207,7 +207,8 @@ public class PendingMessageDTO implements Serializable { */ private List proposedButtons; - private JSONObject bizExtParam; + private JSONObject bizExtParamObj; + private JSONObject routerExtParamObj; @Deprecated public static PendingMessageDTO from(PendingMessageRecord pendingMessageRecord) { @@ -276,7 +277,8 @@ public class PendingMessageDTO implements Serializable { .executorWorkspaceName(executorWorkspaceName) .executorWorkspaceType(executorWorkspaceType) // 其它信息 - .bizExtParam(bizExtParam) + .bizExtParamObj(bizExtParamObj) + .routerExtParamObj(routerExtParamObj) //页面展示 .ouId(this.ouId) .workspaceId(workspaceId) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java index 9aa949da..16cc1eea 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java @@ -781,10 +781,8 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { pendingMessage.setTodoType(adapter.getTodoType()); pendingMessage.setIsRead(adapter.isRead()); pendingMessage.setProposedButtons(adapter.getCustomButtons()); - String bizExtParam = adapter.getBizExtParam(); - if (StringUtils.isNotBlank(bizExtParam)) { - pendingMessage.setBizExtParam(JSON.parseObject(bizExtParam)); - } + pendingMessage.setBizExtParamObj(adapter.getBizExtParamObj()); + pendingMessage.setRouterExtParamObj(adapter.getRouterParamObj()); Map templateCode2Template = messageTemplates.stream() .collect(toMap(MessageTemplateDTO::getCode, identity())); @@ -831,7 +829,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { .map(MessageTemplateDTO::getMsgCardContentItems) .orElse(null); // 解析并替换卡片信息里面的动态参数变量 - msgCardContentItems = MessageCardUtil.parseMessageCard(msgCardContentItems, bizExtParam); + msgCardContentItems = MessageCardUtil.parseMessageCard(msgCardContentItems, adapter.getBizExtParam()); pendingMessage.setCardItems(msgCardContentItems); return pendingMessage; } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java index 489b1aeb..d1e3c941 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java @@ -231,7 +231,8 @@ public class PendingMessageResponse implements Serializable { */ private List proposedButtons; - private JSONObject bizExtParam; + private JSONObject bizExtParamObj; + private JSONObject routerExtParamObj; public void adjustProposedButtons(boolean forPromoter) { ProposedButtonFilter.adjustProposedButtons(this, forPromoter); diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingRecordAdapter.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingRecordAdapter.java index f545e785..e97cb578 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingRecordAdapter.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/PendingRecordAdapter.java @@ -8,6 +8,9 @@ import cn.axzo.msg.center.service.enums.OrganizationTypeEnum; import cn.axzo.msg.center.service.enums.PendingMessageStateEnum; import cn.axzo.msg.center.service.enums.TodoType; import cn.axzo.msg.center.service.enums.YesOrNo; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; import java.util.Collections; import java.util.Date; @@ -125,4 +128,17 @@ public interface PendingRecordAdapter { default List getCustomButtons() { return Collections.emptyList(); } + + default JSONObject getBizExtParamObj() { + return parseJsonObj(getBizExtParam()); + } + + default JSONObject getRouterParamObj() { + return parseJsonObj(getRouterParams()); + } + + static JSONObject parseJsonObj(String json) { + return StringUtils.isBlank(json) ? new JSONObject() : JSON.parseObject(json); + } + } \ No newline at end of file