2.5 KiB
2.5 KiB
后台工作台接口 - 共识文档
一、明确需求描述
补充后台工作台页面中使用Mock数据的8个接口,实现真实的后端数据查询逻辑。
需求范围
-
运营分析接口 (4个)
- 产品动销排行
- 优惠券效能排行
- 库存预警列表
- 风险事件监控
-
积分经济接口 (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查询问题
集成验收
- 前端调用后端接口无报错
- 工作台各模块正确展示真实数据
四、技术约束
- 不引入新依赖: 使用现有GORM查询
- 复用现有工具函数: 如
parseRange(),percentChange()等 - 统一错误处理: 使用现有
core.HandlerFunc模式
五、已解决的不确定性
基于现有代码分析:
- ✅ 积分日志表
user_points_logs已存在,包含change_type字段可区分来源 - ✅ 用户登录日志可通过
draw_logs和orders推断活跃度 - ✅ 库存阈值可通过
prizes.quantity与剩余数量对比计算
六、实现优先级
| 优先级 | 接口 | 原因 |
|---|---|---|
| P0 | 产品动销排行 | 经营大盘核心指标 |
| P0 | 积分经济总览+趋势 | 风控预警必需 |
| P1 | 优惠券效能 | 营销分析重要 |
| P1 | 库存预警 | 运营监控 |
| P2 | 风险事件 | 可先用简化版 |
| P2 | 实时中奖播报 | 可复用现有 draw_stream |