update 优化 统一书写格式
This commit is contained in:
parent
af762e87d1
commit
a0f0c3d1f3
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user