update 优化 统一书写格式

This commit is contained in:
疯狂的狮子Li 2024-12-27 13:59:40 +08:00
parent af762e87d1
commit a0f0c3d1f3
5 changed files with 20 additions and 73 deletions

View File

@ -1,54 +0,0 @@
package org.dromara.workflow.common.enums;
import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 任务状态枚举
*
* @author may
*/
@Getter
@AllArgsConstructor
public enum FormTypeEnum {
/**
* 自定义表单
*/
STATIC("static", "自定义表单"),
/**
* 动态表单
*/
DYNAMIC("dynamic", "动态表单");
/**
* 类型
*/
private final String type;
/**
* 描述
*/
private final String desc;
private static final Map<String, String> TYPE_DESC_MAP = Arrays.stream(values())
.collect(Collectors.toConcurrentMap(FormTypeEnum::getType, FormTypeEnum::getDesc));
/**
* 表单类型
*
* @param formType 表单类型
*/
public static String findByType(String formType) {
// 从缓存中直接获取描述
return TYPE_DESC_MAP.getOrDefault(formType, StrUtil.EMPTY);
}
}

View File

@ -32,6 +32,7 @@ import java.util.List;
@RestController
@RequestMapping("/workflow/definition")
public class FlwDefinitionController extends BaseController {
private final IFlwDefinitionService flwDefinitionService;
private final DefService defService;

View File

@ -30,6 +30,7 @@ import java.util.Map;
@RestController
@RequestMapping("/workflow/instance")
public class FlwInstanceController extends BaseController {
private final IFlwInstanceService flwInstanceService;
private final InsService insService;

View File

@ -5,7 +5,7 @@ import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper;
import org.springframework.stereotype.Component;
/**
@ -27,7 +27,7 @@ public class FlowProcessEventHandler {
* @param submit 当为true时为申请人节点办理
*/
public void processHandler(String flowCode, String businessId, String status, boolean submit) {
String tenantId = LoginHelper.getTenantId();
String tenantId = TenantHelper.getTenantId();
log.info("发布流程事件租户ID: {}, 流程状态: {}, 流程编码: {}, 业务ID: {}, 是否申请人节点办理: {}", tenantId, status, flowCode, businessId, submit);
ProcessEvent processEvent = new ProcessEvent();
processEvent.setTenantId(tenantId);
@ -47,7 +47,7 @@ public class FlowProcessEventHandler {
* @param businessId 业务id
*/
public void processTaskHandler(String flowCode, String nodeCode, Long taskId, String businessId) {
String tenantId = LoginHelper.getTenantId();
String tenantId = TenantHelper.getTenantId();
log.info("发布流程任务事件, 租户ID: {}, 流程编码: {}, 节点编码: {}, 任务ID: {}, 业务ID: {}", tenantId, flowCode, nodeCode, taskId, businessId);
ProcessTaskEvent processTaskEvent = new ProcessTaskEvent();
processTaskEvent.setTenantId(tenantId);
@ -65,7 +65,7 @@ public class FlowProcessEventHandler {
* @param businessId 业务ID
*/
public void processDeleteHandler(String flowCode, String businessId) {
String tenantId = LoginHelper.getTenantId();
String tenantId = TenantHelper.getTenantId();
log.info("发布删除流程事件, 租户ID: {}, 流程编码: {}, 业务ID: {}", tenantId, flowCode, businessId);
ProcessDeleteEvent processDeleteEvent = new ProcessDeleteEvent();
processDeleteEvent.setTenantId(tenantId);

View File

@ -14,7 +14,6 @@ import org.dromara.common.sse.dto.SseMessageDto;
import org.dromara.common.sse.utils.SseMessageUtils;
import org.dromara.warm.flow.core.constant.ExceptionCons;
import org.dromara.warm.flow.core.dto.FlowParams;
import org.dromara.warm.flow.core.entity.Instance;
import org.dromara.warm.flow.core.entity.Node;
import org.dromara.warm.flow.core.entity.Task;
import org.dromara.warm.flow.core.entity.User;
@ -47,19 +46,19 @@ import java.util.Set;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class WorkflowUtils {
private static final IFlwTaskAssigneeService taskAssigneeService = SpringUtils.getBean(IFlwTaskAssigneeService.class);
private static final IFlwTaskService flwTaskService = SpringUtils.getBean(IFlwTaskService.class);
private static final UserService userService = SpringUtils.getBean(UserService.class);
private static final TaskService taskService = SpringUtils.getBean(TaskService.class);
private static final IFlwTaskAssigneeService TASK_ASSIGNEE_SERVICE = SpringUtils.getBean(IFlwTaskAssigneeService.class);
private static final IFlwTaskService FLW_TASK_SERVICE = SpringUtils.getBean(IFlwTaskService.class);
private static final FlowNodeMapper FLOW_NODE_MAPPER = SpringUtils.getBean(FlowNodeMapper.class);
private static final NodeService nodeService = SpringUtils.getBean(NodeService.class);
private static final FlowTaskMapper FLOW_TASK_MAPPER = SpringUtils.getBean(FlowTaskMapper.class);
private static final UserService USER_SERVICE = SpringUtils.getBean(UserService.class);
private static final TaskService TASK_SERVICE = SpringUtils.getBean(TaskService.class);
private static final NodeService NODE_SERVICE = SpringUtils.getBean(NodeService.class);
/**
* 获取工作流用户service
*/
public static UserService getFlowUserService() {
return userService;
return USER_SERVICE;
}
/**
@ -77,7 +76,7 @@ public class WorkflowUtils {
Set<String> processedBySet = new HashSet<>();
for (User user : userList) {
// 根据 processedBy 前缀判断处理人类型分别获取用户列表
List<UserDTO> users = taskAssigneeService.fetchUsersByStorageId(user.getProcessedBy());
List<UserDTO> users = TASK_ASSIGNEE_SERVICE.fetchUsersByStorageId(user.getProcessedBy());
// 转换为 FlowUser 并添加到结果集合
if (CollUtil.isNotEmpty(users)) {
users.forEach(dto -> {
@ -105,12 +104,12 @@ public class WorkflowUtils {
*/
public static void sendMessage(String flowName, Long instId, List<String> messageType, String message) {
List<UserDTO> userList = new ArrayList<>();
List<FlowTask> list = flwTaskService.selectByInstId(instId);
List<FlowTask> list = FLW_TASK_SERVICE.selectByInstId(instId);
if (StringUtils.isBlank(message)) {
message = "有新的【" + flowName + "】单据已经提交至您,请您及时处理。";
}
for (Task task : list) {
List<UserDTO> users = flwTaskService.currentTaskAllUser(task.getId());
List<UserDTO> users = FLW_TASK_SERVICE.currentTaskAllUser(task.getId());
if (CollUtil.isNotEmpty(users)) {
userList.addAll(users);
}
@ -150,7 +149,7 @@ public class WorkflowUtils {
* @param flowHisStatus 节点操作状态
*/
public static void backTask(String message, Long instanceId, String targetNodeCode, String flowStatus, String flowHisStatus) {
List<FlowTask> list = flwTaskService.selectByInstId(instanceId);
List<FlowTask> list = FLW_TASK_SERVICE.selectByInstId(instanceId);
if (CollUtil.isNotEmpty(list)) {
List<FlowTask> tasks = StreamUtils.filter(list, e -> e.getNodeCode().equals(targetNodeCode));
if (list.size() == tasks.size()) {
@ -158,7 +157,7 @@ public class WorkflowUtils {
}
}
for (FlowTask task : list) {
List<UserDTO> userList = flwTaskService.currentTaskAllUser(task.getId());
List<UserDTO> userList = FLW_TASK_SERVICE.currentTaskAllUser(task.getId());
FlowParams flowParams = FlowParams.build();
flowParams.nodeCode(targetNodeCode);
flowParams.message(message);
@ -169,7 +168,7 @@ public class WorkflowUtils {
if (CollUtil.isNotEmpty(userList)) {
flowParams.handler(userList.get(0).getUserId().toString());
}
taskService.skip(task.getId(), flowParams);
TASK_SERVICE.skip(task.getId(), flowParams);
}
//解决会签多人审批问题
backTask(message, instanceId, targetNodeCode, flowStatus, flowHisStatus);
@ -187,7 +186,7 @@ public class WorkflowUtils {
AssertUtil.isTrue(CollUtil.isEmpty(flowNodes), ExceptionCons.NOT_PUBLISH_NODE);
Node startNode = flowNodes.stream().filter(t -> NodeType.isStart(t.getNodeType())).findFirst().orElse(null);
AssertUtil.isNull(startNode, ExceptionCons.LOST_START_NODE);
Node nextNode = nodeService.getNextNode(definitionId, startNode.getNodeCode(), null, SkipType.NONE.getKey());
Node nextNode = NODE_SERVICE.getNextNode(definitionId, startNode.getNodeCode(), null, SkipType.NONE.getKey());
return nextNode.getNodeCode();
}
@ -200,7 +199,7 @@ public class WorkflowUtils {
if (CollUtil.isEmpty(taskIds)) {
return;
}
userService.deleteByTaskIds(taskIds);
USER_SERVICE.deleteByTaskIds(taskIds);
FLOW_TASK_MAPPER.deleteByIds(taskIds);
}
}