mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	update 升级warm-flow1.7.0->1.7.2
This commit is contained in:
		
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							@@ -49,7 +49,7 @@
 | 
			
		||||
        <!-- 面向运行时的D-ORM依赖 -->
 | 
			
		||||
        <anyline.version>8.7.2-20250101</anyline.version>
 | 
			
		||||
        <!-- 工作流配置 -->
 | 
			
		||||
        <warm-flow.version>1.7.0</warm-flow.version>
 | 
			
		||||
        <warm-flow.version>1.7.2</warm-flow.version>
 | 
			
		||||
 | 
			
		||||
        <!-- 插件版本 -->
 | 
			
		||||
        <maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,9 @@
 | 
			
		||||
package org.dromara.workflow.service;
 | 
			
		||||
 | 
			
		||||
import org.dromara.warm.flow.core.entity.Instance;
 | 
			
		||||
import org.dromara.warm.flow.core.entity.User;
 | 
			
		||||
import org.dromara.warm.flow.core.service.UserService;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -57,12 +55,4 @@ public interface IFlwCommonService {
 | 
			
		||||
     * @return 申请人节点编码
 | 
			
		||||
     */
 | 
			
		||||
    String applyNodeCode(Long definitionId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 合并变量
 | 
			
		||||
     *
 | 
			
		||||
     * @param instance 流程实例
 | 
			
		||||
     * @param variable 变量
 | 
			
		||||
     */
 | 
			
		||||
    void mergeVariable(Instance instance, Map<String, Object> variable);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,15 +11,12 @@ import org.dromara.common.core.utils.StringUtils;
 | 
			
		||||
import org.dromara.common.mail.utils.MailUtils;
 | 
			
		||||
import org.dromara.common.sse.dto.SseMessageDto;
 | 
			
		||||
import org.dromara.common.sse.utils.SseMessageUtils;
 | 
			
		||||
import org.dromara.warm.flow.core.FlowEngine;
 | 
			
		||||
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;
 | 
			
		||||
import org.dromara.warm.flow.core.enums.SkipType;
 | 
			
		||||
import org.dromara.warm.flow.core.service.NodeService;
 | 
			
		||||
import org.dromara.warm.flow.core.service.UserService;
 | 
			
		||||
import org.dromara.warm.flow.core.utils.MapUtil;
 | 
			
		||||
import org.dromara.warm.flow.orm.entity.FlowTask;
 | 
			
		||||
import org.dromara.warm.flow.orm.entity.FlowUser;
 | 
			
		||||
import org.dromara.workflow.common.ConditionalOnEnable;
 | 
			
		||||
@@ -180,14 +177,4 @@ public class FlwCommonServiceImpl implements IFlwCommonService {
 | 
			
		||||
        Node nextNode = nodeService.getNextNode(definitionId, startNode.getNodeCode(), null, SkipType.PASS.getKey());
 | 
			
		||||
        return nextNode.getNodeCode();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void mergeVariable(Instance instance, Map<String, Object> variable) {
 | 
			
		||||
        if (MapUtil.isNotEmpty(variable)) {
 | 
			
		||||
            String variableStr = instance.getVariable();
 | 
			
		||||
            Map<String, Object> deserialize = FlowEngine.jsonConvert.strToMap(variableStr);
 | 
			
		||||
            deserialize.putAll(variable);
 | 
			
		||||
            instance.setVariable(FlowEngine.jsonConvert.objToStr(deserialize));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -360,7 +360,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
 | 
			
		||||
    public void setVariable(Long instanceId, Map<String, Object> variable) {
 | 
			
		||||
        Instance instance = insService.getById(instanceId);
 | 
			
		||||
        if (instance != null) {
 | 
			
		||||
            flwCommonService.mergeVariable(instance, variable);
 | 
			
		||||
            taskService.mergeVariable(instance, variable);
 | 
			
		||||
            insService.updateById(instance);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -112,7 +112,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
 | 
			
		||||
        if (ObjectUtil.isNotNull(flowInstance)) {
 | 
			
		||||
            BusinessStatusEnum.checkStartStatus(flowInstance.getFlowStatus());
 | 
			
		||||
            List<Task> taskList = taskService.list(new FlowTask().setInstanceId(flowInstance.getId()));
 | 
			
		||||
            flwCommonService.mergeVariable(flowInstance, variables);
 | 
			
		||||
            taskService.mergeVariable(flowInstance, variables);
 | 
			
		||||
            insService.updateById(flowInstance);
 | 
			
		||||
            StartProcessReturnDTO dto = new StartProcessReturnDTO();
 | 
			
		||||
            dto.setProcessInstanceId(taskList.get(0).getInstanceId());
 | 
			
		||||
@@ -217,7 +217,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
 | 
			
		||||
                variableMap.remove(task.getNodeCode());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        flwCommonService.mergeVariable(inst, variableMap);
 | 
			
		||||
        taskService.mergeVariable(inst, variableMap);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user