diff --git a/1-sql/2025-12-30/system/simulation_app_call_record.sql b/1-sql/2025-12-30/system/simulation_app_call_record.sql new file mode 100644 index 00000000..19bbcda5 --- /dev/null +++ b/1-sql/2025-12-30/system/simulation_app_call_record.sql @@ -0,0 +1,33 @@ +/* + Navicat Premium Dump SQL + + Source Server : 基线版本 + Source Server Type : MySQL + Source Server Version : 80043 (8.0.43) + Source Host : 192.168.65.161:3306 + Source Schema : spdm_baseline + + Target Server Type : MySQL + Target Server Version : 80043 (8.0.43) + File Encoding : 65001 + + Date: 30/12/2025 20:03:18 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for simulation_app_call_record +-- ---------------------------- +DROP TABLE IF EXISTS `simulation_app_call_record`; +CREATE TABLE `simulation_app_call_record` ( + `id` int NOT NULL AUTO_INCREMENT, + `appName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '应用名称', + `appType` tinyint NOT NULL COMMENT '应用类型 1:本地应用 2:云应用 3:hpc求解应用 4:web应用', + `creator` bigint NOT NULL COMMENT '应用调用人', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '应用调用时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/capability/src/main/java/com/sdm/capability/controller/FlowController.java b/capability/src/main/java/com/sdm/capability/controller/FlowController.java index 962f6343..771d7783 100644 --- a/capability/src/main/java/com/sdm/capability/controller/FlowController.java +++ b/capability/src/main/java/com/sdm/capability/controller/FlowController.java @@ -147,4 +147,10 @@ public class FlowController implements ISimulationFlowFeignClient { return IFlowService.queryFlowTemplateInfoByTemplateCode(templateCode); } + @GetMapping("/queryValidFlowTemplate") + public SdmResponse> queryValidFlowTemplateInfo() + { + return IFlowService.queryValidFlowTemplateInfo(); + } + } diff --git a/capability/src/main/java/com/sdm/capability/service/IFlowService.java b/capability/src/main/java/com/sdm/capability/service/IFlowService.java index 98a06fc6..ddf15940 100644 --- a/capability/src/main/java/com/sdm/capability/service/IFlowService.java +++ b/capability/src/main/java/com/sdm/capability/service/IFlowService.java @@ -95,4 +95,10 @@ public interface IFlowService { */ SdmResponse queryFlowTemplateInfoByTemplateCode(String templateCode); + /** + * 获取系统中有效的流程模版 + * @return + */ + SdmResponse> queryValidFlowTemplateInfo(); + } diff --git a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java index 673f7198..f1a21190 100644 --- a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java +++ b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java @@ -544,4 +544,22 @@ public class FlowServiceImpl extends BaseService implements IFlowService { } return response; } + + @Override + public SdmResponse> queryValidFlowTemplateInfo() + { + SdmResponse> response = SdmResponse.success(); + String condition = " approveType=2 AND templateStatus=1 "; + List flowTemplates = flowMapper.queryFlowTemplateByCondition(condition); + List flowTemplateRespList = new ArrayList<>(); + for(SimulationFlowTemplate flowTemplate : flowTemplates) + { + FlowTemplateResp flowTemplateResp = new FlowTemplateResp(); + flowTemplateResp.templateCode = flowTemplate.getTemplateCode(); + flowTemplateResp.templateName = flowTemplate.getTemplateName(); + flowTemplateRespList.add(flowTemplateResp); + } + response.setData(flowTemplateRespList); + return response; + } } diff --git a/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java b/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java index adb12673..fb3d5ae2 100644 --- a/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java +++ b/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java @@ -8,6 +8,7 @@ import com.sdm.common.feign.inter.capability.ISimulationFlowFeignClient; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.GetMapping; import java.util.List; @@ -123,4 +124,20 @@ public class SimulationFlowFeignClientImpl implements ISimulationFlowFeignClient return SdmResponse.failed("查询流程模板信息失败异常"); } } + + @Override + public SdmResponse> queryValidFlowTemplateInfo() + { + SdmResponse> response; + try { + response = flowFeignClient.queryValidFlowTemplateInfo(); + if (!response.isSuccess()) { + return SdmResponse.failed("查询有效流程模板信息失败"); + } + return response; + } catch (Exception e) { + log.error("查询有效流程模板信息失败异常", e); + return SdmResponse.failed("查询有效流程模板信息失败异常"); + } + } } diff --git a/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java b/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java index 81180645..861cb494 100644 --- a/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java +++ b/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java @@ -36,4 +36,7 @@ public interface ISimulationFlowFeignClient { @GetMapping("/flow/queryFlowTemplateInfoByTemplateCode") SdmResponse queryFlowTemplateInfoByTemplateCode(@RequestParam("templateCode") String templateCode); + @GetMapping("/flow/queryValidFlowTemplate") + SdmResponse> queryValidFlowTemplateInfo(); + } diff --git a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java index 962f70dd..993e649b 100644 --- a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java +++ b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java @@ -16,9 +16,11 @@ import com.sdm.common.entity.req.data.GetFileSimulationMappingReq; import com.sdm.common.entity.req.data.SaveFileSimulationMappingReq; import com.sdm.common.entity.req.system.LaunchApproveReq; import com.sdm.common.entity.req.task.BindTaskAndFlowTemplateReq; +import com.sdm.common.entity.resp.capability.FlowTemplateResp; import com.sdm.common.entity.resp.data.FileMetadataInfoResp; import com.sdm.common.feign.impl.project.SimulationTaskFeignClientImpl; import com.sdm.common.feign.impl.system.ApproveFeignClientImpl; +import com.sdm.common.feign.inter.capability.ISimulationFlowFeignClient; import com.sdm.common.feign.inter.data.IFileSimulationMappingFeignClient; import com.sdm.common.feign.inter.project.ISimulationTaskFeignClient; import com.sdm.common.service.BaseService; @@ -62,6 +64,9 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul @Autowired private ISimulationTaskFeignClient simulationTaskFeignClient; + @Autowired + private ISimulationFlowFeignClient simulationFlowFeignClient; + @Value("${approve.replyUrl}") private String approveReplyUrl; @@ -429,8 +434,20 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul JSONObject poolJson = JSONObject.parseObject(contents); List templateRelates = mapper.queryTaskFlowRelateByPoolVersion(poolName,version); Map taskFlowMap = new HashMap<>(); + Map validFlowTemplateMap = new HashMap<>(); + SdmResponse> validFlowTemplates = simulationFlowFeignClient.queryValidFlowTemplateInfo(); + if(validFlowTemplates.isSuccess()) { + List flowTemplates = validFlowTemplates.getData(); + for(FlowTemplateResp templateResp : flowTemplates) + { + String flowCode = templateResp.templateCode; + validFlowTemplateMap.put(flowCode,templateResp); + } + } for(SimulatePoolTaskFlowTemplateRelate relate : templateRelates) { + if(!validFlowTemplateMap.containsKey(relate.flowCode)) + continue; String flowTemplates = taskFlowMap.get(relate.taskUuid); if(flowTemplates == null) {