知识库关联工况接口

This commit is contained in:
2025-12-02 15:40:03 +08:00
parent b3a0ae3454
commit b72783438b
6 changed files with 94 additions and 1 deletions

View File

@@ -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;
}

View File

@@ -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<List<FileMetadataInfoResp>> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(GetFileSimulationMappingReq getFileSimulationMappingReq) {
SdmResponse<List<FileMetadataInfoResp>> response;
try {
response = fileSimulationMappingFeignClient.getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(getFileSimulationMappingReq);
log.info("查询工况库关系文件结果:"+ response);
return response;
} catch (Exception e) {
log.error("查询工况库关系文件", e);
return SdmResponse.failed("查询工况库关系文件失败");
}
}
}

View File

@@ -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<List<FileMetadataInfoResp>> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(@RequestBody GetFileSimulationMappingReq getFileSimulationMappingReq);
}

View File

@@ -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;
/**
* <p>
* 文件与工况任务绑定关系
@@ -33,4 +38,14 @@ public class FileSimulationMappingController implements IFileSimulationMappingFe
return fileSimulationMappingService.saveSimulationAndFileMapping(saveFileSimulationMappingReq);
}
/**
* 根据工况库ID版本号工况任务ID查询文件信息
*/
@PostMapping("/getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId")
public SdmResponse<List<FileMetadataInfoResp>> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(@RequestBody GetFileSimulationMappingReq getFileSimulationMappingReq){
return fileSimulationMappingService.getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(getFileSimulationMappingReq);
}
}

View File

@@ -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<FileSimulationMa
void saveFileSimulationMapping(Long fileId,Integer simulationPoolId,String simulationPoolVersion,List<String> simulationPoolTaskIds);
SdmResponse saveSimulationAndFileMapping(SaveFileSimulationMappingReq saveFileSimulationMappingReq);
/**
* 根据工况库ID版本号工况任务ID查询文件信息
*/
SdmResponse<List<FileMetadataInfoResp>> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(GetFileSimulationMappingReq getFileSimulationMappingReq);
}

View File

@@ -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<FileSimulationMappingMapper, FileSimulationMapping> implements IFileSimulationMappingService {
@Autowired
IFileMetadataInfoService fileMetadataInfoService;
public void saveFileSimulationMapping(Long fileId,Integer simulationPoolId,String simulationPoolVersion,List<String> simulationPoolTaskIds){
// 先删除原先所有的文件绑定关系
this.lambdaUpdate().eq(FileSimulationMapping::getFileId, fileId).remove();
@@ -46,4 +56,29 @@ public class FileSimulationMappingServiceImpl extends ServiceImpl<FileSimulation
});
return SdmResponse.success();
}
@Override
public SdmResponse<List<FileMetadataInfoResp>> getFileSimulationMappingBySimulationPoolIdAndVersionAndTaskId(GetFileSimulationMappingReq getFileSimulationMappingReq) {
List<FileSimulationMapping> 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<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, list.stream().map(FileSimulationMapping::getFileId).toList()).list();
if (fileMetadataInfos.isEmpty()){
return SdmResponse.success();
}
List<FileMetadataInfoResp> fileMetadataInfoResps = new ArrayList<>();
fileMetadataInfos.forEach(fileMetadataInfo -> {
FileMetadataInfoResp fileMetadataInfoResp = new FileMetadataInfoResp();
BeanUtils.copyProperties(fileMetadataInfo, fileMetadataInfoResp);
fileMetadataInfoResps.add(fileMetadataInfoResp);
});
return SdmResponse.success(fileMetadataInfoResps);
}
}