diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/PublishController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/PublishController.java index 482dc41..8ad2089 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/PublishController.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/PublishController.java @@ -2,6 +2,7 @@ package com.bipt.intelligentapplicationorchestrationservice.controller; import com.bipt.intelligentapplicationorchestrationservice.config.IpConfig; import com.bipt.intelligentapplicationorchestrationservice.entity.DeployRequest; +import com.bipt.intelligentapplicationorchestrationservice.entity.ModelSelectVO; import com.bipt.intelligentapplicationorchestrationservice.mapper.ModelMapper; import com.bipt.intelligentapplicationorchestrationservice.pojo.*; import com.bipt.intelligentapplicationorchestrationservice.service.ModelDeployer; @@ -48,7 +49,7 @@ public class PublishController { //调用模型部署 DeployRequest request = new DeployRequest(); Long modelId = servicePublishDTO.getModelId(); - ModelVersion modelVersion = modelMapper.selectById(modelId); + ModelVersion modelVersion = modelMapper.selectByModelId(modelId); String modelConfig = modelVersion.getModelConfig(); //假设modelConfig只存GPU数据 request.setModelId(String.valueOf(modelId)); @@ -107,4 +108,10 @@ public class PublishController { log.info("返回列表;{}",ips); return OptResult.success(ips); } + @GetMapping("/config/ids") + public OptResult> getModelNames(){ + List modelSelectVOS = publishService.getModelNames(); + log.info("获取到模型列表:{}",modelSelectVOS); + return OptResult.success(modelSelectVOS); + } } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/entity/ModelSelectVO.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/entity/ModelSelectVO.java new file mode 100644 index 0000000..4b99b6c --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/entity/ModelSelectVO.java @@ -0,0 +1,10 @@ +package com.bipt.intelligentapplicationorchestrationservice.entity; + +import lombok.Data; + +@Data +public class ModelSelectVO { + private Long modelId; // 模型ID(即modelId,对应ModelVersion的id) + private String modelName; // 模型名称(如"图像识别模型") + private String version; // 版本信息(如"v1.0.0") +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java index c8d5e03..a043236 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java @@ -76,4 +76,6 @@ public interface ModelMapper { */ @Select("select dataset_id,dataset_name from dataset") List listDataset(); + + ModelVersion selectByModelId(Long modelId); } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/PublishMapper.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/PublishMapper.java index 8be4fea..5bb4c45 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/PublishMapper.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/PublishMapper.java @@ -1,6 +1,6 @@ package com.bipt.intelligentapplicationorchestrationservice.mapper; -import com.bipt.intelligentapplicationorchestrationservice.pojo.ModelVersion; +import com.bipt.intelligentapplicationorchestrationservice.entity.ModelSelectVO; import com.bipt.intelligentapplicationorchestrationservice.pojo.ServicePublishDTO; import com.bipt.intelligentapplicationorchestrationservice.pojo.ServicePublishVO; import org.apache.ibatis.annotations.Mapper; @@ -19,4 +19,11 @@ public interface PublishMapper { @Select("SELECT model_id,api_url,ip FROM service_publish") List listPublishedServices(); + @Select("SELECT " + + "mv.model_id AS modelId, " + + "m.model_name AS modelName, " + + "mv.version AS version " + + "FROM model_version mv " + + "LEFT JOIN model_info m ON mv.model_id = m.id") + List selectModelSelectList(); } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/PublishServiceImpl.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/PublishServiceImpl.java index a5f0b6f..82815b8 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/PublishServiceImpl.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/PublishServiceImpl.java @@ -1,5 +1,6 @@ package com.bipt.intelligentapplicationorchestrationservice.service.Impl; +import com.bipt.intelligentapplicationorchestrationservice.entity.ModelSelectVO; import com.bipt.intelligentapplicationorchestrationservice.mapper.PublishMapper; import com.bipt.intelligentapplicationorchestrationservice.pojo.ServicePublishDTO; import com.bipt.intelligentapplicationorchestrationservice.pojo.ServicePublishVO; @@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; /** @@ -33,8 +35,6 @@ public class PublishServiceImpl implements PublishService { throw new IllegalArgumentException("请求已存在: " + apiUrl); } - //todo调用服务部署 - publishMapper.insert(servicePublishDTO); } @@ -43,5 +43,10 @@ public class PublishServiceImpl implements PublishService { return publishMapper.listPublishedServices(); } + @Override + public List getModelNames() { + return publishMapper.selectModelSelectList(); + } + } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/PublishService.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/PublishService.java index 11f43b8..d0a8326 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/PublishService.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/PublishService.java @@ -1,5 +1,6 @@ package com.bipt.intelligentapplicationorchestrationservice.service; +import com.bipt.intelligentapplicationorchestrationservice.entity.ModelSelectVO; import com.bipt.intelligentapplicationorchestrationservice.pojo.ServicePublishDTO; import com.bipt.intelligentapplicationorchestrationservice.pojo.ServicePublishVO; @@ -11,4 +12,6 @@ public interface PublishService { List listPublishedServices(); + + List getModelNames(); } diff --git a/src/main/resources/mapper/ModelMapper.xml b/src/main/resources/mapper/ModelMapper.xml index 10d5c6d..68c1836 100644 --- a/src/main/resources/mapper/ModelMapper.xml +++ b/src/main/resources/mapper/ModelMapper.xml @@ -39,6 +39,17 @@ FROM model_info t1 JOIN model_version t2 ON t1.id = t2.model_id where t2.id = #{id} +