fix:算例结果数据上传
This commit is contained in:
@@ -1,11 +1,17 @@
|
||||
package com.sdm.project.controller;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.QueryDirReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import com.sdm.project.model.req.ProjectTreeTagReq;
|
||||
import com.sdm.project.model.req.SpdmAddTaskRunReq;
|
||||
import com.sdm.project.model.req.SpdmTaskRunReq;
|
||||
import com.sdm.project.service.ISimulationRunService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -13,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = "/run")
|
||||
@@ -43,4 +50,44 @@ public class SimulationRunController {
|
||||
return runService.addTaskRun(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 任务执行 删除算例
|
||||
*/
|
||||
@PostMapping("/deleteTaskRun")
|
||||
public SdmResponse deleteTaskRun(@RequestBody SpdmTaskRunReq req) {
|
||||
return runService.deleteTaskRun(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询算例详情
|
||||
*/
|
||||
@PostMapping("/queryTaskRun")
|
||||
public SdmResponse<List<SimulationRun>> queryRunInfo(@RequestBody SpdmTaskRunReq req) {
|
||||
return runService.queryTaskRun(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建算例文件夹
|
||||
*/
|
||||
@PostMapping(value = "/createRunDir")
|
||||
public SdmResponse createRunDir(@RequestBody CreateDirReq req) {
|
||||
return runService.createRunDir(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建算例文件夹
|
||||
*/
|
||||
@PostMapping(value = "/queryRunDir")
|
||||
public SdmResponse queryRunDir(@RequestBody QueryDirReq req) {
|
||||
return runService.queryRunDir(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传算例文件
|
||||
*/
|
||||
@PostMapping(value = "/uploadRunFiles", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public SdmResponse uploadRunFiles(UploadFilesReq req) {
|
||||
return runService.uploadRunFiles(req);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ public class SimulationRun implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "Run对应在文件系统中的路径")
|
||||
@TableField("folderId")
|
||||
private String folderId;
|
||||
private Long folderId;
|
||||
|
||||
@ApiModelProperty(value = "计算父版本Id")
|
||||
@TableField("parentId")
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SpdmTaskRunReq {
|
||||
|
||||
@Schema(description = "算例名称")
|
||||
private String runName;
|
||||
|
||||
@Schema(description = "算例id")
|
||||
private String runId;
|
||||
|
||||
@Schema(description = "任务uuid")
|
||||
private String taskId;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,10 +1,14 @@
|
||||
package com.sdm.project.service;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.QueryDirReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.project.model.req.ProjectTreeTagReq;
|
||||
import com.sdm.project.model.req.SpdmAddTaskRunReq;
|
||||
import com.sdm.project.model.req.SpdmTaskRunReq;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -20,4 +24,14 @@ public interface ISimulationRunService extends IService<SimulationRun> {
|
||||
|
||||
SdmResponse addTaskRun(SpdmAddTaskRunReq req);
|
||||
|
||||
SdmResponse deleteTaskRun(SpdmTaskRunReq req);
|
||||
|
||||
SdmResponse queryTaskRun(SpdmTaskRunReq req);
|
||||
|
||||
SdmResponse createRunDir(CreateDirReq req);
|
||||
|
||||
SdmResponse queryRunDir(QueryDirReq req);
|
||||
|
||||
SdmResponse uploadRunFiles(UploadFilesReq req);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.sdm.project.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.NodeTypeEnum;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.QueryDirReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
@@ -28,6 +31,7 @@ import com.sdm.project.model.po.TaskNodePo;
|
||||
import com.sdm.project.model.req.ProjectTreeReq;
|
||||
import com.sdm.project.model.req.ProjectTreeTagReq;
|
||||
import com.sdm.project.model.req.SpdmAddTaskRunReq;
|
||||
import com.sdm.project.model.req.SpdmTaskRunReq;
|
||||
import com.sdm.project.service.ISimulationPerformanceService;
|
||||
import com.sdm.project.service.ISimulationRunService;
|
||||
import com.sdm.project.service.ISimulationTaskMemberService;
|
||||
@@ -482,7 +486,7 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
// 设置算例的文件夹路径 挂在所属任务下面
|
||||
SdmResponse<FileMetadataInfoResp> fileMetadataInfoResp = dataFeignClient.queryFileMetadataInfo(simulationTask.getUuid(), NodeTypeEnum.TASK.getValue());
|
||||
if (fileMetadataInfoResp.getData() != null) {
|
||||
simulationRun.setFolderId(fileMetadataInfoResp.getData().getObjectKey() + req.getRunName());
|
||||
simulationRun.setFolderId(fileMetadataInfoResp.getData().getId());
|
||||
}
|
||||
simulationRun.setUuid(RandomUtil.generateString(32));
|
||||
simulationRun.setRunName(req.getRunName());
|
||||
@@ -540,4 +544,55 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SdmResponse deleteTaskRun(SpdmTaskRunReq req) {
|
||||
if (this.removeById(req.getRunId())) {
|
||||
return SdmResponse.success();
|
||||
}
|
||||
return SdmResponse.failed("删除算例失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<List<SimulationRun>> queryTaskRun(SpdmTaskRunReq req) {
|
||||
LambdaQueryWrapper<SimulationRun> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(req.getRunId())) {
|
||||
queryWrapper.eq(SimulationRun::getUuid, req.getRunId());
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getRunName())) {
|
||||
queryWrapper.eq(SimulationRun::getRunName, req.getRunName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTaskId())) {
|
||||
queryWrapper.eq(SimulationRun::getTaskId, req.getTaskId());
|
||||
}
|
||||
List<SimulationRun> simulationRunList = this.list(queryWrapper);
|
||||
return SdmResponse.success(simulationRunList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse createRunDir(CreateDirReq req) {
|
||||
CreateDirReq createDirReq = new CreateDirReq();
|
||||
// 获取算例文件夹id
|
||||
SdmResponse<FileMetadataInfoResp> fileMetadataInfoResp = dataFeignClient.queryFileMetadataInfo(req.getUuId(), NodeTypeEnum.RUN.getValue());
|
||||
if (fileMetadataInfoResp.getData() != null) {
|
||||
createDirReq.setParDirId(fileMetadataInfoResp.getData().getId());
|
||||
}
|
||||
createDirReq.setDirName(req.getDirName());
|
||||
createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue());
|
||||
log.info("创建算例结果时,调用创建文件夹的参数为:{}", createDirReq);
|
||||
SdmResponse response = dataFeignClient.createDir(createDirReq);
|
||||
log.info("创建算例结果时,调用创建文件夹的返回值为:{}", response);
|
||||
return SdmResponse.success(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse queryRunDir(QueryDirReq req) {
|
||||
return SdmResponse.success(dataFeignClient.queryDir(req));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse uploadRunFiles(UploadFilesReq req) {
|
||||
return dataFeignClient.uploadFiles(req);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user