修改:求解文件的正则使用base64传递

This commit is contained in:
yangyang01000846
2026-01-19 23:28:55 +08:00
parent 303b35a74b
commit d63cba3740
2 changed files with 22 additions and 7 deletions

View File

@@ -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();
// 本地主文件