From b72783438b5152a61ea8861282e467b001005606 Mon Sep 17 00:00:00 2001 From: gulongcheng <474084054@qq.com> Date: Tue, 2 Dec 2025 15:40:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=B7=A5=E5=86=B5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../req/data/GetFileSimulationMappingReq.java | 12 +++++++ .../FileSimulationMappingFeignClientImpl.java | 19 +++++++++- .../IFileSimulationMappingFeignClient.java | 7 ++++ .../FileSimulationMappingController.java | 15 ++++++++ .../IFileSimulationMappingService.java | 7 ++++ .../FileSimulationMappingServiceImpl.java | 35 +++++++++++++++++++ 6 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 common/src/main/java/com/sdm/common/entity/req/data/GetFileSimulationMappingReq.java diff --git a/common/src/main/java/com/sdm/common/entity/req/data/GetFileSimulationMappingReq.java b/common/src/main/java/com/sdm/common/entity/req/data/GetFileSimulationMappingReq.java new file mode 100644 index 00000000..f9852d44 --- /dev/null +++ b/common/src/main/java/com/sdm/common/entity/req/data/GetFileSimulationMappingReq.java @@ -0,0 +1,12 @@ +package com.sdm.common.entity.req.data; + +import lombok.Data; + +import java.util.List; + +@Data +public class GetFileSimulationMappingReq { + Integer simulationPoolId; + String simulationPoolVersion; + String simulationPoolTaskId; +} diff --git a/common/src/main/java/com/sdm/common/feign/impl/data/FileSimulationMappingFeignClientImpl.java b/common/src/main/java/com/sdm/common/feign/impl/data/FileSimulationMappingFeignClientImpl.java index af138d7f..a4661183 100644 --- a/common/src/main/java/com/sdm/common/feign/impl/data/FileSimulationMappingFeignClientImpl.java +++ b/common/src/main/java/com/sdm/common/feign/impl/data/FileSimulationMappingFeignClientImpl.java @@ -1,11 +1,15 @@ package com.sdm.common.feign.impl.data; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.req.data.GetFileSimulationMappingReq; import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq; +import com.sdm.common.entity.resp.data.FileMetadataInfoResp; import com.sdm.common.feign.inter.data.IFileSimulationMappingFeignClient; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; + @Slf4j public class FileSimulationMappingFeignClientImpl implements IFileSimulationMappingFeignClient { @Autowired @@ -19,7 +23,20 @@ public class FileSimulationMappingFeignClientImpl implements IFileSimulationMapp return response; } catch (Exception e) { log.error("保存文件和工况库关系", e); - return SdmResponse.failed("保存文件和工况库关系"); + return SdmResponse.failed("保存文件和工况库关系失败"); + } + } + + @Override + public SdmResponse> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(GetFileSimulationMappingReq getFileSimulationMappingReq) { + SdmResponse> response; + try { + response = fileSimulationMappingFeignClient.getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(getFileSimulationMappingReq); + log.info("查询工况库关系文件结果:"+ response); + return response; + } catch (Exception e) { + log.error("查询工况库关系文件", e); + return SdmResponse.failed("查询工况库关系文件失败"); } } } diff --git a/common/src/main/java/com/sdm/common/feign/inter/data/IFileSimulationMappingFeignClient.java b/common/src/main/java/com/sdm/common/feign/inter/data/IFileSimulationMappingFeignClient.java index d60e944e..3971fadd 100644 --- a/common/src/main/java/com/sdm/common/feign/inter/data/IFileSimulationMappingFeignClient.java +++ b/common/src/main/java/com/sdm/common/feign/inter/data/IFileSimulationMappingFeignClient.java @@ -1,13 +1,20 @@ package com.sdm.common.feign.inter.data; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.req.data.GetFileSimulationMappingReq; import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq; +import com.sdm.common.entity.resp.data.FileMetadataInfoResp; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + @FeignClient(name = "data", contextId = "fileSimulationMappingFeignClient") public interface IFileSimulationMappingFeignClient { @PostMapping("/fileSimulationMapping/saveFileSimulationMapping") SdmResponse saveFileSimulationMapping(@RequestBody SaveFileSimulationMappingReq saveFileSimulationMappingReq); + + @PostMapping("/getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId") + SdmResponse> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(@RequestBody GetFileSimulationMappingReq getFileSimulationMappingReq); } diff --git a/data/src/main/java/com/sdm/data/controller/FileSimulationMappingController.java b/data/src/main/java/com/sdm/data/controller/FileSimulationMappingController.java index bc898ede..45a86090 100644 --- a/data/src/main/java/com/sdm/data/controller/FileSimulationMappingController.java +++ b/data/src/main/java/com/sdm/data/controller/FileSimulationMappingController.java @@ -2,8 +2,11 @@ package com.sdm.data.controller; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.req.data.GetFileSimulationMappingReq; +import com.sdm.common.entity.resp.data.FileMetadataInfoResp; import com.sdm.common.feign.inter.data.IFileSimulationMappingFeignClient; import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq; +import com.sdm.data.model.entity.FileSimulationMapping; import com.sdm.data.service.IFileSimulationMappingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -12,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** *

* 文件与工况任务绑定关系 @@ -33,4 +38,14 @@ public class FileSimulationMappingController implements IFileSimulationMappingFe return fileSimulationMappingService.saveSimulationAndFileMapping(saveFileSimulationMappingReq); } + /** + * 根据工况库ID,版本号,工况任务ID查询文件信息 + */ + @PostMapping("/getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId") + public SdmResponse> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(@RequestBody GetFileSimulationMappingReq getFileSimulationMappingReq){ + return fileSimulationMappingService.getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(getFileSimulationMappingReq); + } + + + } diff --git a/data/src/main/java/com/sdm/data/service/IFileSimulationMappingService.java b/data/src/main/java/com/sdm/data/service/IFileSimulationMappingService.java index e68d5a3e..613e6cd9 100644 --- a/data/src/main/java/com/sdm/data/service/IFileSimulationMappingService.java +++ b/data/src/main/java/com/sdm/data/service/IFileSimulationMappingService.java @@ -1,6 +1,8 @@ package com.sdm.data.service; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.req.data.GetFileSimulationMappingReq; +import com.sdm.common.entity.resp.data.FileMetadataInfoResp; import com.sdm.data.model.entity.FileSimulationMapping; import com.baomidou.mybatisplus.extension.service.IService; import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq; @@ -19,4 +21,9 @@ public interface IFileSimulationMappingService extends IService simulationPoolTaskIds); SdmResponse saveSimulationAndFileMapping(SaveFileSimulationMappingReq saveFileSimulationMappingReq); + + /** + * 根据工况库ID,版本号,工况任务ID查询文件信息 + */ + SdmResponse> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(GetFileSimulationMappingReq getFileSimulationMappingReq); } diff --git a/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java index 1b7c4636..6e124bca 100644 --- a/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/FileSimulationMappingServiceImpl.java @@ -1,13 +1,21 @@ package com.sdm.data.service.impl; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.req.data.GetFileSimulationMappingReq; +import com.sdm.common.entity.resp.data.FileMetadataInfoResp; +import com.sdm.data.model.entity.FileMetadataInfo; import com.sdm.data.model.entity.FileSimulationMapping; import com.sdm.data.dao.FileSimulationMappingMapper; import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq; +import com.sdm.data.service.IFileMetadataInfoService; import com.sdm.data.service.IFileSimulationMappingService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -20,6 +28,8 @@ import java.util.List; */ @Service public class FileSimulationMappingServiceImpl extends ServiceImpl implements IFileSimulationMappingService { + @Autowired + IFileMetadataInfoService fileMetadataInfoService; public void saveFileSimulationMapping(Long fileId,Integer simulationPoolId,String simulationPoolVersion,List simulationPoolTaskIds){ // 先删除原先所有的文件绑定关系 this.lambdaUpdate().eq(FileSimulationMapping::getFileId, fileId).remove(); @@ -46,4 +56,29 @@ public class FileSimulationMappingServiceImpl extends ServiceImpl> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(GetFileSimulationMappingReq getFileSimulationMappingReq) { + List list = this.lambdaQuery().eq(FileSimulationMapping::getSimulationPoolId, getFileSimulationMappingReq.getSimulationPoolId()) + .eq(FileSimulationMapping::getSimulationPoolVersion, getFileSimulationMappingReq.getSimulationPoolVersion()) + .eq(FileSimulationMapping::getSimulationPoolTaskId, getFileSimulationMappingReq.getSimulationPoolTaskId()) + .list(); + if (list.isEmpty()) { + return SdmResponse.success(); + } + List fileMetadataInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, list.stream().map(FileSimulationMapping::getFileId).toList()).list(); + if (fileMetadataInfos.isEmpty()){ + return SdmResponse.success(); + } + List fileMetadataInfoResps = new ArrayList<>(); + fileMetadataInfos.forEach(fileMetadataInfo -> { + FileMetadataInfoResp fileMetadataInfoResp = new FileMetadataInfoResp(); + BeanUtils.copyProperties(fileMetadataInfo, fileMetadataInfoResp); + fileMetadataInfoResps.add(fileMetadataInfoResp); + }); + + return SdmResponse.success(fileMetadataInfoResps); + + + } }