Files
eryao/docs/reference/backend-features.md
T
2026-03-31 13:32:22 +08:00

367 lines
9.7 KiB
Markdown

# 后端服务功能模块
## 1. 用户认证模块 (`/auth`)
### 1.1 发送验证码
- **路径**: `POST /auth/send-code`
- **功能**: 向用户手机号发送短信验证码
- **参数**: `phoneNumber` (手机号)
- **依赖**: 阿里云短信服务
### 1.2 验证码登录
- **路径**: `POST /auth/login`
- **功能**: 使用手机号+验证码登录,返回用户信息和Token
- **参数**: `phoneNumber`, `code`
- **返回**: `userId`, `phoneNumber`, `token`
### 1.3 验证Token
- **路径**: `POST /auth/validate-token`
- **功能**: 验证Token有效性,自动刷新即将过期的Token
- **参数**: `token`
### 1.4 刷新Token
- **路径**: `POST /auth/refresh-token`
- **功能**: 刷新用户Token
- **参数**: `token`
### 1.5 注销登录
- **路径**: `POST /auth/logout`
- **功能**: 删除Token,注销登录
- **参数**: `token`
---
## 2. 用户资料模块 (`/user`)
### 2.1 获取用户资料
- **路径**: `GET /user/profile`
- **参数**: `id` (用户ID)
- **返回**: 昵称、性别、生日、个性签名
### 2.2 更新用户资料
- **路径**: `PUT /user/profile`
- **功能**: 更新用户资料(含敏感词检测)
- **参数**: `id`, `nickname`, `gender`, `birthday`, `signature`
### 2.3 单独更新昵称
- **路径**: `PUT /user/nickname`
- **功能**: 更新用户昵称(含敏感词检测)
- **参数**: `userId`, `nickname`
### 2.4 单独更新签名
- **路径**: `PUT /user/signature`
- **功能**: 更新用户个性签名(含敏感词检测)
- **参数**: `userId`, `signature`
---
## 3. 铜钱系统模块 (`/coin`)
### 3.1 查询余额
- **路径**: `GET /coin/balance`
- **参数**: `userId`
### 3.2 按手机号查询余额
- **路径**: `GET /coin/balance/phone`
- **参数**: `phoneNumber`
### 3.3 消费铜钱
- **路径**: `POST /coin/consume`
- **参数**: `userId`
### 3.4 按手机号消费铜钱
- **路径**: `POST /coin/consume/phone`
- **参数**: `phoneNumber`
### 3.5 重置余额
- **路径**: `POST /coin/reset`
- **功能**: 重置用户铜钱余额为0(用于注销)
- **参数**: `userId`
### 3.6 按手机号重置余额
- **路径**: `POST /coin/reset/phone`
- **参数**: `phoneNumber`
### 3.7 增加铜钱
- **路径**: `POST /coin/increase/phone`
- **参数**: `phoneNumber`, `coinCount`
### 3.8 同步用户铜钱
- **路径**: `POST /coin/sync`
- **功能**: 手动触发用户铜钱记录同步
---
## 4. 支付模块 (`/payment`)
### 4.1 获取支付宝订单
- **路径**: `GET /payment/alipay/order`
- **参数**: `userId`, `amount`, `coinCount`
- **返回**: 支付宝支付订单信息
### 4.2 支付宝异步通知
- **路径**: `POST /payment/notify`
- **功能**: 处理支付宝异步回调通知
- **返回**: `success``fail`
### 4.3 更新余额
- **路径**: `POST /payment/update-balance`
- **功能**: 处理支付结果,更新用户铜钱余额
- **参数**: `userId`, `orderNo`, `tradeNo`, `amount`, `coinCount`, `status`
---
## 5. 卦象历史模块 (`/divination-history`)
### 5.1 保存卦象记录
- **路径**: `POST /divination-history/save`
- **参数**: `userId`, `phoneNumber`, `localRecordId`, `jsonData`, `aiResult`, `questionType`, `question`, `timestamp`
### 5.2 获取卦象记录
- **路径**: `POST /divination-history/get`
- **参数**: `phoneNumber`, `questionType` (可选)
### 5.3 删除卦象记录
- **路径**: `POST /divination-history/delete`
- **参数**: `phoneNumber`, `localRecordId``localRecordIds`
### 5.4 统计记录数量
- **路径**: `GET /divination-history/count/{phoneNumber}`
### 5.5 批量软删除
- **路径**: `POST /divination-history/deactivate-all`
- **功能**: 用户注销时批量软删除卦象记录
- **参数**: `phoneNumber`, `userId`
---
## 6. 解卦溯源模块 (`/divination`)
### 6.1 增强解卦
- **路径**: `POST /divination/enhanced`
- **功能**: 调用DeepSeek API进行解卦,支持用户追踪
- **参数**: `userId`, `questionType`, `question`, `divinationData`
### 6.2 查询用户解卦记录
- **路径**: `GET /divination/records/user/{userId}`
- **参数**: `page`, `size`
### 6.3 按手机号查询记录
- **路径**: `GET /divination/records/phone/{phoneNumber}`
- **参数**: `page`, `size`
### 6.4 按追踪ID查询
- **路径**: `GET /divination/records/trace/{traceId}`
### 6.5 时间范围查询
- **路径**: `GET /divination/records/user/{userId}/daterange`
- **参数**: `startTime`, `endTime`, `page`, `size`
### 6.6 查询失败记录
- **路径**: `GET /divination/records/failed`
### 6.7 查询慢请求
- **路径**: `GET /divination/records/slow`
- **参数**: `durationMs` (默认10000ms)
### 6.8 统计用户解卦次数
- **路径**: `GET /divination/stats/user/{userId}/count`
### 6.9 统计时间范围内记录数
- **路径**: `GET /divination/stats/daterange/count`
- **参数**: `startTime`, `endTime`
---
## 7. DeepSeek代理模块 (`/deepseek`)
### 7.1 AI聊天代理
- **路径**: `POST /deepseek/chat`
- **功能**: 代理DeepSeek API,自动附加用户信息
- **参数**: 聊天请求体
---
## 8. 内容审核模块 (`/content-moderation`)
### 8.1 检测问题内容
- **路径**: `POST /content-moderation/check-question`
- **功能**: 检测用户问题是否包含敏感词
- **参数**: `userId`, `question`
---
## 9. 敏感词管理模块 (`/admin/sensitive-words`)
### 9.1 获取统计信息
- **路径**: `GET /admin/sensitive-words/statistics`
### 9.2 添加敏感词
- **路径**: `POST /admin/sensitive-words/add`
- **参数**: `word`, `type`
### 9.3 移除敏感词
- **路径**: `DELETE /admin/sensitive-words/remove`
- **参数**: `word`
### 9.4 测试检测
- **路径**: `POST /admin/sensitive-words/test/nickname`
- **路径**: `POST /admin/sensitive-words/test/signature`
- **路径**: `POST /admin/sensitive-words/test/question`
- **参数**: `content`
---
## 10. 违规记录管理模块 (`/admin/violations`)
### 10.1 获取违规记录列表
- **路径**: `GET /admin/violations/list`
- **参数**: `page`, `size`, `userId`, `contentType`, `violationType`, `startTime`, `endTime`
### 10.2 用户违规统计
- **路径**: `GET /admin/violations/user/{userId}/stats`
### 10.3 违规类型统计
- **路径**: `GET /admin/violations/stats/types`
### 10.4 高频违规用户
- **路径**: `GET /admin/violations/frequent-violators`
- **参数**: `days`, `threshold`
### 10.5 清理违规记录
- **路径**: `DELETE /admin/violations/cleanup`
- **参数**: `daysToKeep`
### 10.6 获取违规详情
- **路径**: `GET /admin/violations/{id}`
---
## 11. 敏感词迁移管理模块 (`/admin/sensitive-word-migration`)
### 11.1 获取配置状态
- **路径**: `GET /admin/sensitive-word-migration/status`
### 11.2 切换服务
- **路径**: `POST /admin/sensitive-word-migration/switch`
- **功能**: 切换本地词库/阿里云服务
- **参数**: `useAliyun`
### 11.3 设置降级策略
- **路径**: `POST /admin/sensitive-word-migration/fallback`
- **参数**: `enableFallback`
### 11.4 对比测试
- **路径**: `POST /admin/sensitive-word-migration/compare`
- **功能**: 对比本地和阿里云检测结果
- **参数**: `content`, `contentType`, `userId`
### 11.5 批量对比测试
- **路径**: `POST /admin/sensitive-word-migration/batch-compare`
### 11.6 健康检查
- **路径**: `GET /admin/sensitive-word-migration/health-check`
---
## 12. 通知模块 (`/notifications`)
### 12.1 获取最新通知
- **路径**: `GET /notifications/latest`
### 12.2 获取所有通知
- **路径**: `GET /notifications/all`
---
## 13. 用户反馈模块 (`/feedback`)
### 13.1 提交反馈
- **路径**: `POST /feedback`
- **参数**: `user_id`, `phone_number`, `content`
---
## 14. 版本管理模块 (`/version`)
### 14.1 检查版本更新
- **路径**: `POST /version/check`
- **参数**: `clientVersion`, `clientVersionCode`
### 14.2 获取最新版本
- **路径**: `GET /version/latest`
---
## 15. 网络访问日志模块 (`/admin/network-logs`)
### 15.1 按用户查询日志
- **路径**: `GET /admin/network-logs/user/{userId}`
### 15.2 按IP查询日志
- **路径**: `GET /admin/network-logs/ip/{clientIp}`
### 15.3 按时间范围查询
- **路径**: `GET /admin/network-logs/time-range`
### 15.4 查询失败记录
- **路径**: `GET /admin/network-logs/failed`
### 15.5 检测可疑IP
- **路径**: `GET /admin/network-logs/suspicious`
### 15.6 统计IP访问次数
- **路径**: `GET /admin/network-logs/count/ip`
### 15.7 清理过期日志
- **路径**: `DELETE /admin/network-logs/cleanup`
---
## 16. 用户数据管理模块 (`/admin/user-data`)
### 16.1 同步用户数据
- **路径**: `POST /admin/user-data/sync`
### 16.2 验证用户数据
- **路径**: `GET /admin/user-data/validate/user/{userId}`
- **路径**: `GET /admin/user-data/validate/phone/{phoneNumber}`
### 16.3 修复数据一致性
- **路径**: `POST /admin/user-data/fix/{phoneNumber}`
### 16.4 批量验证
- **路径**: `POST /admin/user-data/validate/batch`
### 16.5 测试用户信息
- **路径**: `GET /admin/user-data/test/user-info/{userId}`
---
## 17. 数据清理模块 (`/admin/data-cleanup`)
### 17.1 清理所有表
- **路径**: `DELETE /admin/data-cleanup/all`
### 17.2 清理验证码
- **路径**: `DELETE /admin/data-cleanup/verification-codes`
### 17.3 清理支付记录
- **路径**: `DELETE /admin/data-cleanup/payment-records`
### 17.4 清理反馈记录
- **路径**: `DELETE /admin/data-cleanup/feedback`
---
## 第三方服务集成
| 服务 | 用途 | 配置 |
|------|------|------|
| 阿里云短信 | 发送验证码 | `aliyun.sms.*` |
| 阿里云内容安全 | 敏感词检测 | `aliyun.content-security.*` |
| DeepSeek API | AI解卦/聊天 | `thirdparty.deepseek.api-key` |
| 支付宝 | 支付充值 | `alipay.*` |
| MySQL | 数据持久化 | `spring.datasource.*` |
| Redis | Token缓存/会话 | `spring.data.redis.*` |