From 3a625d0ca1c56c62de79289848836c38344eef9f Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 21 Nov 2024 17:26:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E6=AD=A5=E9=AA=A4=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1208759358029824]工单步骤权限校验优化 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1208759358029824 --- .../ChangeHandleOperationAuthHandler.java | 34 ++++++------- .../ChangeHandleProcessComponent.java | 4 +- .../ChangeCreateProcessUtilHandler.java | 34 +++++++------ .../ChangeHandleProcessUtilHandler.java | 49 +++++++++---------- 4 files changed, 59 insertions(+), 62 deletions(-) diff --git a/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java b/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java index 8bd3e10..bda16a4 100644 --- a/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java +++ b/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java @@ -1,36 +1,34 @@ package neatlogic.module.change.operationauth.handler; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -import javax.annotation.PostConstruct; - +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.change.constvalue.ChangeStatus; import neatlogic.framework.change.dto.ChangeStepVo; +import neatlogic.framework.change.dto.ChangeVo; import neatlogic.framework.common.constvalue.SystemUser; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.process.constvalue.*; import neatlogic.framework.process.crossover.IProcessTaskCrossoverService; -import neatlogic.framework.process.exception.operationauth.*; -import neatlogic.module.change.operationauth.exception.ProcessTaskChangeStepUndoneException; -import com.alibaba.fastjson.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - import neatlogic.framework.process.dto.ProcessTaskStepVo; import neatlogic.framework.process.dto.ProcessTaskVo; +import neatlogic.framework.process.exception.operationauth.*; import neatlogic.framework.process.operationauth.core.OperationAuthHandlerBase; import neatlogic.framework.process.operationauth.core.TernaryPredicate; import neatlogic.module.change.dao.mapper.ChangeMapper; -import neatlogic.framework.change.dto.ChangeVo; +import neatlogic.module.change.operationauth.exception.ProcessTaskChangeStepUndoneException; import neatlogic.module.change.service.ChangeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; @Component public class ChangeHandleOperationAuthHandler extends OperationAuthHandlerBase { - private final Map>, JSONObject>> operationBiPredicateMap = new HashMap<>(); + private final Map>, JSONObject>> operationBiPredicateMap = new HashMap<>(); @Autowired private ChangeMapper changeMapper; @@ -40,9 +38,9 @@ public class ChangeHandleOperationAuthHandler extends OperationAuthHandlerBase { @PostConstruct public void init() { - operationBiPredicateMap.put(ProcessTaskOperationType.STEP_COMPLETE, (processTaskVo, processTaskStepVo, userUuid, operationTypePermissionDeniedExceptionMap, extraParam) -> { + operationBiPredicateMap.put(ProcessTaskStepOperationType.STEP_COMPLETE, (processTaskVo, processTaskStepVo, userUuid, operationTypePermissionDeniedExceptionMap, extraParam) -> { Long id = processTaskVo.getId(); - ProcessTaskOperationType operationType = ProcessTaskOperationType.STEP_COMPLETE; + IOperationType operationType = ProcessTaskStepOperationType.STEP_COMPLETE; //1.判断工单是否被隐藏,如果isShow=0,则提示“工单已隐藏”; if (processTaskVo.getIsShow() == 0) { operationTypePermissionDeniedExceptionMap.computeIfAbsent(id, key -> new HashMap<>()) @@ -128,7 +126,7 @@ public class ChangeHandleOperationAuthHandler extends OperationAuthHandlerBase { } @Override - public Map>, JSONObject>> + public Map>, JSONObject>> getOperationBiPredicateMap() { return operationBiPredicateMap; } diff --git a/src/main/java/neatlogic/module/change/stephandler/component/ChangeHandleProcessComponent.java b/src/main/java/neatlogic/module/change/stephandler/component/ChangeHandleProcessComponent.java index a21a9a7..ad20ccf 100644 --- a/src/main/java/neatlogic/module/change/stephandler/component/ChangeHandleProcessComponent.java +++ b/src/main/java/neatlogic/module/change/stephandler/component/ChangeHandleProcessComponent.java @@ -217,7 +217,7 @@ public class ChangeHandleProcessComponent extends ProcessStepHandlerBase { if (changeId != null) { JSONObject paramObj = currentProcessTaskStepVo.getParamObj(); String action = paramObj.getString("action"); - if (ProcessTaskOperationType.STEP_COMPLETE.getValue().equals(action)) { + if (ProcessTaskStepOperationType.STEP_COMPLETE.getValue().equals(action)) { // if(changeMapper.checkChangeIsExists(changeId) == 0) { // throw new ChangeNotFoundException(changeId); // } @@ -271,7 +271,7 @@ public class ChangeHandleProcessComponent extends ProcessStepHandlerBase { /** 处理历史记录 **/ IProcessStepHandlerCrossoverUtil processStepHandlerCrossoverUtil = CrossoverServiceFactory.getApi(IProcessStepHandlerCrossoverUtil.class); String action = paramObj.getString("action"); - if (ProcessTaskOperationType.STEP_COMPLETE.getValue().equals(action)) { + if (ProcessTaskStepOperationType.STEP_COMPLETE.getValue().equals(action)) { String changeAction = paramObj.getString("changeAction"); processStepHandlerCrossoverUtil.audit(currentProcessTaskStepVo, ChangeAuditType.getChangeAuditType(changeAction)); } else { diff --git a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java index 96512a0..29a707b 100644 --- a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java @@ -13,7 +13,9 @@ import neatlogic.framework.common.dto.ValueTextVo; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.notify.crossover.INotifyServiceCrossoverService; import neatlogic.framework.notify.dto.InvokeNotifyPolicyConfigVo; +import neatlogic.framework.process.constvalue.IOperationType; import neatlogic.framework.process.constvalue.ProcessTaskOperationType; +import neatlogic.framework.process.constvalue.ProcessTaskStepOperationType; import neatlogic.framework.process.dto.ProcessStepVo; import neatlogic.framework.process.dto.ProcessStepWorkerPolicyVo; import neatlogic.framework.process.dto.ProcessTaskStepVo; @@ -174,20 +176,20 @@ public class ChangeCreateProcessUtilHandler extends ProcessStepInternalHandlerBa JSONObject resultObj = new JSONObject(); /** 授权 **/ - ProcessTaskOperationType[] stepActions = { - ProcessTaskOperationType.STEP_VIEW, - ProcessTaskOperationType.STEP_TRANSFER, - ProcessTaskOperationType.STEP_RETREAT + IOperationType[] stepActions = { + ProcessTaskStepOperationType.STEP_VIEW, + ProcessTaskStepOperationType.STEP_TRANSFER, + ProcessTaskStepOperationType.STEP_RETREAT }; JSONArray authorityList = configObj.getJSONArray("authorityList"); JSONArray authorityArray = ProcessConfigUtil.regulateAuthorityList(authorityList, stepActions); resultObj.put("authorityList", authorityArray); /** 按钮映射 **/ - ProcessTaskOperationType[] stepButtons = { - ProcessTaskOperationType.STEP_COMPLETE, - ProcessTaskOperationType.STEP_BACK, - ProcessTaskOperationType.STEP_COMMENT, + IOperationType[] stepButtons = { + ProcessTaskStepOperationType.STEP_COMPLETE, + ProcessTaskStepOperationType.STEP_BACK, + ProcessTaskStepOperationType.STEP_COMMENT, ProcessTaskOperationType.PROCESSTASK_TRANSFER, ProcessTaskOperationType.PROCESSTASK_ABORT, ProcessTaskOperationType.PROCESSTASK_RECOVER @@ -214,10 +216,10 @@ public class ChangeCreateProcessUtilHandler extends ProcessStepInternalHandlerBa JSONObject resultObj = new JSONObject(); /** 授权 **/ - ProcessTaskOperationType[] stepActions = { - ProcessTaskOperationType.STEP_VIEW, - ProcessTaskOperationType.STEP_TRANSFER, - ProcessTaskOperationType.STEP_RETREAT + IOperationType[] stepActions = { + ProcessTaskStepOperationType.STEP_VIEW, + ProcessTaskStepOperationType.STEP_TRANSFER, + ProcessTaskStepOperationType.STEP_RETREAT }; JSONArray authorityList = null; Integer enableAuthority = configObj.getInteger("enableAuthority"); @@ -246,10 +248,10 @@ public class ChangeCreateProcessUtilHandler extends ProcessStepInternalHandlerBa resultObj.put("actionConfig", actionConfigVo); /** 按钮映射列表 **/ - ProcessTaskOperationType[] stepButtons = { - ProcessTaskOperationType.STEP_COMPLETE, - ProcessTaskOperationType.STEP_BACK, - ProcessTaskOperationType.STEP_COMMENT, + IOperationType[] stepButtons = { + ProcessTaskStepOperationType.STEP_COMPLETE, + ProcessTaskStepOperationType.STEP_BACK, + ProcessTaskStepOperationType.STEP_COMMENT, ProcessTaskOperationType.PROCESSTASK_TRANSFER, ProcessTaskOperationType.PROCESSTASK_ABORT, ProcessTaskOperationType.PROCESSTASK_RECOVER diff --git a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java index 66ccaa5..15a6a5d 100644 --- a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java @@ -15,10 +15,7 @@ import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.dto.UserVo; import neatlogic.framework.notify.crossover.INotifyServiceCrossoverService; import neatlogic.framework.notify.dto.InvokeNotifyPolicyConfigVo; -import neatlogic.framework.process.constvalue.ProcessTaskOperationType; -import neatlogic.framework.process.constvalue.ProcessTaskStepStatus; -import neatlogic.framework.process.constvalue.ProcessTaskStepUserStatus; -import neatlogic.framework.process.constvalue.ProcessUserType; +import neatlogic.framework.process.constvalue.*; import neatlogic.framework.process.crossover.IProcessTaskCrossoverMapper; import neatlogic.framework.process.crossover.ISelectContentByHashCrossoverMapper; import neatlogic.framework.process.dto.*; @@ -387,27 +384,27 @@ public class ChangeHandleProcessUtilHandler extends ProcessStepInternalHandlerBa JSONObject resultObj = new JSONObject(); /** 授权 **/ - ProcessTaskOperationType[] stepActions = { - ProcessTaskOperationType.STEP_VIEW, - ProcessTaskOperationType.STEP_TRANSFER, - ProcessTaskOperationType.STEP_RETREAT + IOperationType[] stepActions = { + ProcessTaskStepOperationType.STEP_VIEW, + ProcessTaskStepOperationType.STEP_TRANSFER, + ProcessTaskStepOperationType.STEP_RETREAT }; JSONArray authorityList = configObj.getJSONArray("authorityList"); JSONArray authorityArray = ProcessConfigUtil.regulateAuthorityList(authorityList, stepActions); resultObj.put("authorityList", authorityArray); /** 按钮映射列表 **/ - ProcessTaskOperationType[] stepButtons = { - ProcessTaskOperationType.STEP_COMPLETE, - ProcessTaskOperationType.STEP_BACK, - ProcessTaskOperationType.STEP_COMMENT, + IOperationType[] stepButtons = { + ProcessTaskStepOperationType.STEP_COMPLETE, + ProcessTaskStepOperationType.STEP_BACK, + ProcessTaskStepOperationType.STEP_COMMENT, ProcessTaskOperationType.PROCESSTASK_TRANSFER, - ProcessTaskOperationType.STEP_ACCEPT, + ProcessTaskStepOperationType.STEP_ACCEPT, ProcessTaskOperationType.PROCESSTASK_ABORT, ProcessTaskOperationType.PROCESSTASK_RECOVER }; /** 变更按钮映射列表 **/ - ChangeOperationType[] changeButtons = { + IOperationType[] changeButtons = { ChangeOperationType.STARTCHANGE, ChangeOperationType.PAUSECHANGE, ChangeOperationType.RECOVERCHANGE, @@ -418,7 +415,7 @@ public class ChangeHandleProcessUtilHandler extends ProcessStepInternalHandlerBa ChangeOperationType.BATCHEDITCHANGESTEPWORKER }; /** 变更步骤按钮映射列表 **/ - ChangeOperationType[] changeStepButtons = { + IOperationType[] changeStepButtons = { ChangeOperationType.STARTCHANGESTEP, ChangeOperationType.COMPLETECHANGESTEP, ChangeOperationType.ABORTCHANGESTEP, @@ -453,10 +450,10 @@ public class ChangeHandleProcessUtilHandler extends ProcessStepInternalHandlerBa JSONObject resultObj = new JSONObject(); /** 授权 **/ - ProcessTaskOperationType[] stepActions = { - ProcessTaskOperationType.STEP_VIEW, - ProcessTaskOperationType.STEP_TRANSFER, - ProcessTaskOperationType.STEP_RETREAT + IOperationType[] stepActions = { + ProcessTaskStepOperationType.STEP_VIEW, + ProcessTaskStepOperationType.STEP_TRANSFER, + ProcessTaskStepOperationType.STEP_RETREAT }; JSONArray authorityList = null; Integer enableAuthority = configObj.getInteger("enableAuthority"); @@ -485,18 +482,18 @@ public class ChangeHandleProcessUtilHandler extends ProcessStepInternalHandlerBa resultObj.put("actionConfig", actionConfigVo); /** 按钮映射列表 **/ - ProcessTaskOperationType[] stepButtons = { - ProcessTaskOperationType.STEP_COMPLETE, - ProcessTaskOperationType.STEP_BACK, - ProcessTaskOperationType.STEP_COMMENT, + IOperationType[] stepButtons = { + ProcessTaskStepOperationType.STEP_COMPLETE, + ProcessTaskStepOperationType.STEP_BACK, + ProcessTaskStepOperationType.STEP_COMMENT, ProcessTaskOperationType.PROCESSTASK_TRANSFER, - ProcessTaskOperationType.STEP_ACCEPT, + ProcessTaskStepOperationType.STEP_ACCEPT, ProcessTaskOperationType.PROCESSTASK_ABORT, ProcessTaskOperationType.PROCESSTASK_RECOVER }; /** 变更按钮映射列表 **/ - ChangeOperationType[] changeButtons = { + IOperationType[] changeButtons = { ChangeOperationType.STARTCHANGE, ChangeOperationType.PAUSECHANGE, ChangeOperationType.RECOVERCHANGE, @@ -507,7 +504,7 @@ public class ChangeHandleProcessUtilHandler extends ProcessStepInternalHandlerBa ChangeOperationType.BATCHEDITCHANGESTEPWORKER }; /** 变更步骤按钮映射列表 **/ - ChangeOperationType[] changeStepButtons = { + IOperationType[] changeStepButtons = { ChangeOperationType.STARTCHANGESTEP, ChangeOperationType.COMPLETECHANGESTEP, ChangeOperationType.ABORTCHANGESTEP, -- Gitee From ae77ec87f3e7ada201e92824e2d4462079abd600 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 21 Nov 2024 17:50:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E6=AD=A5=E9=AA=A4=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1208759358029824]工单步骤权限校验优化 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1208759358029824 --- .../operationauth/handler/ChangeHandleOperationAuthHandler.java | 1 + .../stephandler/utilhandler/ChangeCreateProcessUtilHandler.java | 2 +- .../stephandler/utilhandler/ChangeHandleProcessUtilHandler.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java b/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java index bda16a4..d21cf9d 100644 --- a/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java +++ b/src/main/java/neatlogic/module/change/operationauth/handler/ChangeHandleOperationAuthHandler.java @@ -11,6 +11,7 @@ import neatlogic.framework.process.crossover.IProcessTaskCrossoverService; import neatlogic.framework.process.dto.ProcessTaskStepVo; import neatlogic.framework.process.dto.ProcessTaskVo; import neatlogic.framework.process.exception.operationauth.*; +import neatlogic.framework.process.operationauth.core.IOperationType; import neatlogic.framework.process.operationauth.core.OperationAuthHandlerBase; import neatlogic.framework.process.operationauth.core.TernaryPredicate; import neatlogic.module.change.dao.mapper.ChangeMapper; diff --git a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java index 29a707b..b5c482b 100644 --- a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java @@ -13,7 +13,7 @@ import neatlogic.framework.common.dto.ValueTextVo; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.notify.crossover.INotifyServiceCrossoverService; import neatlogic.framework.notify.dto.InvokeNotifyPolicyConfigVo; -import neatlogic.framework.process.constvalue.IOperationType; +import neatlogic.framework.process.operationauth.core.IOperationType; import neatlogic.framework.process.constvalue.ProcessTaskOperationType; import neatlogic.framework.process.constvalue.ProcessTaskStepOperationType; import neatlogic.framework.process.dto.ProcessStepVo; diff --git a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java index 15a6a5d..715eab2 100644 --- a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java @@ -21,6 +21,7 @@ import neatlogic.framework.process.crossover.ISelectContentByHashCrossoverMapper import neatlogic.framework.process.dto.*; import neatlogic.framework.process.dto.processconfig.ActionConfigActionVo; import neatlogic.framework.process.dto.processconfig.ActionConfigVo; +import neatlogic.framework.process.operationauth.core.IOperationType; import neatlogic.framework.process.stephandler.core.ProcessStepInternalHandlerBase; import neatlogic.framework.process.util.ProcessConfigUtil; import neatlogic.module.change.dao.mapper.ChangeMapper; -- Gitee