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