diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java index 1248a0e0..7eae8e85 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java @@ -41,6 +41,13 @@ public interface IProcessHandleService { **/ void isMyTask(String taskId); + /** + * @Author: liao + * @Date: 2023/11/6 11:59 + * @Description: 判断Task + **/ + void validTask(String taskId); + /** * @Author: liao * @Date: 2023/11/6 14:22 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index b351cebb..0cff3294 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -257,9 +257,43 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { if (Objects.isNull(task)) { throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS); } - //if (!CurrentUserUtil.getId().equals(task.getAssignee())) { - // throw new JeroBootException(ResultCommon.NO_PERMISSION); - //} + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ProcessApprovalRecord::getTaskId, taskId); + ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(lambdaQueryWrapper, false); + if (!CurrentUserUtil.getId().equals(processApprovalRecord.getUserId())) { + throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS); + } + String curUserId = CurrentUserUtil.getId(); + if (!curUserId.equals(processApprovalRecord.getUserId())) { + throw new JeroBootException(ResultCommon.NO_PERMISSION); + } + } + + + /** + * @Author: liao + * @Date: 2023/11/6 12:00 + * @Description: 判断是否是自己的任务 + **/ + @Override + public void validTask(String taskId) { + if (StringUtils.isBlank(taskId)) { + throw new JeroBootException(ResultCommon.EMPTY_COMMON, "taskId"); + } + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (Objects.isNull(task)) { + throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS); + } + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ProcessApprovalRecord::getTaskId, taskId); + ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(lambdaQueryWrapper, false); + if (!CurrentUserUtil.getId().equals(processApprovalRecord.getUserId())) { + throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS); + } + String curUserId = CurrentUserUtil.getId(); + if (!curUserId.equals(processApprovalRecord.getUserId())) { + throw new JeroBootException(ResultCommon.NO_PERMISSION); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java index 755bda86..6658807d 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java @@ -217,9 +217,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl processInfoVO) { BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO(); String taskId = processTask.getTaskId(); - // 获取task - if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) { - throw new JeroBootException("taskId为空或任务不存在"); - } + // 校验是否有权限操作此待办 + processHandleService.validTask(taskId); // 获取当前节点的id ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId); String xmlNodeId = record.getNodeId();