修改:求解文件的正则使用base64传递
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
package com.sdm.flowable.delegate;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
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.req.data.GetFileBaseInfoReq;
|
||||
import com.sdm.common.entity.req.flowable.AsyncCallbackRequest;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
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.service.IAsyncTaskRecordService;
|
||||
import com.sdm.flowable.service.IProcessNodeParamService;
|
||||
@@ -30,8 +29,9 @@ import java.util.Map;
|
||||
@Component("universalDelegate")
|
||||
@Slf4j
|
||||
public class UniversalDelegate implements JavaDelegate {
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
// @Autowired
|
||||
// private ObjectMapper objectMapper;
|
||||
|
||||
@Autowired
|
||||
private IProcessNodeParamService processNodeParamService;
|
||||
@@ -88,7 +88,8 @@ public class UniversalDelegate implements JavaDelegate {
|
||||
log.info("节点扩展配置, 流程 runId:{},processDefinitionId:{},实例ID: {}, 节点ID: {}, 扩展配置: {}",runId,processDefinitionId, procInstId, nodeId, extensionElement);
|
||||
|
||||
BaseExecuteConfig config =
|
||||
objectMapper.readValue(extensionElement, BaseExecuteConfig.class);
|
||||
// objectMapper.readValue(extensionElement, BaseExecuteConfig.class);
|
||||
JSONObject.parseObject(extensionElement, BaseExecuteConfig.class);
|
||||
|
||||
String executeType = config.getExecuteType();
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
@@ -81,9 +83,21 @@ public class TaskAdapter implements ITaskFeignClient {
|
||||
// 自动
|
||||
if (Objects.equals(req.getExecuteMode(),EXECUTE_MODE_AUTO)) {
|
||||
String simulationFileLocalPath = req.getSimulationFileLocalPath();
|
||||
String masterFileRegularStr = req.getMasterFileRegularStr();
|
||||
String inputFilesRegularStr = req.getInputFilesRegularStr();
|
||||
String masterFileRegularStrBase64 = req.getMasterFileRegularStr();
|
||||
String inputFilesRegularStrBase64 = req.getInputFilesRegularStr();
|
||||
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);
|
||||
masterFilepath=masterFilePathAtomic.get();
|
||||
// 本地主文件
|
||||
|
||||
Reference in New Issue
Block a user