YA项目接口实现

This commit is contained in:
daiqy88
2025-11-28 13:39:47 +08:00
parent 97e47589d9
commit e44b31d799
4 changed files with 109 additions and 32 deletions

View File

@@ -35,7 +35,7 @@ spring:
nacos:
discovery:
server-addr: 192.168.65.161:8848
group: LOCAL_GROUP
group: DAI_GROUP
enabled: true
servlet:
multipart:

View File

@@ -1,14 +1,12 @@
package com.sdm.project.controller;
import com.alibaba.fastjson2.JSONObject;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.data.UploadFilesReq;
import com.sdm.project.model.req.YA.GetModelNodeInfoReq;
import com.sdm.project.model.req.YA.SaveModelNodeInfoReq;
import com.sdm.project.model.req.YA.SyncCidProjectReq;
import com.sdm.project.model.req.YA.SyncCidTaskReq;
import com.sdm.project.service.INodeService;
import com.sdm.project.service.ITaskService;
import com.sdm.common.feign.inter.data.IDataFeignClient;
import com.sdm.project.model.req.YA.*;
import com.sdm.project.model.resp.YA.BosimSaveNodeInfoRsp;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -16,26 +14,19 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
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;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/dataManager/tree/node")
@Tag(name = "宜安项目数据归档", description = "宜安项目模型数据关了")
public class YAModelController {
@Resource
private INodeService nodeService;
@Autowired
private IDataFeignClient dataFeignClient;
@Resource
private ITaskService taskService;
/**
* 创建文件夹
* 保存仿真模型数据
*
* @param req
* @return
@@ -53,9 +44,8 @@ public class YAModelController {
)
)
)
public SdmResponse saveModelNodeInfo(@RequestBody @Validated SaveModelNodeInfoReq req)
public BosimSaveNodeInfoRsp saveModelNodeInfo(SaveModelNodeInfoReq req)
{
UploadFilesReq fileReq = new UploadFilesReq();
fileReq.setFileName(req.getName());
fileReq.setProjectId(req.getProject());
@@ -63,10 +53,95 @@ public class YAModelController {
fileReq.setFile(req.getFile());
fileReq.setUuid(req.getScenario());
fileReq.setAnalysisDirectionId(req.getScenario());
return null;
SdmResponse uploadRespond = dataFeignClient.uploadFiles(fileReq);
BosimSaveNodeInfoRsp rsp = new BosimSaveNodeInfoRsp();
if(uploadRespond.isSuccess())
{
JSONObject data = (JSONObject) uploadRespond.getData();
rsp.setCode("200");
rsp.setMessage("success");
long fileId = data.getLong("fileId");
rsp.getWorkRequest().add(String.valueOf(fileId));
}
return rsp;
}
/**
* 保存仿真报告
*
* @param req
* @return
*/
@PostMapping(value = "/SaveReportNodeInfo", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@Operation(
summary = "上传仿真报告",
description = "仿真报告归档,支持同时上传文件和附加参数",
requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(
description = "仿真报告上传请求",
required = true,
content = @Content(
mediaType = MediaType.MULTIPART_FORM_DATA_VALUE,
schema = @Schema(implementation = SaveReportNodeInfoReq.class)
)
)
)
public BosimSaveNodeInfoRsp saveReportNodeInfo(SaveReportNodeInfoReq req)
{
UploadFilesReq fileReq = new UploadFilesReq();
fileReq.setFileName(req.getName());
fileReq.setProjectId(req.getProject());
fileReq.setFileType(2);
fileReq.setFile(req.getFile());
fileReq.setUuid(req.getScenario());
fileReq.setAnalysisDirectionId(req.getScenario());
SdmResponse uploadRespond = dataFeignClient.uploadFiles(fileReq);
BosimSaveNodeInfoRsp rsp = new BosimSaveNodeInfoRsp();
if(uploadRespond.isSuccess())
{
JSONObject data = (JSONObject) uploadRespond.getData();
rsp.setCode("200");
rsp.setMessage("success");
long fileId = data.getLong("fileId");
rsp.getWorkRequest().add(String.valueOf(fileId));
}
return rsp;
}
/**
* 保存仿真关键结果
* @param req
* @return
*/
@PostMapping(value = "/SaveKeyResultNodeInfo", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@Operation(
summary = "保存仿真关键结果",
description = "仿真关键结果归档,支持同时上传文件和附加参数",
requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(
description = "仿真关键结果上传请求",
required = true,
content = @Content(
mediaType = MediaType.MULTIPART_FORM_DATA_VALUE,
schema = @Schema(implementation = SaveReportNodeInfoReq.class)
)
)
)
public BosimSaveNodeInfoRsp saveKeyResultNodeInfo(SaveKeyResultNodeInfoReq req)
{
}
@PostMapping("")
public BosimSaveNodeInfoRsp deleteModelNodeInfo(DeleteModelNodeInfoReq req)
{
}
@PostMapping("GetModelNodeInfoByIdAndType")
public void getModelNodeInfo(@RequestBody @Validated GetModelNodeInfoReq req)
{
@@ -79,16 +154,16 @@ public class YAModelController {
}
@PostMapping("syncProject")
public void syncCidProject(@RequestBody @Validated SyncCidProjectReq req)
@PostMapping("SyncProject")
public void syncCidProject()
{
nodeService.syncProject(req);
}
@PostMapping("syncCidTask")
public void syncCidTask(@RequestBody @Validated SyncCidTaskReq req)
@PostMapping("SyncCidTask")
public void syncCidTask()
{
taskService.syncCidTask(req);
}
}

View File

@@ -1,17 +1,19 @@
package com.sdm.project.model.resp.YA;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
public class BosimSaveModelNodeRsp {
@Data
public class BosimSaveNodeInfoRsp {
@Schema(description = "返回码")
private String code;
private String code ;
@Schema(description = "返回信息")
private String message;
private String message = "";
private List<String> workRequest = new ArrayList<>();
}

View File

@@ -36,7 +36,7 @@ spring:
discovery:
server-addr: 192.168.65.161:8848
enabled: true
group: LOCAL_GROUP
group: DAI_GROUP
# username: nacos
# password: ENC(+QKYnI6gAYu1SbLaZQTkZA==)
data: