diff --git a/doc/数据库文档-杜冲.md b/doc/DesignDocument/数据库文档-杜冲.md
similarity index 100%
rename from doc/数据库文档-杜冲.md
rename to doc/DesignDocument/数据库文档-杜冲.md
diff --git a/doc/数据集结构设计.xlsx b/doc/DesignDocument/数据集结构设计.xlsx
similarity index 100%
rename from doc/数据集结构设计.xlsx
rename to doc/DesignDocument/数据集结构设计.xlsx
diff --git a/doc/智能应用服务管理模块数据库设计文档-宁欢.md b/doc/DesignDocument/智能应用服务管理模块数据库设计文档-宁欢.md
similarity index 100%
rename from doc/智能应用服务管理模块数据库设计文档-宁欢.md
rename to doc/DesignDocument/智能应用服务管理模块数据库设计文档-宁欢.md
diff --git a/doc/DesignDocument/模型服务表--hky.md b/doc/DesignDocument/模型服务表--hky.md
new file mode 100644
index 0000000..f4e8c64
--- /dev/null
+++ b/doc/DesignDocument/模型服务表--hky.md
@@ -0,0 +1,16 @@
+# 数据库设计文档
+
+## 服务发布
+
+### 服务发布
+
+#### 1.服务发布表(service_publish)
+
+| 序号 | 数据表名 | 中文名称 |
+| ---- | -------- | ------------------ |
+| 1 | id | 发布表id(发布记录唯一标识) |
+| 2 | model_id | 模型id |
+| 3 | api_url | api路径 |
+| 4 | create_time | 发布请求创建时间 |
+
+####
diff --git a/doc/DesignDocument/算法生命周期设计文档_孙一城.md b/doc/DesignDocument/算法生命周期设计文档_孙一城.md
new file mode 100644
index 0000000..2edebbf
--- /dev/null
+++ b/doc/DesignDocument/算法生命周期设计文档_孙一城.md
@@ -0,0 +1,16 @@
+# 算法生命周期管理数据库设计文档
+
+## 1. 数据表设计
+
+### 1.1 algorithm_info(算法基础信息表)
+| 字段名 | 类型 | 是否为空 | 默认值 | 说明 |
+|--------|------|----------|--------|------|
+| id | BIGINT | NOT NULL | AUTO_INCREMENT | 算法ID |
+| algorithm_name | VARCHAR(100) | NOT NULL | | 算法名称(唯一) |
+| algorithm_file | VARCHAR(255) | NOT NULL | | 算法文件路径 |
+| algorithm_type | VARCHAR(50) | NOT NULL | | 算法分类 |
+| description | TEXT | NULL | | 算法描述 |
+| created_by | VARCHAR(50) | NOT NULL | | 创建人 |
+| create_time | DATETIME | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
+| update_time | DATETIME | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
+| file_size | BIGINT | NULL | | 文件大小(字节) |
\ No newline at end of file
diff --git a/doc/WorkReport/2025-05-hky.md b/doc/WorkReport/2025-05-hky.md
new file mode 100644
index 0000000..61cea12
--- /dev/null
+++ b/doc/WorkReport/2025-05-hky.md
@@ -0,0 +1,106 @@
+# 工作日报 - 2025年5月
+## 2025年5月14日
+### ✅ 今日完成
+完成分页查询
+
+### 🚧 进行中
+删除操作
+
+### ⚠️ 问题/障碍
+测试方法不知道怎么写
+
+### 📅 明日计划
+写完删除代码,进行测试
+
+## 2025年5月15日
+### ✅ 今日完成
+完成删除数据集增加数据集,部分测试
+
+### 🚧 进行中
+测试(或添加具体异常处理)
+
+### ⚠️ 问题/障碍
+暂无
+
+### 📅 明日计划
+测试完毕,开下一个模块
+
+## 2025年5月18日
+### ✅ 今日完成
+格式修改,增加了枚举等方便后续维护和开发,修改了删除的逻辑
+
+### 🚧 进行中
+模型服务的数据库表设计
+
+### ⚠️ 问题/障碍
+暂无
+
+### 📅 明日计划
+完成模型服务的数据库表设计
+
+## 2025年5月19日
+### ✅ 今日完成
+模型发布的数据库设计
+
+### 🚧 进行中
+模型发布的逻辑开发
+
+### ⚠️ 问题/障碍
+暂无
+
+### 📅 明日计划
+完成模型发布的逻辑开发
+
+## 2025年5月20日
+### ✅ 今日完成
+服务发布逻辑开发(无GPU版)
+
+### 🚧 进行中
+redis设计
+
+### ⚠️ 问题/障碍
+暂无
+
+### 📅 明日计划
+完成redis设计,做完服务发布的逻辑开发
+
+## 2025年5月21日
+### ✅ 今日完成
+redis的服务器配置
+
+### 🚧 进行中
+开发服务发布的redis内容
+
+### ⚠️ 问题/障碍
+如何把model_version表中的配置中相关GPU资源的内容提取出来。
+
+### 📅 明日计划
+完成服务发布的开发
+
+## 2025年5月23日
+### ✅ 今日完成
+服务发布,拦截器部分功能
+
+### 🚧 进行中
+拦截器等待队列算法
+
+### ⚠️ 问题/障碍
+不知道怎么优先分配等待队列中任务
+
+### 📅 明日计划
+完成拦截器功能
+
+## 2025年5月25日
+### ✅ 今日完成
+服务发布可注册到nacos上
+
+### 🚧 进行中
+拦截器开发
+
+### ⚠️ 问题/障碍
+模型api请求不知道是什么
+
+### 📅 明日计划
+开发拦截器功能
+
+
diff --git a/doc/WorkReport/2025-05-nh.md b/doc/WorkReport/2025-05-nh.md
new file mode 100644
index 0000000..6e2c848
--- /dev/null
+++ b/doc/WorkReport/2025-05-nh.md
@@ -0,0 +1,108 @@
+# 工作日报 - 2025年5月
+## 2025年5月14日
+### ✅ 今日完成
+- 完成相关数据库表的创建
+- 模型评估部分实体类的定义
+- 新增了SpringBoot配置文件中的一些配置
+
+### 🚧 进行中
+- 模型评估部分显示日志后端部分开发
+
+### ⚠️ 问题/障碍
+- lombok注解出现问题,没法正常使用
+
+### 📅 明日计划
+- 继续开发模型评估部分
+- 尽量解决lombok存在的问题
+
+## 2025年5月15日
+
+### ✅ 今日完成
+
+* 基本完成模型评估部分开发
+* 引入了SpringDoc OpenAPI相关依赖和配置
+
+### 🚧 进行中
+
+* 继续优化模型评估部分
+
+### 📅 明日计划
+
+* 继续优化模型评估部分
+
+## 2025年5月19日
+
+### ✅ 今日完成
+
+- 项目设计文档分析
+- 尝试项目前端页面开发(数据集管理页面)
+
+### 🚧 进行中
+
+- 项目设计文档分析
+
+### 📅 明日计划
+
+- 基本完成创建模型部分后端开发
+
+## 2025年5月20日
+
+### ✅ 今日完成
+
+- 数据库表字段新增
+- 实体类定义与修改
+- 基本完成创建模型部分后端开发
+
+### 🚧 进行中
+
+- 创建模型部分后端优化
+
+### 📅 明日计划
+
+- 模型信息管理部分后端开发
+
+## 2025年5月23日
+
+### ✅ 今日完成
+
+- 模型信息管理前端页面基础搭建
+
+### 🚧 进行中
+
+- 模型信息管理前端页面搭建
+
+### 📅 明日计划
+
+- 模型信息管理前端页面搭建
+
+## 2025年5月24日
+
+### ✅ 今日完成
+
+- 模型信息管理前端页面部分数据与后端联调
+- 模型信息管理后端开发20%
+
+### 🚧 进行中
+
+- 模型信息管理后端开发
+- 模型信息管理前端页面部分数据与后端联调
+
+### 📅 明日计划
+
+- 模型信息管理后端开发
+- 模型信息管理前端页面部分数据与后端联调
+
+## 2025年5月25日
+
+### ✅ 今日完成
+
+- 模型信息管理前端页面开发
+- 模型信息管理后端开发90%(后续可能还需要根据需求优化)
+
+### 🚧 进行中
+
+- 模型信息管理前端页面开发
+
+### 📅 明日计划
+
+- 模型信息管理前端页面开发
\ No newline at end of file
diff --git a/doc/WorkReport/2025-05-孙一城.md b/doc/WorkReport/2025-05-孙一城.md
new file mode 100644
index 0000000..4c6141f
--- /dev/null
+++ b/doc/WorkReport/2025-05-孙一城.md
@@ -0,0 +1,8 @@
+# 工作日报 - 2025年5月
+## 2025年5月14日
+### ✅ 今日完成
+- 完成建表
+
+
+### 📅 明日计划
+- 实现需求文档功能
\ No newline at end of file
diff --git a/doc/WorkReport/2025-05-杜冲.md b/doc/WorkReport/2025-05-杜冲.md
index 04469c8..093ceae 100644
--- a/doc/WorkReport/2025-05-杜冲.md
+++ b/doc/WorkReport/2025-05-杜冲.md
@@ -47,8 +47,6 @@ _### 🚧 进行中
- 设计模型部署类
### ⚠️ 问题/障碍
-
-
- 暂无
### 📅 明日计划
diff --git a/doc/WorkReport/数据库文档-杜冲.md b/doc/WorkReport/数据库文档-杜冲.md
new file mode 100644
index 0000000..f34c069
--- /dev/null
+++ b/doc/WorkReport/数据库文档-杜冲.md
@@ -0,0 +1,9 @@
+**TableName: Gpu_Resource**
+
+| ֶ | | Լ | ֶ |
+|:-------------:|:-------------:|:-----------------:|:----------------------------------:|
+| GPUId | BIGINT | | GPUIDȫΨһʶ |
+| GPUModel | VARCHAR(64) | NOT NULL | GPUͺ |
+| GPUMemorySize | INT | NOT NULL | GPUڴС |
+| Ip | VARCHAR(15) | NOT NULL | GPUip |
+| CreatedTime | DATETIME | NOT NULL | GPUʱ |
diff --git a/doc/算法生命周期设计文档_孙一城.md b/doc/算法生命周期设计文档_孙一城.md
deleted file mode 100644
index 70dd6b9..0000000
--- a/doc/算法生命周期设计文档_孙一城.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# 算法生命周期管理数据库设计文档
-
-## 1. 数据表设计
-
-### 1.1 algorithm_info(算法基础信息表)
-| 字段名 | 类型 | 是否为空 | 默认值 | 说明 |
-|--------|------|----------|--------|------|
-| id | BIGINT | NOT NULL | AUTO_INCREMENT | 主键ID |
-| algorithm_name | VARCHAR(100) | NOT NULL | | 算法名称(唯一) |
-| algorithm_type | VARCHAR(50) | NOT NULL | | 算法分类 |
-| description | TEXT | NULL | | 算法描述 |
-| created_by | VARCHAR(50) | NOT NULL | | 创建人 |
-| create_time | DATETIME | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
-| update_time | DATETIME | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
-| status | TINYINT | NOT NULL | 1 | 状态(1启用 0禁用 -1删除) |
-
-### 1.2 algorithm_version(算法版本表)
-| 字段名 | 类型 | 是否为空 | 默认值 | 说明 |
-|--------|------|----------|--------|------|
-| id | BIGINT | NOT NULL | AUTO_INCREMENT | 版本ID |
-| algorithm_id | BIGINT | NOT NULL | | 关联算法ID |
-| version | VARCHAR(50) | NOT NULL | | 语义版本号 |
-| version_desc | TEXT | NULL | | 版本说明 |
-| storage_path | VARCHAR(255) | NOT NULL | | 存储路径 |
-| config_params | JSON | NULL | | 配置参数 |
-| creator | VARCHAR(50) | NOT NULL | | 创建人 |
-| create_time | DATETIME | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
-| status | TINYINT | NOT NULL | 0 | 状态(1发布 0开发 -1废弃) |
-
-### 1.3 algorithm_dependency(算法依赖表)
-| 字段名 | 类型 | 是否为空 | 默认值 | 说明 |
-|--------|------|----------|--------|------|
-| id | BIGINT | NOT NULL | AUTO_INCREMENT | 依赖ID |
-| algorithm_id | BIGINT | NOT NULL | | 关联算法ID |
-| version_id | BIGINT | NOT NULL | | 关联版本ID |
-| dependency_type | VARCHAR(50) | NOT NULL | | 依赖类型 |
-| dep_name | VARCHAR(100) | NOT NULL | | 依赖名称 |
-| dep_version | VARCHAR(50) | NOT NULL | | 依赖版本 |
-| create_time | DATETIME | NULL | CURRENT_TIMESTAMP | 创建时间 |
diff --git a/pom.xml b/pom.xml
index a0e576e..5aac308 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,148 +1,126 @@
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
+
org.springframework.boot
spring-boot-starter-parent
- 3.4.5
+ 3.1.5
+
com.bipt
intelligent-application-orchestration-service
0.0.1-SNAPSHOT
intelligent-application-orchestration-service
intelligent-application-orchestration-service
-
-
-
-
-
-
-
-
-
-
-
-
+
- 17
+ 21
+
+ 2022.0.4
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ 2022.0.0.0
+ pom
+ import
+
+
+
+
+
org.springframework.boot
spring-boot-starter-jdbc
-
+
- org.hibernate
- hibernate-core
- 6.4.5.Final
-
-
- org.jboss.logging
- jboss-logging
-
-
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
org.postgresql
postgresql
runtime
-
- org.projectlombok
- lombok
- true
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
-
-
- org.hibernate.javax.persistence
- hibernate-jpa-2.1-api
-
-
-
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
- org.springframework.boot
- spring-boot-starter-amqp
-
-
- org.springframework.kafka
- spring-kafka
- 3.2.4
-
-
- org.mybatis.spring.boot
- mybatis-spring-boot-starter
- 3.0.4
-
-
- org.apache.commons
- commons-lang3
- 3.17.0
-
-
- org.mapstruct
- mapstruct
- 1.5.5.Final
-
com.kingbase8
kingbase8
9.0.0
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.38
+ true
+
com.github.pagehelper
pagehelper-spring-boot-starter
1.4.7
- org.springframework.boot
- spring-boot-starter-redis
- 1.4.7.RELEASE
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
+ 2.3.0
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-bootstrap
+
+
+ org.springframework.cloud
+ spring-cloud-starter-gateway
+
+
+
org.springframework.boot
- spring-boot-starter-data-redis
- 3.2.0
+ spring-boot-starter-test
+ test
- com.mysql
- mysql-connector-j
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 3.0.4
- org.springframework.boot
- spring-boot-starter-actuator
-
-
- com.baomidou
- mybatis-plus-generator
- 3.5.6
-
-
- com.baomidou
- mybatis-plus-boot-starter
- 3.5.6
-
-
- com.fasterxml.jackson.core
- jackson-databind
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter-test
+ 3.0.4
+ test
@@ -152,10 +130,14 @@
org.apache.maven.plugins
maven-compiler-plugin
+
+ ${java.version}
+ ${java.version}
org.projectlombok
lombok
+ 1.18.38
@@ -172,29 +154,6 @@
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.mapstruct
- mapstruct-processor
- 1.5.5.Final
-
-
-
-
-
-
- src/main/resources
-
- **/*.xml
- **/*.properties
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/IntelligentApplicationOrchestrationServiceApplication.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/IntelligentApplicationOrchestrationServiceApplication.java
index c2c2302..5d34a0f 100644
--- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/IntelligentApplicationOrchestrationServiceApplication.java
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/IntelligentApplicationOrchestrationServiceApplication.java
@@ -1,15 +1,22 @@
package com.bipt.intelligentapplicationorchestrationservice;
+import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
-@MapperScan("com.bipt.intelligentapplicationorchestrationservice.mapper")
+@MapperScan("com.bipt.intelligentapplicationorchestrationservice.mapper")//指定扫描Mapper接口的包
@SpringBootApplication
+@EnableTransactionManagement
+@EnableDiscoveryClient
+@Slf4j
public class IntelligentApplicationOrchestrationServiceApplication {
public static void main(String[] args) {
SpringApplication.run(IntelligentApplicationOrchestrationServiceApplication.class, args);
+ log.info("server started");
}
}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/config/RedisConfiguration.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/config/RedisConfiguration.java
new file mode 100644
index 0000000..8e3a30a
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/config/RedisConfiguration.java
@@ -0,0 +1,26 @@
+package com.bipt.intelligentapplicationorchestrationservice.config;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+
+@Configuration
+@Slf4j
+public class RedisConfiguration {
+ @Bean
+ public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
+ log.info("开始创建redis模板对象...");
+ RedisTemplate redisTemplate = new RedisTemplate();
+ //设置redis的连接工厂对象
+ redisTemplate.setConnectionFactory(redisConnectionFactory);
+ //设置redis key的序列化器
+ redisTemplate.setKeySerializer(new StringRedisSerializer());
+
+ return redisTemplate;
+
+ }
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/config/WebMvcConfiguration.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/config/WebMvcConfiguration.java
new file mode 100644
index 0000000..003a69a
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/config/WebMvcConfiguration.java
@@ -0,0 +1,37 @@
+package com.bipt.intelligentapplicationorchestrationservice.config;
+
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Info;
+import io.swagger.v3.oas.models.servers.Server;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Configuration
+@Slf4j
+public class WebMvcConfiguration implements WebMvcConfigurer {
+
+ /**
+ * 配置OpenAPI信息
+ */
+ @Bean
+ public OpenAPI customOpenAPI() {
+ // 设置服务器信息(可选)
+ List servers = new ArrayList<>();
+ servers.add(new Server().url("/").description("本地服务器"));
+
+ return new OpenAPI()
+ .info(new Info()
+ .title("智能应用服务管理")
+ .version("2.0")
+ .description("智能应用服务管理接口文档"))
+ .servers(servers);
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/constant/MessageConstant.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/constant/MessageConstant.java
new file mode 100644
index 0000000..7347c95
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/constant/MessageConstant.java
@@ -0,0 +1,14 @@
+package com.bipt.intelligentapplicationorchestrationservice.constant;
+
+public class MessageConstant {
+ public static final String UNKNOWN_ERROR = "未知错误";
+ public static final String ALREADY_EXISTS = "已存在";
+
+ //生命周期相关常量
+ public static final String LifeCycle_No_Exist = "生命周期不存在";
+ public static final String LifeCycle_Undefined = "生命周期未定义";
+ public static final String ERROR_DEPLOYED_TO_DESIGNING = "已部署的模型不能直接调整成设计,需先下线再设计";
+ public static final String ERROR_ABANDONED_CANNOT_UPDATE = "已废弃的模型只能查看信息,不能更新生命周期";
+ public static final String ERROR_TRAINING_INVALID_TRANSITION = "训练中的模型只能调整成设计和评估";
+ public static final String UPDATE_FAILURE = "更新模型生命周期失败";
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/constant/StatusConstant.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/constant/StatusConstant.java
new file mode 100644
index 0000000..58abe56
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/constant/StatusConstant.java
@@ -0,0 +1,13 @@
+package com.bipt.intelligentapplicationorchestrationservice.constant;
+
+/**
+ * 状态常量,启用或者禁用
+ * @author hky
+ */
+public class StatusConstant {
+ //启用
+ public static final Integer ENABLE = 1;
+
+ //禁用
+ public static final Integer DISABLE = 0;
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/AlgorithmInfoController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/AlgorithmInfoController.java
new file mode 100644
index 0000000..df1f0e8
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/AlgorithmInfoController.java
@@ -0,0 +1,60 @@
+package com.bipt.intelligentapplicationorchestrationservice.controller;
+
+import com.bipt.intelligentapplicationorchestrationservice.pojo.AlgorithmInfo;
+import com.bipt.intelligentapplicationorchestrationservice.service.AlgorithmInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/algorithm")
+public class AlgorithmInfoController {
+
+ @Autowired
+ private AlgorithmInfoService algorithmInfoService;
+
+ @GetMapping("/{id}")
+ public ResponseEntity getById(@PathVariable Long id) {
+ AlgorithmInfo algorithmInfo = algorithmInfoService.getById(id);
+ return algorithmInfo != null ?
+ ResponseEntity.ok(algorithmInfo) :
+ ResponseEntity.notFound().build();
+ }
+
+ @GetMapping("/name/{algorithmName}")
+ public ResponseEntity getByName(@PathVariable String algorithmName) {
+ AlgorithmInfo algorithmInfo = algorithmInfoService.getByName(algorithmName);
+ return algorithmInfo != null ?
+ ResponseEntity.ok(algorithmInfo) :
+ ResponseEntity.notFound().build();
+ }
+
+ @GetMapping("/type/{algorithmType}")
+ public ResponseEntity> getByType(@PathVariable String algorithmType) {
+ List algorithmInfos = algorithmInfoService.getByType(algorithmType);
+ return ResponseEntity.ok(algorithmInfos);
+ }
+
+ @PutMapping("/{id}")
+ public ResponseEntity update(@PathVariable Long id, @RequestBody AlgorithmInfo algorithmInfo) {
+ algorithmInfo.setId(id);
+ if (!algorithmInfoService.validateAlgorithmInfo(algorithmInfo)) {
+ return ResponseEntity.badRequest().body("Invalid algorithm information");
+ }
+
+ boolean success = algorithmInfoService.update(algorithmInfo);
+ return success ?
+ ResponseEntity.ok("Update successful") :
+ ResponseEntity.badRequest().body("Update failed");
+ }
+
+ @DeleteMapping("/{id}")
+ public ResponseEntity delete(@PathVariable Long id) {
+ boolean success = algorithmInfoService.delete(id);
+ return success ?
+ ResponseEntity.ok("Delete successful") :
+ ResponseEntity.badRequest().body("Delete failed");
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java
new file mode 100644
index 0000000..fb86a00
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java
@@ -0,0 +1,75 @@
+package com.bipt.intelligentapplicationorchestrationservice.controller;
+
+import com.bipt.intelligentapplicationorchestrationservice.pojo.*;
+import com.bipt.intelligentapplicationorchestrationservice.service.DatasetService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+@Tag(name ="数据集相关接口")
+@RestController
+@RequestMapping("/dataset")
+@Slf4j
+public class DatasetController {
+ @Autowired
+ private DatasetService datasetService;
+
+ /**
+ * 新增数据集
+ * @param datasetDTO
+ * @return
+ */
+ @Operation(summary ="新增数据集")
+ @PostMapping
+ public OptResult save(@RequestBody DatasetDTO datasetDTO) {
+ log.info("新增数据集:{}", datasetDTO);
+ datasetService.save(datasetDTO);
+ return OptResult.success();
+ }
+
+ /**
+ * 分页查询
+ * @param dataSetPageQueryDTO
+ * @return
+ */
+ @Operation(summary ="分页查询")
+ @GetMapping("/page")
+ public OptResult page(DatasetPageQueryDTO dataSetPageQueryDTO) {
+ log.info("数据集分页查询:{}", dataSetPageQueryDTO);
+ PageResult pageResult = datasetService.pageQuery(dataSetPageQueryDTO);
+ return OptResult.success(pageResult);
+ }
+
+
+ /**
+ * 修改数据集
+ * @param datasetDTO
+ * @return
+ */
+ @Operation(summary ="修改数据集")
+ @PutMapping
+ public OptResult update(@RequestBody DatasetDTO datasetDTO){
+ log.info("修改数据集",datasetDTO);
+ datasetService.update(datasetDTO);
+ return OptResult.success();
+ }
+
+
+
+ /**
+ * 批量删除数据集
+ * @param datasetIds 数据集ID列表
+ * @return 操作结果
+ */
+ @Operation(summary ="删除数据集")
+ @DeleteMapping
+ public OptResult deleteBatch(@RequestBody List datasetIds) {
+ log.info("批量删除数据集,ID列表:{}", datasetIds);
+ datasetService.deleteBatch(datasetIds);
+ return OptResult.success("批量删除成功");
+ }
+
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/EvaluationController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/EvaluationController.java
new file mode 100644
index 0000000..95bd64a
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/EvaluationController.java
@@ -0,0 +1,47 @@
+package com.bipt.intelligentapplicationorchestrationservice.controller;
+
+import com.bipt.intelligentapplicationorchestrationservice.pojo.ModelLogVO;
+import com.bipt.intelligentapplicationorchestrationservice.pojo.OptResult;
+import com.bipt.intelligentapplicationorchestrationservice.service.EvaluationService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Tag(name = "模型评估相关接口")
+@RestController
+@RequestMapping("/evaluation")
+@Slf4j
+public class EvaluationController {
+ @Autowired
+ private EvaluationService evaluationService;
+
+ /**
+ * 获取日志详情
+ * @param id
+ * @return
+ */
+ @Operation(summary = "模型日志信息显示")
+ @GetMapping("/detail")
+ public OptResult detail(Long id){
+ log.info("模型日志信息显示id:{}", id);
+ ModelLogVO modelLogVO = evaluationService.detail(id);
+ return OptResult.success(modelLogVO);
+ }
+
+ /**
+ * 模型评估状态,评估通过则上线(1.上线,0.下线)
+ * @return
+ */
+ @Operation(summary = "模型评估接口")
+ @PutMapping("/evaluate")
+ public OptResult evaluate(Long id, Integer status){
+ log.info("模型上线状态修改:id:{}, status:{}", id, status);
+ evaluationService.startOrStop(id, status);
+ return OptResult.success();
+ }
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/ModelController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/ModelController.java
new file mode 100644
index 0000000..f78cebd
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/ModelController.java
@@ -0,0 +1,95 @@
+package com.bipt.intelligentapplicationorchestrationservice.controller;
+
+import com.bipt.intelligentapplicationorchestrationservice.pojo.*;
+import com.bipt.intelligentapplicationorchestrationservice.service.ModelService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@RestController
+@RequestMapping("/model")
+@Tag(name = "模型部分相关接口")
+@CrossOrigin(origins = "http://localhost:3000") // 生产环境指定具体域名
+public class ModelController {
+ @Autowired
+ private ModelService modelService;
+ @Operation(summary = "创建模型")
+ @PostMapping("/createModel")
+ public OptResult creatModel(@RequestBody ModelDTO dto){
+ log.info("创建模型");
+ modelService.createModel(dto);
+ return OptResult.success();
+ }
+
+ @Operation(summary = "新增模型版本")
+ @PostMapping("/createModelVersion")
+ public OptResult createModelVersion(@RequestBody ModelDTO dto){
+ log.info("新增模型版本");
+ modelService.createModelVersion(dto);
+ return OptResult.success();
+ }
+
+ @Operation(summary = "查询模型列表")
+ @GetMapping("list")
+ public OptResult list(){
+ log.info("查询模型列表");
+ List modelVOList = modelService.list();
+ return OptResult.success(modelVOList);
+ }
+
+ @Operation(summary = "查询模型详情")
+ @GetMapping("detail")
+ public OptResult detail(Long id){
+ log.info("查询模型详情");
+ ModelVersion modelVersion = modelService.detail(id);
+ return OptResult.success(modelVersion);
+ }
+
+ @Operation(summary = "模型更新")
+ @PutMapping("/updateModel")
+ public OptResult updateModel(@RequestBody ModelVersionDTO dto){
+ log.info("模型更新");
+ modelService.updateModel(dto);
+ return OptResult.success();
+ }
+
+
+ @Operation(summary = "模型版本删除")
+ @DeleteMapping("/deleteModelVersion")
+ public OptResult deleteModelVersion(Long id){
+ log.info("模型版本删除");
+ modelService.deleteModelVersion(id);
+ return OptResult.success();
+ }
+
+ @Operation(summary = "更新生命周期")
+ @PutMapping("/updateLifeCycle")
+ public OptResult updateLifeCycle(Long id,String lifeCycle){
+ log.info("更新生命周期");
+ modelService.updateLifeCycle(id,lifeCycle);
+ return OptResult.success();
+ }
+
+ @Operation(summary = "查询生命周期列表")
+ @GetMapping("/listLifeCycle")
+ public OptResult listLifeCycle(){
+ log.info("查询生命周期列表");
+ List