fix: 法规采购流程待办权限校验
This commit is contained in:
+8
@@ -48,8 +48,16 @@ public interface IProcessHandleService {
|
||||
**/
|
||||
void isMyTask(String taskId);
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/6 11:59
|
||||
* @Description: 判断Task
|
||||
**/
|
||||
void validTask(String taskId);
|
||||
|
||||
/**
|
||||
* 超期判断
|
||||
*
|
||||
* @param taskId
|
||||
*/
|
||||
void isOverDue(String taskId);
|
||||
|
||||
+1
-4
@@ -1,6 +1,5 @@
|
||||
package com.jero.modules.activiti.process.fb.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
@@ -176,9 +175,7 @@ public class ProcessFbStandardPurchaseServiceImpl extends ServiceImpl<ProcessFbS
|
||||
CommonVO commonVO = this.transferCommonVo(processInfoVO);
|
||||
Map<String, Object> flowUser = processInfoVO.getUserInfoMap();
|
||||
String taskId = commonVO.getTaskId();
|
||||
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS);
|
||||
}
|
||||
processHandleService.validTask(taskId);
|
||||
// 获取流程实例ID
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取流程实例对象
|
||||
|
||||
+26
-3
@@ -305,9 +305,32 @@ 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);
|
||||
//}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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<ProcessApprovalRecord> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user