Files

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. 最优配置查询会优先返回默认配置,然后按优先级排序