HoneyBox 后台管理系统 - Statistics 统计报表模块分析
模块概述
Statistics 统计报表模块是后台管理系统的核心运营分析模块,提供全面的业务数据统计、利润分析、用户行为分析等功能。该模块共包含 10个功能页面,是运营决策的重要数据支撑。
源文件位置
server/php/app/admin/view/Statistics/
├── dataStand.html # 数据看板(核心仪表盘)
├── profit.html # 盒子利润统计
├── productsOverview.html # 出货概览
├── lotteryUsers.html # 抽奖用户列表
├── userLotteryDetail.html # 用户抽奖详情
├── userstatistics.html # 用户统计图表
├── orderList.html # 支付订单列表
├── goodsList.html # 出货列表
├── exchangeList.html # 兑换列表
└── shipmentList.html # 发货列表
页面功能详细分析
1. dataStand.html - 数据看板(核心仪表盘)⭐⭐⭐⭐⭐
功能描述: 综合数据概览页面,是运营人员每日查看的核心页面,包含多个数据卡片区域,支持异步加载和手动刷新。
1.1 今日订单卡片
| 数据项 |
说明 |
数据来源 |
| 发起订单数 |
今日创建的订单总数 |
orders 表 |
| 支付订单数 |
今日支付成功的订单数 |
orders 表 status=1 |
| 消费人数 |
今日有消费的用户数 |
orders 表去重 user_id |
| 订单总金额 |
今日订单总金额 |
orders.order_total |
| 出货总金额 |
今日出货奖品总价值 |
order_goods.goodslist_price |
| 优惠券抵扣 |
今日优惠券抵扣总额 |
orders.use_coupon |
| RMB支付 |
今日微信支付总额 |
orders.price |
| 钻石支付 |
今日钻石支付总额 |
orders.use_money |
| UU币支付 |
今日UU币支付总额 |
orders.use_integral |
| 达达券支付 |
今日达达券支付总额 |
orders.use_money2 |
1.2 今日货币信息卡片
| 数据项 |
说明 |
| 今日发放钻石 |
今日系统发放的钻石总量 |
| 今日消费钻石 |
今日用户消费的钻石总量 |
| 昨日发放钻石 |
昨日系统发放的钻石总量 |
| 昨日消费钻石 |
昨日用户消费的钻石总量 |
| 今日发放UU币 |
今日系统发放的UU币总量 |
| 今日消费UU币 |
今日用户消费的UU币总量 |
| 昨日发放UU币 |
昨日系统发放的UU币总量 |
| 昨日消费UU币 |
昨日用户消费的UU币总量 |
| 今日发放达达券 |
今日系统发放的达达券总量 |
| 今日消费达达券 |
今日用户消费的达达券总量 |
| 昨日发放达达券 |
昨日系统发放的达达券总量 |
| 昨日消费达达券 |
昨日用户消费的达达券总量 |
1.3 今日收入汇总卡片
| 数据项 |
计算公式/说明 |
| 订单收入(RMB+钻石) |
orders.price + orders.use_money |
| RMB收入 |
orders.price 总和 |
| 钻石商城收入 |
钻石商城订单收入 |
| 其他收入 |
其他渠道收入 |
| 订单出货 |
今日出货奖品总价值 |
| 支出 |
今日系统支出总额 |
| 当天发货金额 |
今日申请发货的奖品总价值 |
| 当天用户剩余达达券 |
今日用户达达券余额总和 |
| 盒柜剩余价值 |
今日用户盒柜中奖品总价值 |
| 利润 |
收入 - 发货金额 - 用户剩余达达券 - 盒柜剩余 |
1.4 用户数据统计卡片
| 数据项 |
说明 |
| 绑定手机号人数 |
已绑定手机号的用户总数 |
| 抽奖人数 |
有抽奖记录的用户总数 |
| 用户剩余钻石 |
所有用户钻石余额总和 |
| 用户剩余UU币 |
所有用户UU币余额总和 |
| 用户剩余达达券 |
所有用户达达券余额总和 |
| 微信支付金额 |
历史微信支付总额 |
| 订单支付数量 |
历史支付成功订单总数 |
| 用户出货总金额 |
历史出货奖品总价值 |
| 用户盒柜剩余价值 |
所有用户盒柜中奖品总价值 |
| 用户已兑换的达达券 |
历史兑换达达券总额 |
| 用户已发货金额 |
历史已发货奖品总价值 |
1.5 技术实现要点
- 异步加载:每个卡片区域独立异步加载,避免页面阻塞
- 手动刷新:每个卡片都有独立的刷新按钮
- 加载状态:显示 loading 动画,提升用户体验
- 数据缓存:部分数据可考虑缓存优化
2. profit.html - 盒子利润统计 ⭐⭐⭐⭐⭐
功能描述: 按盒子维度统计利润数据,是运营分析的核心功能,支持多条件筛选、异步加载详情、导出Excel。
2.1 搜索条件
| 字段 |
类型 |
说明 |
| 盒子ID |
文本输入 |
精确匹配盒子ID |
| 盒子名称 |
文本输入 |
模糊匹配盒子名称 |
| 盒子状态 |
下拉选择 |
上架/下架/售罄 |
| 盒子类型 |
下拉选择 |
动态加载盒子类型列表 |
| 时间范围 |
日期时间范围 |
筛选订单时间范围 |
2.2 统计摘要卡片
| 卡片 |
数据项 |
计算公式 |
| 总收入 |
totalIncome |
微信支付 + 钻石支付 |
| 总出货价值 |
totalCost |
奖品的采购价格总和 |
| 总利润 |
totalProfit |
收入 - (出货价值 - 兑换成本) |
| 总兑换/发货价值 |
totalReMoney / totalFhMoney |
已兑换达达券 / 已申请发货金额 |
2.3 列表字段
| 字段 |
说明 |
异步加载 |
| 盒子ID |
盒子唯一标识 |
否 |
| 盒子名称 |
盒子标题 |
否 |
| 盒子类型/状态 |
类型名称 + 上架状态 |
否 |
| 盒子单价 |
单次抽奖价格 |
否 |
| 抽奖次数 |
该盒子被抽奖的总次数 |
是 |
| 收入 |
微信支付 + 钻石支付 |
是 |
| 出货价值 |
奖品采购价格总和 |
是 |
| 已兑换达达券 |
用户兑换的达达券总额 |
是 |
| 已申请发货 |
申请发货的奖品总价值 |
是 |
| 单盒子利润 |
盒子单价 × 抽数 - 出货总额 |
是 |
| 单盒子利润比 |
(单价×抽数-出货) / (单价×抽数) × 100% |
是 |
| 利润 |
收入 - (出货价值 - 兑换成本) |
是 |
| 利润率 |
利润 / 收入 × 100% |
是 |
2.4 操作按钮
| 操作 |
功能说明 |
弹窗/跳转 |
| 出货概览 |
查看该盒子的奖品出货统计 |
弹窗 productsOverview.html |
| 抽奖用户 |
查看该盒子的抽奖用户列表 |
弹窗 lotteryUsers.html |
| 导出Excel |
导出当前筛选条件下的所有数据 |
文件下载 |
2.5 技术实现要点
- 异步加载队列:表格渲染后,将每行数据加入加载队列,控制并发请求数(最大3个)
- 汇总数据独立加载:统计摘要卡片通过独立API获取,不依赖表格数据
- 利润负值高亮:利润为负的行显示红色背景
- 利润详情提示:鼠标悬停显示计算公式详情
3. productsOverview.html - 出货概览 ⭐⭐⭐⭐
功能描述: 查看单个盒子的奖品出货统计,分析各奖品的出货情况和概率偏差。
3.1 统计摘要
| 数据项 |
说明 |
| 总出货数量 |
该盒子所有奖品的出货总次数 |
| 总出货价值 |
该盒子所有奖品的出货总价值(兑换价格) |
| 平均每次出货价值 |
总出货价值 / 总出货数量 |
| 盒子单价 |
该盒子的单次抽奖价格 |
| 平均出货价值倍率 |
平均出货价值 / 盒子单价 |
| 出货金额最多的奖品 |
出货总价值最高的奖品名称和金额 |
| 占总出货金额百分比 |
最高奖品出货金额 / 总出货价值 × 100% |
3.2 列表字段
| 字段 |
说明 |
| 奖品ID |
奖品唯一标识 |
| 奖品类型 |
奖品等级(A/B/C/D/E等) |
| 奖品名称 |
奖品标题 |
| 奖品图片 |
奖品缩略图 |
| 出货数量 |
该奖品的出货次数 |
| 奖品单价 |
奖品售价 |
| 兑换金额 |
奖品回收价格 |
| 理论概率 |
配置的中奖概率 |
| 实际概率 |
实际出货次数 / 总出货次数 × 100% |
| 概率偏差 |
实际概率 - 理论概率(正值绿色,负值红色) |
| 总价值 |
出货数量 × 兑换金额 |
3.3 技术实现要点
- 概率偏差分析:帮助运营人员发现概率配置问题
- 数据分析卡片:自动分析出货金额最多的奖品
- PHP服务端计算:统计数据在服务端计算完成后返回
4. lotteryUsers.html - 抽奖用户列表 ⭐⭐⭐
功能描述: 查看某个盒子的所有抽奖用户,分析用户抽奖行为。
4.1 页面信息
4.2 列表字段
| 字段 |
说明 |
排序 |
| 用户ID |
用户唯一标识 |
否 |
| 用户昵称 |
用户昵称 |
否 |
| 抽奖次数 |
该用户在此盒子的抽奖次数 |
是 |
| 出货价值 |
该用户获得奖品的总价值 |
是 |
| 微信支付 |
该用户微信支付总额 |
是 |
| 钻石支付 |
该用户钻石支付总额 |
是 |
| 总支付金额 |
微信支付 + 钻石支付 |
是 |
4.3 操作按钮
| 操作 |
功能说明 |
| 查看详情 |
查看该用户在此盒子的抽奖明细 |
4.4 技术实现要点
- 分页加载:默认每页20条
- 排序支持:支持按抽奖次数、出货价值、支付金额排序
- 弹窗打开:从 profit.html 以弹窗形式打开
5. userLotteryDetail.html - 用户抽奖详情 ⭐⭐⭐
功能描述: 查看单个用户在某盒子的抽奖明细记录。
5.1 页面信息
- 显示用户昵称(通过 userInfo 返回)
- 显示盒子名称(通过 boxInfo 返回)
5.2 统计摘要
| 数据项 |
说明 |
| 抽奖次数 |
该用户在此盒子的抽奖总次数 |
| 出货价值 |
该用户获得奖品的总价值 |
| 总支付金额 |
该用户的总支付金额 |
| 微信支付 |
微信支付金额 |
| 钻石支付 |
钻石支付金额 |
5.3 列表字段
| 字段 |
说明 |
| ID |
记录ID |
| 抽奖时间 |
抽奖时间(时间戳转换) |
| 奖品名称 |
中奖奖品名称 |
| 奖品价值 |
奖品兑换价格 |
| 订单ID |
关联订单ID |
| 支付方式 |
微信支付/钻石支付 |
| 支付金额 |
本次支付金额 |
| 是否发货 |
已发货/未发货 |
6. userstatistics.html - 用户统计图表 ⭐⭐⭐⭐
功能描述: 用户数据和订单数据的图表展示,使用 ECharts 实现可视化。
6.1 图表区域
| 图表 |
数据系列 |
图表类型 |
| 用户数据 |
登录人数、注册人数 |
折线图 |
| 订单支付数据 |
RMB支付、钻石支付 |
折线图 |
| 其他数据(预留) |
出货价值、发货价值、回收价值 |
折线图 |
6.2 图表功能
- 时间轴:X轴为时间轴,支持日期格式化
- 数据缩放:支持滑动条缩放和鼠标滚轮缩放
- 默认显示:默认显示最近50%的数据
- 保存图片:支持将图表保存为图片
6.3 数据表格
| 字段分组 |
字段列表 |
| 日期 |
统计日期 |
| 用户信息 |
注册人数、登录人数 |
| 订单信息 |
订单数量、用户数量、RMB支付、钻石支付、UU币支付、达达券支付 |
| 钻石商城 |
支付总额 |
6.4 技术实现要点
- ECharts 5.x:使用 ECharts 实现图表
- 异步数据加载:通过 AJAX 获取统计数据
- 表格分页:支持分页显示,默认50条/页
- 默认倒序:按日期倒序排列,最新数据在前
7. orderList.html - 支付订单列表 ⭐⭐
功能描述: 查看所有支付订单的明细列表。
7.1 列表字段
| 字段 |
说明 |
| 序号 |
行号 |
| 订单ID |
订单唯一标识 |
| 订单号 |
订单编号 |
| 用户ID |
用户唯一标识 |
| 用户昵称 |
用户昵称 |
| 盒子ID |
盒子唯一标识 |
| 盒子名称 |
盒子标题 |
| 订单总金额 |
订单原始金额 |
| 实际支付 |
折后实际支付金额 |
| 微信 |
微信支付金额 |
| 钻石 |
钻石支付金额 |
| UU币 |
UU币支付金额 |
| 达达券 |
达达券支付金额 |
| 优惠券抵扣 |
优惠券抵扣金额 |
| 订单状态 |
已支付/未支付 |
| 下单时间 |
订单创建时间 |
| 支付时间 |
订单支付时间 |
7.2 技术实现要点
- 宽表格:表格宽度1800px,支持横向滚动
- 分页显示:支持分页
- 状态标签:已支付显示绿色,未支付显示灰色
8. goodsList.html - 出货列表 ⭐⭐
功能描述: 查看所有出货记录(用户中奖记录)。
8.1 列表字段
| 字段 |
说明 |
| ID |
记录ID |
| 订单ID |
关联订单ID |
| 用户ID |
用户唯一标识 |
| 盒子ID |
盒子唯一标识 |
| 盒子排序 |
盒子内序号 |
| 奖品ID |
奖品唯一标识 |
| 奖品名称 |
奖品标题 |
| 奖品图片 |
奖品缩略图 |
| 奖品价值 |
奖品售价 |
| 兑换价值 |
奖品回收价格 |
| 奖品类型 |
现货/预售/货币/宝箱 |
| 状态 |
待选择/回收/选择发货/发布集市 |
| 添加时间 |
中奖时间 |
8.2 状态说明
| 状态值 |
显示 |
说明 |
| 0 |
待选择 |
用户尚未选择处理方式 |
| 1 |
回收 |
用户选择回收兑换达达券 |
| 2 |
选择发货 |
用户选择申请发货 |
| 3 |
发布集市 |
用户选择发布到集市交易 |
9. exchangeList.html - 兑换列表 ⭐⭐
功能描述: 查看所有兑换(回收)记录,即用户将奖品兑换为达达券的记录。
9.1 列表字段
| 字段 |
说明 |
| 序号 |
行号 |
| ID |
记录ID |
| 订单ID |
关联订单ID |
| 用户ID |
用户唯一标识 |
| 兑换单号 |
兑换记录编号 |
| 盒子ID |
盒子唯一标识 |
| 奖品ID |
奖品唯一标识 |
| 奖品名称 |
奖品标题 |
| 奖品图片 |
奖品缩略图 |
| 奖品价值 |
奖品售价 |
| 兑换价值 |
兑换获得的达达券金额 |
| 奖品类型 |
现货/预售/货币/宝箱 |
| 添加时间 |
中奖时间 |
| 选择时间 |
兑换操作时间 |
10. shipmentList.html - 发货列表 ⭐⭐
功能描述: 查看所有发货记录,即用户申请发货的奖品记录。
10.1 列表字段
| 字段 |
说明 |
| ID |
记录ID |
| 订单ID |
关联订单ID |
| 用户ID |
用户唯一标识 |
| 发货单号 |
发货记录编号 |
| 盒子ID |
盒子唯一标识 |
| 奖品ID |
奖品唯一标识 |
| 奖品名称 |
奖品标题 |
| 奖品图片 |
奖品缩略图 |
| 奖品价值 |
奖品售价 |
| 兑换价值 |
奖品回收价格 |
| 奖品类型 |
现货/预售/货币/宝箱 |
| 保险状态 |
是/否(是否购买保险) |
| 添加时间 |
中奖时间 |
| 选择时间 |
申请发货时间 |
模块复杂度评估
| 页面 |
主要功能 |
复杂度 |
迁移优先级 |
| dataStand.html |
数据看板、多卡片、异步加载 |
⭐⭐⭐⭐⭐ |
P0 |
| profit.html |
盒子利润统计、异步加载、导出 |
⭐⭐⭐⭐⭐ |
P0 |
| userstatistics.html |
ECharts图表、数据表格 |
⭐⭐⭐⭐ |
P0 |
| productsOverview.html |
出货概览、概率分析 |
⭐⭐⭐⭐ |
P1 |
| lotteryUsers.html |
抽奖用户列表 |
⭐⭐⭐ |
P1 |
| userLotteryDetail.html |
用户抽奖详情 |
⭐⭐⭐ |
P1 |
| orderList.html |
订单列表 |
⭐⭐ |
P2 |
| goodsList.html |
出货列表 |
⭐⭐ |
P2 |
| exchangeList.html |
兑换列表 |
⭐⭐ |
P2 |
| shipmentList.html |
发货列表 |
⭐⭐ |
P2 |
后端 API 设计建议
数据看板 API
GET /api/admin/statistics/today-order # 今日订单数据
GET /api/admin/statistics/currency-info # 今日货币信息
GET /api/admin/statistics/income-summary # 今日收入汇总
GET /api/admin/statistics/user-stats # 用户数据统计
盒子利润统计 API
GET /api/admin/statistics/profit # 盒子利润列表(分页)
GET /api/admin/statistics/profit/summary # 利润汇总数据
GET /api/admin/statistics/profit/{goodsId} # 单个盒子详细统计
GET /api/admin/statistics/profit/export # 导出Excel
出货概览 API
GET /api/admin/statistics/products-overview/{goodsId} # 盒子出货概览
抽奖用户 API
GET /api/admin/statistics/lottery-users/{goodsId} # 抽奖用户列表
GET /api/admin/statistics/lottery-users/{goodsId}/{userId} # 用户抽奖详情
GET /api/admin/statistics/lottery-users/{goodsId}/{userId}/summary # 用户抽奖汇总
用户统计图表 API
GET /api/admin/statistics/daily-statistics # 每日统计数据
列表查询 API
GET /api/admin/statistics/orders # 支付订单列表
GET /api/admin/statistics/goods # 出货列表
GET /api/admin/statistics/exchanges # 兑换列表
GET /api/admin/statistics/shipments # 发货列表
数据库表依赖
主要数据表
| 表名 |
用途 |
| orders |
订单表,存储订单信息 |
| order_goods |
订单商品表,存储中奖记录 |
| goods |
盒子表,存储盒子信息 |
| goodslist |
奖品表,存储奖品信息 |
| users |
用户表,存储用户信息 |
| user_money_log |
用户余额流水表 |
| user_integral_log |
用户积分流水表 |
| user_score_log |
用户钻石流水表 |
| send_order |
发货订单表 |
| send_order_goods |
发货订单商品表 |
关键字段映射
| PHP字段 |
说明 |
.NET建议字段 |
| order_total |
订单总金额 |
OrderTotal |
| order_zhe_total |
折后金额 |
DiscountedTotal |
| price |
微信支付金额 |
WechatPayment |
| use_money |
钻石支付金额 |
DiamondPayment |
| use_integral |
UU币支付金额 |
UuCoinPayment |
| use_money2 |
达达券支付金额 |
DadaCouponPayment |
| use_coupon |
优惠券抵扣 |
CouponDiscount |
| goodslist_price |
奖品售价 |
PrizePrice |
| goodslist_money |
奖品兑换价格 |
PrizeExchangePrice |
| real_pro |
理论概率 |
TheoreticalProbability |
前端技术要点
Vue 3 + Element Plus 实现建议
数据看板组件结构
views/business/statistics/
├── dashboard.vue # 数据看板主页面
├── profit.vue # 盒子利润统计
├── user-statistics.vue # 用户统计图表
├── components/
│ ├── TodayOrderCard.vue # 今日订单卡片
│ ├── CurrencyInfoCard.vue # 货币信息卡片
│ ├── IncomeSummaryCard.vue # 收入汇总卡片
│ ├── UserStatsCard.vue # 用户统计卡片
│ ├── ProfitTable.vue # 利润统计表格
│ ├── ProfitSummary.vue # 利润汇总卡片
│ ├── ProductsOverviewDialog.vue # 出货概览弹窗
│ ├── LotteryUsersDialog.vue # 抽奖用户弹窗
│ ├── UserLotteryDetailDialog.vue # 用户抽奖详情弹窗
│ └── StatisticsChart.vue # 统计图表组件
图表库选择
- ECharts 5.x:功能强大,与 PHP 版本保持一致
- vue-echarts:Vue 3 封装版本,使用更方便
异步加载实现
// 利润表格异步加载示例
const loadingQueue = ref<GoodsItem[]>([])
const maxConcurrentRequests = 3
const processLoadingQueue = async () => {
const batch = loadingQueue.value.splice(0, maxConcurrentRequests)
await Promise.all(batch.map(item => loadBoxStatistics(item)))
if (loadingQueue.value.length > 0) {
processLoadingQueue()
}
}
迁移计划建议
阶段1:核心功能(2周)
-
数据看板 (dataStand.html)
- 后端:4个统计API
- 前端:4个卡片组件 + 主页面
-
盒子利润统计 (profit.html)
- 后端:利润列表API、汇总API、详情API、导出API
- 前端:表格组件、汇总卡片、异步加载逻辑
-
用户统计图表 (userstatistics.html)
- 后端:每日统计API
- 前端:ECharts图表组件、数据表格
阶段2:详情功能(1周)
- 出货概览 (productsOverview.html)
- 抽奖用户列表 (lotteryUsers.html)
- 用户抽奖详情 (userLotteryDetail.html)
阶段3:列表功能(1周)
- 支付订单列表 (orderList.html)
- 出货列表 (goodsList.html)
- 兑换列表 (exchangeList.html)
- 发货列表 (shipmentList.html)
更新记录
| 日期 |
版本 |
更新内容 |
| 2026-01-18 |
v1.0 |
初始版本,完成10个页面功能分析 |