切换mysql为达梦数据库-代码审查

1.bpm-boot模块
This commit is contained in:
2024-09-26 16:16:37 +08:00
parent 014ed7fbf7
commit e6dc70e048
36 changed files with 109 additions and 152 deletions

View File

@@ -26,6 +26,7 @@ import java.util.List;
/**
* BPM 流程分类 Service 实现类
*
* @author hongawen
*/
@Service
@Validated

View File

@@ -46,7 +46,6 @@ public class BpmFormServiceImpl extends ServiceImpl<BpmFormMapper, BpmForm> impl
@Override
public String createForm(BpmFormParam bpmFormParam) {
// this.validateFields(createReqVO.getFields());
checkFormName(bpmFormParam, false);
// 插入
BpmForm form = BeanUtils.toBean(bpmFormParam, BpmForm.class);
@@ -88,13 +87,6 @@ public class BpmFormServiceImpl extends ServiceImpl<BpmFormMapper, BpmForm> impl
.update();
}
// private void validateFormExists(Long id) {
// if (this.baseMapper.selectById(id) == null) {
// throw exception(ErrorCodeConstants.FORM_NOT_EXISTS);
// }
// }
@Override
public List<BpmForm> getFormList() {
@@ -120,7 +112,8 @@ public class BpmFormServiceImpl extends ServiceImpl<BpmFormMapper, BpmForm> impl
* @param fields field 数组
*/
private void validateFields(List<String> fields) {
if (true) { // TODO 芋艿:兼容 Vue3 工作流:因为采用了新的表单设计器,所以暂时不校验
// TODO 芋艿:兼容 Vue3 工作流:因为采用了新的表单设计器,所以暂时不校验
if (true) {
return;
}
// Map<String, String> fieldMap = new HashMap<>(); // key 是 vModelvalue 是 label

View File

@@ -63,7 +63,8 @@ public class BpmModelServiceImpl implements IBpmModelService {
modelQuery.modelKey(bpmModelQueryParam.getKey());
}
if (StrUtil.isNotBlank(bpmModelQueryParam.getName())) {
modelQuery.modelNameLike("%" + bpmModelQueryParam.getName() + "%"); // 模糊匹配
// 模糊匹配
modelQuery.modelNameLike("%" + bpmModelQueryParam.getName() + "%");
}
if (StrUtil.isNotBlank(bpmModelQueryParam.getCategory())) {
modelQuery.modelCategory(bpmModelQueryParam.getCategory());
@@ -110,7 +111,7 @@ public class BpmModelServiceImpl implements IBpmModelService {
}
@Override
@Transactional(rollbackFor = Exception.class) // 因为进行多个操作,所以开启事务
@Transactional(rollbackFor = Exception.class)
public void updateModel(BpmModelParam.BpmModelUpdateParam updateParam) {
// 校验流程模型存在
Model model = getModel(updateParam.getId());
@@ -126,7 +127,7 @@ public class BpmModelServiceImpl implements IBpmModelService {
}
@Override
@Transactional(rollbackFor = Exception.class) // 因为进行多个操作,所以开启事务
@Transactional(rollbackFor = Exception.class)
public void deployModel(String id) {
// 1.1 校验流程模型存在
Model model = getModel(id);

View File

@@ -76,9 +76,6 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
@Resource
private IBpmProcessDefinitionService processDefinitionService;
// @Resource
// private BpmMessageService messageService;
//
@Resource
private UserFeignClient userFeignClient;
@@ -116,9 +113,11 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
.includeProcessVariables()
.processInstanceTenantId(FlowableUtils.getTenantId())
.orderByProcessInstanceStartTime().desc();
if (userId != null) { // 【我的流程】菜单时,需要传递该字段
// 【我的流程】菜单时,需要传递该字段
if (userId != null) {
processInstanceQuery.startedBy(userId);
} else if (bpmProcessInstancePageParam.getStartUserId() != null) { // 【管理流程】菜单时,才会传递该字段
// 【管理流程】菜单时,才会传递该字段
} else if (bpmProcessInstancePageParam.getStartUserId() != null) {
processInstanceQuery.startedBy(bpmProcessInstancePageParam.getStartUserId());
}
if (StrUtil.isNotEmpty(bpmProcessInstancePageParam.getName())) {
@@ -205,10 +204,12 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
// 2. 创建流程实例
if (variables == null) {
variables = new HashMap<>();
variables = new HashMap<>(32);
}
FlowableUtils.filterProcessInstanceFormVariable(variables); // 过滤一下,避免 ProcessInstance 系统级的变量被占用
variables.put(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, // 流程实例状态:审批中
// 过滤一下,避免 ProcessInstance 系统级的变量被占用
FlowableUtils.filterProcessInstanceFormVariable(variables);
// 流程实例状态:审批中
variables.put(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS,
BpmProcessInstanceStatusEnum.RUNNING.getStatus());
if (CollUtil.isNotEmpty(startUserSelectAssignees)) {
variables.put(BpmConstants.PROCESS_INSTANCE_VARIABLE_START_USER_SELECT_ASSIGNEES, startUserSelectAssignees);
@@ -312,7 +313,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
Map<String, Object> processVariables = instance.getProcessVariables();
if (processVariables.containsKey(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS)) {
Integer stata = Integer.valueOf(processVariables.get(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS).toString());
if (BpmProcessInstanceStatusEnum.REJECT.getStatus() == stata) {
if (Objects.equals(BpmProcessInstanceStatusEnum.REJECT.getStatus(), stata)) {
processInstanceStatus = BpmProcessInstanceStatusEnum.REJECT.getStatus();
}
}
@@ -326,7 +327,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
// 3. 发送流程实例的状态事件
// 注意:此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance
// 在审核不通过时,会触该信息,设置在审核通过时,才发送
if (BpmProcessInstanceStatusEnum.APPROVE.getStatus() == processInstanceStatus) {
if (Objects.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus(), processInstanceStatus)) {
HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId());
processInstanceEventPublisher.sendProcessInstanceResultEvent(
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, processInstanceStatus));

View File

@@ -81,8 +81,7 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
private IProcessInstanceCopyService processInstanceCopyService;
@Resource
private IBpmModelService bpmModelService;
// @Resource
// private BpmMessageService messageService;
@Resource
private UserFeignClient adminUserApi;
@@ -90,10 +89,12 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
@Override
public PageResult<Task> getTaskTodoPage(String userId, BpmTaskParam.BpmTaskQueryParam bpmTaskQueryParam) {
TaskQuery taskQuery = taskService.createTaskQuery()
.taskAssignee(userId) // 分配给自己
// 分配给自己
.taskAssignee(userId)
.active()
.includeProcessVariables()
.orderByTaskCreateTime().desc(); // 创建时间倒序
// 创建时间倒序
.orderByTaskCreateTime().desc();
if (StrUtil.isNotBlank(bpmTaskQueryParam.getSearchValue())) {
taskQuery.taskNameLike("%" + bpmTaskQueryParam.getSearchValue() + "%");
}
@@ -115,10 +116,12 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
@Override
public List<Task> todoAllList(String userIndex) {
TaskQuery taskQuery = taskService.createTaskQuery()
.taskAssignee(userIndex) // 分配给自己
// 分配给自己
.taskAssignee(userIndex)
.active()
.includeProcessVariables()
.orderByTaskCreateTime().desc(); // 创建时间倒序
// 创建时间倒序
.orderByTaskCreateTime().desc();
return taskQuery.list();
}
@@ -126,10 +129,13 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
@Override
public PageResult<HistoricTaskInstance> getTaskDonePage(String userId, BpmTaskParam.BpmTaskQueryParam bpmTaskQueryParam) {
HistoricTaskInstanceQuery taskQuery = historyService.createHistoricTaskInstanceQuery()
.finished() // 已完成
.taskAssignee(String.valueOf(userId)) // 分配给自己
// 已完成
.finished()
// 分配给自己
.taskAssignee(String.valueOf(userId))
.includeTaskLocalVariables()
.orderByHistoricTaskInstanceEndTime().desc(); // 审批时间倒序
// 审批时间倒序
.orderByHistoricTaskInstanceEndTime().desc();
if (StrUtil.isNotBlank(bpmTaskQueryParam.getSearchValue())) {
taskQuery.taskNameLike("%" + bpmTaskQueryParam.getSearchValue() + "%");
}
@@ -327,7 +333,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
private void approveDelegateTask(BpmTaskApproveParam bpmTaskApproveParam, Task task) {
// 1. 添加审批意见
UserVO currentUser = adminUserApi.getUserById(RequestUtil.getUserIndex()).getData();
UserVO ownerUser = adminUserApi.getUserById(task.getOwner()).getData(); // 发起委托的用户
// 发起委托的用户
UserVO ownerUser = adminUserApi.getUserById(task.getOwner()).getData();
Assert.notNull(ownerUser, "委派任务找不到原审批人,需要检查数据");
taskService.addComment(bpmTaskApproveParam.getId(), task.getProcessInstanceId(), BpmCommentTypeEnum.DELEGATE_END.getType(),
BpmCommentTypeEnum.DELEGATE_END.formatComment(currentUser.getName(), ownerUser.getName(), bpmTaskApproveParam.getReason()));
@@ -463,6 +470,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
// return historyService.createHistoricTaskInstanceQuery().taskId(id).includeTaskLocalVariables().singleResult();
// }
//
@Override
public List<UserTask> getUserTaskListByReturn(String id) {
// 1.1 校验当前任务 task 存在
@@ -558,8 +567,10 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
// 3. 执行驳回
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(currentTask.getProcessInstanceId())
.moveActivityIdsToSingleActivityId(returnTaskKeyList, // 当前要跳转的节点列表( 1 或多)
bpmTaskReturnParam.getTargetTaskDefinitionKey()) // targetKey 跳转到的节点(1)
// 当前要跳转的节点列表( 1 或多)
.moveActivityIdsToSingleActivityId(returnTaskKeyList,
// targetKey 跳转到的节点(1)
bpmTaskReturnParam.getTargetTaskDefinitionKey())
.changeState();
}
@@ -569,7 +580,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
String taskId = reqVO.getId();
// 1.1 校验任务
Task task = validateTask(userId, reqVO.getId());
if (task.getAssignee().equals(reqVO.getDelegateUserId())) { // 校验当前审批人和被委派人不是同一人
// 校验当前审批人和被委派人不是同一人
if (task.getAssignee().equals(reqVO.getDelegateUserId())) {
throw new BusinessException(BpmResponseEnum.TASK_DELEGATE_FAIL_USER_REPEAT);
}
// 1.2 校验目标用户存在
@@ -596,7 +608,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
String taskId = reqVO.getId();
// 1.1 校验任务
Task task = validateTask(userId, reqVO.getId());
if (task.getAssignee().equals(reqVO.getAssigneeUserId())) { // 校验当前审批人和被转派人不是同一人
// 校验当前审批人和被转派人不是同一人
if (task.getAssignee().equals(reqVO.getAssigneeUserId())) {
throw new BusinessException(BpmResponseEnum.TASK_DELEGATE_FAIL_USER_NOT_EXISTS);
}
// 1.2 校验目标用户存在
@@ -614,7 +627,7 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
taskService.setOwner(taskId, task.getAssignee());
// 3.2 执行转派(审批人),将任务转派给 assigneeUser
// 委托( delegate和转派transfer的差别就在这块的调用
taskService.setAssignee(taskId, reqVO.getAssigneeUserId().toString());
taskService.setAssignee(taskId, reqVO.getAssigneeUserId());
}
@Override

View File

@@ -34,14 +34,14 @@ public class ProcessInstanceCopyServiceImpl extends ServiceImpl<ProcessInstanceC
@Resource
@Lazy // 延迟加载,避免循环依赖
@Lazy
private IBpmTaskService taskService;
@Resource
@Lazy // 延迟加载,避免循环依赖
@Lazy
private IBpmProcessInstanceService processInstanceService;
@Resource
@Lazy // 延迟加载,避免循环依赖
@Lazy
private IBpmProcessDefinitionService processDefinitionService;
@Override