Files
1818web-hoduan/docs/admin-user-statistics-enhancement.md
2025-11-14 17:41:15 +08:00

190 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 管理后台用户统计功能增强
## 概述
对管理后台的用户统计接口 `/admin/users/statistics` 进行了全面升级提供更详细的会员分类统计特别是区分付费VIP/SVIP和兑换VIP/SVIP并考虑会员有效期状态。
## 新增统计字段
### 1. 基础用户统计
- `totalUsers` - 总用户数
- `todayNewUsers` - 今日新增用户数
- `weekNewUsers` - 本周新增用户数
- `monthNewUsers` - 本月新增用户数
- `normalUsers` - 普通用户数
### 2. VIP用户详细统计 ⭐
- `vipUsers` - VIP用户总数
- `paidVipUsers` - **当前有效付费VIP用户数**
- `exchangeVipUsers` - **当前有效兑换VIP用户数**
- `expiredVipUsers` - **过期VIP用户数**
### 3. SVIP用户详细统计 ⭐
- `svipUsers` - SVIP用户总数
- `paidSvipUsers` - **当前有效付费SVIP用户数**
- `exchangeSvipUsers` - **当前有效兑换SVIP用户数**
- `expiredSvipUsers` - **过期SVIP用户数**
### 4. 特殊会员类型统计 🆕
- `giftMembers` - **赠送会员数**注册2天内的VIP无付费和兑换记录
- `pureExchangeMembers` - **纯兑换会员数**(只使用兑换码,从未付费)
- `exchangeThenPaidMembers` - **兑换后付费会员数**(先兑换后付费)
### 5. 认证和推广统计
- `verifiedUsers` - 已实名认证用户数
- `unverifiedUsers` - 未实名认证用户数
- `promotionUsers` - 有推广等级用户数
### 6. 会员有效性统计 🆕
- `activeMembersTotal` - **当前有效会员总数**VIP+SVIP未过期
- `expiredMembersTotal` - **过期会员总数**
## 统计逻辑说明
### 付费会员识别
```sql
-- 当前有效付费VIP角色为VIP + 会员未过期 + 有成功的订单记录
AND u.role = 2
AND u.membership_expires_at IS NOT NULL AND u.membership_expires_at > NOW()
AND EXISTS (
SELECT 1 FROM `order` o
WHERE o.user_id = u.id AND o.status = 1 AND o.is_deleted = 0
)
```
### 兑换会员识别
```sql
-- 当前有效兑换VIP角色为VIP + 会员未过期 + 有兑换记录
AND u.role = 2
AND u.membership_expires_at IS NOT NULL AND u.membership_expires_at > NOW()
AND EXISTS (
SELECT 1 FROM gift_code_usage gcu
WHERE gcu.user_id = u.id AND gcu.type = 2 AND gcu.status = 1 AND gcu.is_deleted = 0
)
```
### 过期会员识别
```sql
-- 过期VIP角色为VIP + 会员已过期
AND u.role = 2
AND (u.membership_expires_at IS NULL OR u.membership_expires_at <= NOW())
```
### 赠送会员识别
```sql
-- 赠送会员VIP + 会员有效 + 注册2天内 + 无付费记录 + 无兑换记录
AND u.role > 1
AND u.membership_expires_at IS NOT NULL AND u.membership_expires_at > NOW()
AND u.create_time >= DATE_SUB(NOW(), INTERVAL 2 DAY)
AND NOT EXISTS (订单记录)
AND NOT EXISTS (兑换记录)
```
### 纯兑换会员识别
```sql
-- 纯兑换会员VIP + 有兑换记录 + 无付费记录
AND u.role > 1
AND EXISTS (兑换记录)
AND NOT EXISTS (订单记录)
```
## API接口
### 请求
```
GET /admin/users/statistics
```
### 响应示例
```json
{
"code": 200,
"message": "操作成功",
"data": {
"totalUsers": 1250,
"todayNewUsers": 15,
"weekNewUsers": 89,
"monthNewUsers": 324,
"normalUsers": 890,
"vipUsers": 280,
"paidVipUsers": 180,
"exchangeVipUsers": 65,
"expiredVipUsers": 35,
"svipUsers": 80,
"paidSvipUsers": 50,
"exchangeSvipUsers": 20,
"expiredSvipUsers": 10,
"giftMembers": 12,
"pureExchangeMembers": 45,
"exchangeThenPaidMembers": 38,
"verifiedUsers": 450,
"unverifiedUsers": 800,
"promotionUsers": 125,
"activeMembersTotal": 315,
"expiredMembersTotal": 45
}
}
```
## 业务价值
### 1. 精确的收益分析
- **区分付费和兑换**:清楚了解真实的付费用户数量
- **收益贡献分析**:付费用户是主要收益来源
- **成本控制**:兑换用户的运营成本分析
### 2. 用户生命周期管理
- **过期用户挽回**:针对过期会员制定回购策略
- **续费提醒**:基于有效期状态进行精准营销
- **用户分层**:不同类型用户的差异化服务
### 3. 运营决策支持
- **兑换码效果评估**:通过兑换用户数量分析推广效果
- **赠送策略优化**:监控赠送会员的转化情况
- **产品定价策略**:基于付费用户分布调整价格
### 4. 数据透明度
- **管理层报告**:提供清晰的用户结构分析
- **趋势监控**:跟踪各类用户数量的变化趋势
- **异常检测**:及时发现用户数据异常
## 数据一致性验证
### 验证规则
1. `vipUsers` = `paidVipUsers` + `exchangeVipUsers` + `expiredVipUsers`
2. `svipUsers` = `paidSvipUsers` + `exchangeSvipUsers` + `expiredSvipUsers`
3. `activeMembersTotal` = `paidVipUsers` + `exchangeVipUsers` + `paidSvipUsers` + `exchangeSvipUsers`
4. `expiredMembersTotal` = `expiredVipUsers` + `expiredSvipUsers`
### 特殊情况说明
- **兑换后付费用户**:可能在多个分类中出现(既有兑换记录又有付费记录)
- **时间边界**:会员到期时间精确到秒,统计时点会影响结果
- **数据更新**:统计数据实时计算,反映当前最新状态
## 性能考虑
### SQL优化
- 使用EXISTS子查询而非JOIN提高查询效率
- 合理使用索引user.role, user.membership_expires_at, order.user_id, gift_code_usage.user_id
- 统计查询建议在业务低峰期执行
### 缓存策略
- 考虑将统计结果缓存5-10分钟
- 在用户状态变更时清除相关缓存
- 提供强制刷新选项供管理员使用
## 监控和报警
### 建议监控指标
- 当日付费用户数量异常下降
- 过期用户数量异常增长
- 总用户数与分类用户数不一致
- 统计查询执行时间过长
这个增强的统计功能为管理层提供了全面、精确的用户分析数据,支持更好的业务决策和运营优化。