From 83892501815a258e9d76daa29fc84b79edea0aff Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Fri, 26 Apr 2024 15:24:18 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E4=BA=BA=20=E4=BB=A3=E6=8A=A5=E4=BA=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1143434969055232]后端-上报人 代报人逻辑优化 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1143434969055232 --- .../processtask/ProcessTaskDraftSaveApi.java | 1 + .../service/ProcessTaskServiceImpl.java | 27 ++++++++++++++++--- .../utilhandler/ProcessStepHandlerUtil.java | 5 ++++ .../changelog/2024-04-26/neatlogic_tenant.sql | 3 +++ .../process/changelog/2024-04-26/version.json | 10 +++++++ 5 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/neatlogic/resources/process/changelog/2024-04-26/neatlogic_tenant.sql create mode 100644 src/main/resources/neatlogic/resources/process/changelog/2024-04-26/version.json diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftSaveApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftSaveApi.java index 2f8b999a8..58f7309fb 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftSaveApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftSaveApi.java @@ -65,6 +65,7 @@ public class ProcessTaskDraftSaveApi extends PrivateApiComponentBase { @Param(name = "channelUuid", type = ApiParamType.STRING, isRequired = true, desc = "term.itsm.channeluuid"), @Param(name = "title", type = ApiParamType.STRING, isRequired = true, maxLength = 80, desc = "common.title"), @Param(name = "owner", type = ApiParamType.STRING, desc = "term.itsm.owner"), + @Param(name = "reporter", type = ApiParamType.STRING, desc = "term.itsm.reporter", help = "如果当前登录人和owner不一样则需要额外传reporter。没有代报人,则数据库对应reporter直接null"), @Param(name = "priorityUuid", type = ApiParamType.STRING, desc = "common.priorityuuid"), @Param(name = "formAttributeDataList", type = ApiParamType.JSONARRAY, desc = "term.itsm.formattributedatalist"), @Param(name = "formExtendAttributeDataList", type = ApiParamType.JSONARRAY, desc = "term.itsm.formextendattributedatalist"), diff --git a/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java index d5f05fb7a..1b470151b 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java @@ -2345,9 +2345,30 @@ public class ProcessTaskServiceImpl implements ProcessTaskService, IProcessTaskC } } String owner = jsonObj.getString("owner"); - if (StringUtils.isNotBlank(owner) && owner.contains("#")) { - owner = owner.split("#")[1]; - jsonObj.put("owner", owner); + if (StringUtils.isNotBlank(owner)) { + if (owner.contains("#")) { + owner = owner.split("#")[1]; + jsonObj.put("owner", owner); + } + UserVo user = userMapper.getUserBaseInfoByUuid(owner); + if (user == null) { + throw new UserNotFoundException(owner); + } + } else { + jsonObj.put("owner", null); + } + String reporter = jsonObj.getString("reporter"); + if (StringUtils.isNotBlank(reporter)) { + if (reporter.contains("#")) { + reporter = reporter.split("#")[1]; + jsonObj.put("reporter", reporter); + } + UserVo user = userMapper.getUserBaseInfoByUuid(reporter); + if (user == null) { + throw new UserNotFoundException(reporter); + } + } else { + jsonObj.put("reporter", null); } ProcessTaskStepVo startProcessTaskStepVo = null; diff --git a/src/main/java/neatlogic/module/process/stephandler/utilhandler/ProcessStepHandlerUtil.java b/src/main/java/neatlogic/module/process/stephandler/utilhandler/ProcessStepHandlerUtil.java index 2331964fd..ca51047b7 100644 --- a/src/main/java/neatlogic/module/process/stephandler/utilhandler/ProcessStepHandlerUtil.java +++ b/src/main/java/neatlogic/module/process/stephandler/utilhandler/ProcessStepHandlerUtil.java @@ -280,6 +280,11 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil { if (userMapper.getUserBaseInfoByUuid(processTaskVo.getOwner()) == null) { throw new UserNotFoundException(processTaskVo.getOwner()); } + if (StringUtils.isNotBlank(processTaskVo.getReporter())) { + if (userMapper.getUserBaseInfoByUuid(processTaskVo.getReporter()) == null) { + throw new UserNotFoundException(processTaskVo.getReporter()); + } + } List channelPriorityList = channelMapper.getChannelPriorityListByChannelUuid(processTaskVo.getChannelUuid()); if (StringUtils.isBlank(processTaskVo.getPriorityUuid())) { //且存在channelPriorityList,则优先级必填 diff --git a/src/main/resources/neatlogic/resources/process/changelog/2024-04-26/neatlogic_tenant.sql b/src/main/resources/neatlogic/resources/process/changelog/2024-04-26/neatlogic_tenant.sql new file mode 100644 index 000000000..88e3dd847 --- /dev/null +++ b/src/main/resources/neatlogic/resources/process/changelog/2024-04-26/neatlogic_tenant.sql @@ -0,0 +1,3 @@ +ALTER TABLE `processtask` + CHANGE `owner` `owner` VARCHAR(50) CHARSET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '上报人', + CHANGE `reporter` `reporter` VARCHAR(50) CHARSET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '代报人'; diff --git a/src/main/resources/neatlogic/resources/process/changelog/2024-04-26/version.json b/src/main/resources/neatlogic/resources/process/changelog/2024-04-26/version.json new file mode 100644 index 000000000..cfdb92ec2 --- /dev/null +++ b/src/main/resources/neatlogic/resources/process/changelog/2024-04-26/version.json @@ -0,0 +1,10 @@ +{ + "content":[ + { + "type":"新增功能", + "detail":[ + {"msg":"1.如果当前登录人和owner不一样则需要额外传reporter。没有代报人,则数据库对应reporter直接null"} + ] + } + ] +} -- Gitee