fix:hpc提交 by yangyang

This commit is contained in:
2025-12-08 08:55:46 +08:00
parent 55f3683f02
commit bc9fe2f55a
3 changed files with 8 additions and 19 deletions

View File

@@ -1,13 +1,9 @@
package com.sdm.common.entity.req.pbs;
import com.alibaba.fastjson2.annotation.JSONField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Data
public class SubmitHpcTaskRemoteReq implements Serializable {
@@ -28,14 +24,6 @@ public class SubmitHpcTaskRemoteReq implements Serializable {
@Schema(description = "计算任务是否独立存在 0非独立任务 1独立任务")
public int independence;
@Schema(description = "求解文件")
@JSONField(serialize = false)
public List<MultipartFile> inputFiles = new ArrayList<>();
@Schema(description = "计算主文件")
@JSONField(serialize = false)
public MultipartFile masterFile;
@Schema(description = "计算任务所属任务ID")
public String taskId;

View File

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.PostMapping;
public interface ITaskFeignClient {
// "作业提交"
@PostMapping(value = "/pbs/adapterSubmitHpcJob")
@PostMapping("/pbs/adapterSubmitHpcJob")
SdmResponse<String> adapterSubmitHpcJob( SubmitHpcTaskRemoteReq req);
}

View File

@@ -13,6 +13,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@@ -30,18 +31,18 @@ public class TaskAdapter implements ITaskFeignClient {
@Autowired
private TaskController taskController;
@PostMapping(value = "/adapterSubmitHpcJob")
@PostMapping("/adapterSubmitHpcJob")
@Operation(summary = "作业提交")
public SdmResponse<String> adapterSubmitHpcJob(SubmitHpcTaskRemoteReq req) {
public SdmResponse<String> adapterSubmitHpcJob(@RequestBody SubmitHpcTaskRemoteReq req) {
// spdm 回传路径
// 求解文件获取,可以在这一层分片上传,然后拿到对应的路径
getSimulationFile(req);
SubmitHpcTaskReq submitHpcTaskReq = new SubmitHpcTaskReq();
getSimulationFile(req,submitHpcTaskReq);
BeanUtils.copyProperties(req,submitHpcTaskReq);
return taskController.submitHpcJob(submitHpcTaskReq);
}
private void getSimulationFile(SubmitHpcTaskRemoteReq req){
private void getSimulationFile(SubmitHpcTaskRemoteReq req,SubmitHpcTaskReq submitHpcTaskReq ){
log.info("提交请求参数:{}", JSONObject.toJSONString(req));
String simulationFileLocalPath = req.getSimulationFileLocalPath();
String masterFileRegularStr = req.getMasterFileRegularStr();
@@ -54,14 +55,14 @@ public class TaskAdapter implements ITaskFeignClient {
FilesUtil.collectFiles(simulationFileLocalPath,masterFileRegularStr,inputFilesRegularStr,masterFilePath,inputFilePaths);
try {
MultipartFile masterMultipartFile = FilesUtil.toMultipartFile(masterFilePath.get());
req.setMasterFile(masterMultipartFile);
submitHpcTaskReq.setMasterFile(masterMultipartFile);
if(CollectionUtils.isNotEmpty(inputFilePaths)){
List<MultipartFile> inputFiles = new ArrayList<>();
for (String inputFilePath : inputFilePaths) {
MultipartFile inputFile = FilesUtil.toMultipartFile(inputFilePath);
inputFiles.add(inputFile);
}
req.setInputFiles(inputFiles);
submitHpcTaskReq.setInputFiles(inputFiles);
}
} catch (Exception e) {
log.error("getSimulationFile error",e);