125 lines
3.9 KiB
Markdown
125 lines
3.9 KiB
Markdown
# AI配置管理模块
|
|
|
|
## 概述
|
|
基于t_ai_config表结构生成的完整AI配置管理模块,提供AI接口配置的增删改查功能。
|
|
|
|
## 生成的文件
|
|
|
|
### 1. 实体类
|
|
- `com.emotion.entity.AiConfig` - AI配置实体类,继承BaseEntity
|
|
|
|
### 2. 数据访问层
|
|
- `com.emotion.mapper.AiConfigMapper` - MyBatis-Plus Mapper接口
|
|
|
|
### 3. 业务逻辑层
|
|
- `com.emotion.service.AiConfigService` - 服务接口
|
|
- `com.emotion.service.impl.AiConfigServiceImpl` - 服务实现类
|
|
|
|
### 4. 控制器层
|
|
- `com.emotion.controller.AiConfigController` - REST API控制器
|
|
|
|
### 5. 请求对象
|
|
- `com.emotion.dto.request.aiconfig.AiConfigCreateRequest` - 创建请求
|
|
- `com.emotion.dto.request.aiconfig.AiConfigUpdateRequest` - 更新请求
|
|
- `com.emotion.dto.request.aiconfig.AiConfigPageRequest` - 分页查询请求
|
|
- `com.emotion.dto.request.aiconfig.AiConfigEnableRequest` - 启用/禁用请求
|
|
- `com.emotion.dto.request.aiconfig.AiConfigDefaultRequest` - 默认配置设置请求
|
|
|
|
### 6. 响应对象
|
|
- `com.emotion.dto.response.aiconfig.AiConfigResponse` - 响应对象
|
|
|
|
## API接口列表
|
|
|
|
### 基础CRUD操作
|
|
- `GET /aiConfig/page` - 分页查询AI配置
|
|
- `GET /aiConfig/detail?id={id}` - 根据ID获取AI配置详情
|
|
- `POST /aiConfig/create` - 创建AI配置
|
|
- `PUT /aiConfig/update` - 更新AI配置
|
|
- `DELETE /aiConfig/delete?id={id}` - 删除AI配置
|
|
|
|
### 条件查询接口
|
|
- `GET /aiConfig/byConfigType?configType={type}` - 根据配置类型查询
|
|
- `GET /aiConfig/byProvider?provider={provider}` - 根据服务提供商查询
|
|
- `GET /aiConfig/byUsageScenario?usageScenario={scenario}` - 根据使用场景查询
|
|
- `GET /aiConfig/byEnvironment?environment={env}` - 根据环境查询
|
|
- `GET /aiConfig/byConfigKey?configKey={key}` - 根据配置键值查询
|
|
|
|
### 状态管理接口
|
|
- `GET /aiConfig/enabled` - 查询已启用的配置
|
|
- `GET /aiConfig/disabled` - 查询已禁用的配置
|
|
- `GET /aiConfig/default` - 查询默认配置
|
|
- `PUT /aiConfig/enable?id={id}` - 启用配置
|
|
- `PUT /aiConfig/disable?id={id}` - 禁用配置
|
|
- `PUT /aiConfig/setDefault?id={id}` - 设置为默认配置
|
|
- `PUT /aiConfig/unsetDefault?id={id}` - 取消默认配置
|
|
|
|
### 智能查询接口
|
|
- `GET /aiConfig/bestConfig?usageScenario={scenario}&environment={env}` - 查询最优配置
|
|
|
|
### 统计接口
|
|
- `GET /aiConfig/countEnabled` - 统计已启用配置数量
|
|
- `GET /aiConfig/countDisabled` - 统计已禁用配置数量
|
|
- `GET /aiConfig/countDefault` - 统计默认配置数量
|
|
- `GET /aiConfig/countByConfigType?configType={type}` - 根据配置类型统计数量
|
|
- `GET /aiConfig/countByProvider?provider={provider}` - 根据服务提供商统计数量
|
|
|
|
## 特性
|
|
|
|
### 1. 遵循项目规范
|
|
- 继承BaseEntity,包含公共字段
|
|
- 使用雪花算法生成ID
|
|
- 使用LambdaQueryWrapper构造查询条件
|
|
- 统一的异常处理和返回格式
|
|
|
|
### 2. 安全特性
|
|
- API Token脱敏显示
|
|
- 参数校验
|
|
- 逻辑删除
|
|
|
|
### 3. 查询优化
|
|
- 支持关键词搜索
|
|
- 支持多条件过滤
|
|
- 支持排序
|
|
- 支持分页
|
|
|
|
### 4. 业务功能
|
|
- 配置启用/禁用管理
|
|
- 默认配置设置
|
|
- 智能配置选择(根据场景和环境)
|
|
- 优先级排序
|
|
|
|
## 使用示例
|
|
|
|
### 创建AI配置
|
|
```json
|
|
POST /aiConfig/create
|
|
{
|
|
"configName": "Coze聊天配置",
|
|
"configKey": "coze_chat_default",
|
|
"configType": "coze",
|
|
"provider": "coze",
|
|
"apiBaseUrl": "https://api.coze.cn",
|
|
"apiToken": "your_api_token",
|
|
"usageScenario": "chat",
|
|
"isEnabled": 1,
|
|
"environment": "production"
|
|
}
|
|
```
|
|
|
|
### 分页查询
|
|
```
|
|
GET /aiConfig/page?current=1&size=10&keyword=coze&configType=coze&isEnabled=1
|
|
```
|
|
|
|
### 查询最优配置
|
|
```
|
|
GET /aiConfig/bestConfig?usageScenario=chat&environment=production
|
|
```
|
|
|
|
## 注意事项
|
|
|
|
1. 所有接口都遵循统一的返回格式Result<T>
|
|
2. API Token在响应中会进行脱敏处理
|
|
3. 删除操作使用逻辑删除
|
|
4. 配置键值(configKey)必须唯一
|
|
5. 最优配置查询会优先返回默认配置,然后按优先级排序 |