From a54c91bf9548d19671267544163fc0d97f3e938c Mon Sep 17 00:00:00 2001 From: yanglin Date: Mon, 1 Apr 2024 14:07:08 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2135:=20=E6=B7=BB=E5=8A=A0=E6=96=AD?= =?UTF-8?q?=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../center/message/service/todo/manage/TodoRecordBuilder.java | 4 ++++ .../main/java/cn/axzo/msg/center/service/util/JSONUtils.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoRecordBuilder.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoRecordBuilder.java index 88c8caf6..c3400ba6 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoRecordBuilder.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoRecordBuilder.java @@ -6,6 +6,7 @@ import cn.axzo.apollo.workspace.api.workspace.WorkspaceApi; import cn.axzo.apollo.workspace.api.workspace.req.OrganizationalNodePractitionerWideReqParams; import cn.axzo.apollo.workspace.api.workspace.res.OrganizationalNodePractitionerWideDto; import cn.axzo.apollo.workspace.api.workspace.res.SimpleWorkspaceRes; +import cn.axzo.msg.center.common.utils.BizAssertions; import cn.axzo.msg.center.common.utils.PlaceholderResolver; import cn.axzo.msg.center.domain.entity.Todo; import cn.axzo.msg.center.domain.entity.TodoBusiness; @@ -20,6 +21,7 @@ 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 cn.axzo.msg.center.service.util.JSONUtils; +import cn.axzo.msg.center.utils.MessageRouterUtil; import cn.axzo.msg.center.utils.UUIDUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; @@ -50,6 +52,8 @@ class TodoRecordBuilder { PersonDTO promoter = req.getPromoter(); JSONObject bizExtParamsObj = JSONUtils.parseObjectOrThrow("bizExtParams", req.getBizExtParams()); JSONObject routerParamsObj = JSONUtils.parseObjectOrThrow("routerParams", req.getRouterParams()); + BizAssertions.assertFalse(routerParamsObj.containsKey(MessageRouterUtil.CTX), + "路由参数中不能包含键 {}", MessageRouterUtil.CTX); TodoBusiness business = new TodoBusiness(); business.setTemplateCode(req.getTemplateCode()); business.setBizCode(req.getBizCode()); diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/util/JSONUtils.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/util/JSONUtils.java index 1fd44007..15b8fe40 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/util/JSONUtils.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/util/JSONUtils.java @@ -4,6 +4,7 @@ import cn.axzo.basics.common.exception.ServiceException; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; /** * @author yanglin @@ -12,6 +13,8 @@ import lombok.extern.slf4j.Slf4j; public class JSONUtils { public static JSONObject parseObjectOrThrow(String fieldName, String jsonStr) { + if (StringUtils.isBlank(jsonStr)) + return new JSONObject(); try { return JSON.parseObject(jsonStr); } catch (Exception e) {