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