# 后台工作台接口 - 共识文档 ## 一、明确需求描述 补充后台工作台页面中使用Mock数据的8个接口,实现真实的后端数据查询逻辑。 ### 需求范围 1. **运营分析接口** (4个) - 产品动销排行 - 优惠券效能排行 - 库存预警列表 - 风险事件监控 2. **积分经济接口** (3个) - 积分经济总览 - 积分趋势 - 积分收支结构 3. **实时播报接口** (1个) - 实时中奖播报 --- ## 二、技术实现方案 ### 2.1 后端接口实现位置 - **文件**: `internal/api/admin/dashboard_admin.go` (现有文件,追加新接口) - **路由注册**: 在现有admin路由组中添加新路径 ### 2.2 数据来源表 | 接口 | 主要数据表 | 关联表 | |------|-----------|--------| | 产品动销排行 | `orders`, `activities` | `issues`, `products` | | 优惠券效能 | `user_coupons`, `coupons` | `orders` | | 库存预警 | `issues`, `prizes` | `products` | | 风险事件 | `draw_logs`, `users` | `user_login_logs` (如存在) | | 积分经济 | `user_points_logs` | `users` | | 实时中奖 | `draw_logs` | `users`, `prizes` | ### 2.3 接口设计原则 - 保持与现有接口风格一致 - 使用 `rangeType` 参数统一时间范围过滤 - 金额单位统一为**分** - 百分比保留2位小数 --- ## 三、验收标准 ### 功能验收 - [ ] 所有8个接口正常返回数据 - [ ] 响应格式与前端TypeScript类型定义一致 - [ ] 时间范围过滤逻辑正确 ### 性能验收 - [ ] 单接口响应时间 < 500ms - [ ] 无N+1查询问题 ### 集成验收 - [ ] 前端调用后端接口无报错 - [ ] 工作台各模块正确展示真实数据 --- ## 四、技术约束 1. **不引入新依赖**: 使用现有GORM查询 2. **复用现有工具函数**: 如 `parseRange()`, `percentChange()` 等 3. **统一错误处理**: 使用现有 `core.HandlerFunc` 模式 --- ## 五、已解决的不确定性 基于现有代码分析: - ✅ 积分日志表 `user_points_logs` 已存在,包含 `change_type` 字段可区分来源 - ✅ 用户登录日志可通过 `draw_logs` 和 `orders` 推断活跃度 - ✅ 库存阈值可通过 `prizes.quantity` 与剩余数量对比计算 --- ## 六、实现优先级 | 优先级 | 接口 | 原因 | |--------|------|------| | P0 | 产品动销排行 | 经营大盘核心指标 | | P0 | 积分经济总览+趋势 | 风控预警必需 | | P1 | 优惠券效能 | 营销分析重要 | | P1 | 库存预警 | 运营监控 | | P2 | 风险事件 | 可先用简化版 | | P2 | 实时中奖播报 | 可复用现有 `draw_stream` |