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 2f8b999a89f5b6cb818a635734234ad1a92ff0eb..58f7309fb89d67f56c77bb99dd3aa71c7e5e7c7a 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 d5f05fb7a9132a1b7bb41f4a9da1e11e79be3c35..1b470151b5db0db3cd8aaee0d1337a30cea4fcba 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 2331964fdbb6a5e2c5ff77e213ad01836cfbd0bf..ca51047b7cb68d8a76a014a0384c7265cbe2e405 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 0000000000000000000000000000000000000000..88e3dd8476d883e0e67829b38b03ea560b570d78 --- /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 0000000000000000000000000000000000000000..cfdb92ec2fbacdf21001d9e7ca5831b4f62e2601 --- /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"} + ] + } + ] +}