修改:求解文件的正则使用base64传递
This commit is contained in:
@@ -1,14 +1,13 @@
|
|||||||
package com.sdm.flowable.delegate;
|
package com.sdm.flowable.delegate;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.sdm.common.common.SdmResponse;
|
import com.sdm.common.common.SdmResponse;
|
||||||
|
import com.sdm.common.config.FlowableConfig;
|
||||||
import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig;
|
import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig;
|
||||||
import com.sdm.common.entity.req.data.GetFileBaseInfoReq;
|
import com.sdm.common.entity.req.data.GetFileBaseInfoReq;
|
||||||
import com.sdm.common.entity.req.flowable.AsyncCallbackRequest;
|
import com.sdm.common.entity.req.flowable.AsyncCallbackRequest;
|
||||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||||
import com.sdm.common.feign.inter.data.IDataFeignClient;
|
import com.sdm.common.feign.inter.data.IDataFeignClient;
|
||||||
import com.sdm.common.config.FlowableConfig;
|
|
||||||
import com.sdm.flowable.delegate.handler.ExecutionHandler;
|
import com.sdm.flowable.delegate.handler.ExecutionHandler;
|
||||||
import com.sdm.flowable.service.IAsyncTaskRecordService;
|
import com.sdm.flowable.service.IAsyncTaskRecordService;
|
||||||
import com.sdm.flowable.service.IProcessNodeParamService;
|
import com.sdm.flowable.service.IProcessNodeParamService;
|
||||||
@@ -30,8 +29,9 @@ import java.util.Map;
|
|||||||
@Component("universalDelegate")
|
@Component("universalDelegate")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class UniversalDelegate implements JavaDelegate {
|
public class UniversalDelegate implements JavaDelegate {
|
||||||
@Autowired
|
|
||||||
private ObjectMapper objectMapper;
|
// @Autowired
|
||||||
|
// private ObjectMapper objectMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IProcessNodeParamService processNodeParamService;
|
private IProcessNodeParamService processNodeParamService;
|
||||||
@@ -88,7 +88,8 @@ public class UniversalDelegate implements JavaDelegate {
|
|||||||
log.info("节点扩展配置, 流程 runId:{},processDefinitionId:{},实例ID: {}, 节点ID: {}, 扩展配置: {}",runId,processDefinitionId, procInstId, nodeId, extensionElement);
|
log.info("节点扩展配置, 流程 runId:{},processDefinitionId:{},实例ID: {}, 节点ID: {}, 扩展配置: {}",runId,processDefinitionId, procInstId, nodeId, extensionElement);
|
||||||
|
|
||||||
BaseExecuteConfig config =
|
BaseExecuteConfig config =
|
||||||
objectMapper.readValue(extensionElement, BaseExecuteConfig.class);
|
// objectMapper.readValue(extensionElement, BaseExecuteConfig.class);
|
||||||
|
JSONObject.parseObject(extensionElement, BaseExecuteConfig.class);
|
||||||
|
|
||||||
String executeType = config.getExecuteType();
|
String executeType = config.getExecuteType();
|
||||||
ExecutionHandler handler = handlerMap.get(executeType);
|
ExecutionHandler handler = handlerMap.get(executeType);
|
||||||
|
|||||||
@@ -10,12 +10,14 @@ import io.swagger.v3.oas.annotations.Operation;
|
|||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
@@ -81,9 +83,21 @@ public class TaskAdapter implements ITaskFeignClient {
|
|||||||
// 自动
|
// 自动
|
||||||
if (Objects.equals(req.getExecuteMode(),EXECUTE_MODE_AUTO)) {
|
if (Objects.equals(req.getExecuteMode(),EXECUTE_MODE_AUTO)) {
|
||||||
String simulationFileLocalPath = req.getSimulationFileLocalPath();
|
String simulationFileLocalPath = req.getSimulationFileLocalPath();
|
||||||
String masterFileRegularStr = req.getMasterFileRegularStr();
|
String masterFileRegularStrBase64 = req.getMasterFileRegularStr();
|
||||||
String inputFilesRegularStr = req.getInputFilesRegularStr();
|
String inputFilesRegularStrBase64 = req.getInputFilesRegularStr();
|
||||||
AtomicReference<String> masterFilePathAtomic = new AtomicReference<>();
|
AtomicReference<String> masterFilePathAtomic = new AtomicReference<>();
|
||||||
|
// 根据正则表达式获取求解文件及从文件,正则表达式是包含特殊字符的,转换成base64
|
||||||
|
// 2. 后端解码(Base64)
|
||||||
|
String masterFileRegularStr = new String(
|
||||||
|
Base64.getDecoder().decode(masterFileRegularStrBase64),
|
||||||
|
StandardCharsets.UTF_8
|
||||||
|
);
|
||||||
|
String inputFilesRegularStr= StringUtils.isNotBlank(inputFilesRegularStrBase64)?"":
|
||||||
|
new String(
|
||||||
|
Base64.getDecoder().decode(inputFilesRegularStrBase64),
|
||||||
|
StandardCharsets.UTF_8
|
||||||
|
);
|
||||||
|
log.info("Hpc任务执行,主求解文件正则:{},从文件正则:{}", masterFileRegularStr,inputFilesRegularStr);
|
||||||
FilesUtil.collectFiles(simulationFileLocalPath,masterFileRegularStr,inputFilesRegularStr,masterFilePathAtomic,inputFilePaths);
|
FilesUtil.collectFiles(simulationFileLocalPath,masterFileRegularStr,inputFilesRegularStr,masterFilePathAtomic,inputFilePaths);
|
||||||
masterFilepath=masterFilePathAtomic.get();
|
masterFilepath=masterFilePathAtomic.get();
|
||||||
// 本地主文件
|
// 本地主文件
|
||||||
|
|||||||
Reference in New Issue
Block a user