1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package com.jy.flow.utils;
- import cn.hutool.extra.spring.SpringUtil;
- import com.jy.flow.controller.ExecuteController;
- import com.jy.flow.model.dto.WarmFlowHandleDto;
- import com.jy.flow.model.enums.FlowStatusEnum;
- import com.jy.framework.satoken.LoginContext;
- import com.jy.framework.utils.AssertUtil;
- import com.warm.flow.core.dto.FlowParams;
- import com.warm.flow.core.entity.Instance;
- import com.warm.flow.core.entity.Task;
- import com.warm.flow.core.service.InsService;
- import com.warm.flow.core.service.TaskService;
- import com.warm.flow.orm.entity.FlowInstance;
- import com.warm.flow.orm.entity.FlowTask;
- import java.util.Map;
- public class FlowUtil {
- private final static InsService insService = SpringUtil.getBean(InsService.class);
- private final static TaskService taskService = SpringUtil.getBean(TaskService.class);
- private final static ExecuteController executeController = SpringUtil.getBean(ExecuteController.class);
- /**
- * 发起流程
- */
- public static void start(String flowCode, Long businessId) {
- FlowParams flowParams = FlowParams.build()
- .flowCode(flowCode)
- .handler(LoginContext.getUserId().toString())
- .flowStatus(FlowStatusEnum.UNDER_WAY.getKeyStr());
- insService.start(businessId.toString(), flowParams);
- }
- /**
- * 发起流程
- */
- public static void start(String flowCode, Long businessId, Map<String, Object> variable) {
- FlowParams flowParams = FlowParams.build()
- .flowCode(flowCode)
- .handler(LoginContext.getUserId().toString())
- .variable(variable)
- .flowStatus(FlowStatusEnum.UNDER_WAY.getKeyStr());
- insService.start(businessId.toString(), flowParams);
- }
- public static void next(Long businessId) {
- Instance instance = insService.getOne(new FlowInstance().setBusinessId(businessId.toString()));
- AssertUtil.notNull(instance, "未知流程实例");
- Task task = taskService.getOne(new FlowTask().setInstanceId(instance.getId()));
- AssertUtil.notNull(task, "未知流程任务");
- WarmFlowHandleDto dto = new WarmFlowHandleDto();
- dto.setTaskId(task.getId());
- dto.setHandleType(1);
- executeController.handle(dto);
- }
- }
|