📋 Subscription History 订阅历史
记录所有用户订阅计划的变更历史(升级/降级/新增/取消),包含变更原因、操作人和时间戳。
接口列表
1. 查询订阅变更记录
GET /api/admin/subscription-history
获取用户订阅计划变更历史列表,支持多条件筛选。
认证:需要 Bearer Token(Admin 权限)
查询参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| user_id | integer | 选填 | 按用户 ID 精确筛选 |
| plan | string | 选填 | 按计划名筛选(匹配变更前或变更后的计划) |
| search | string | 选填 | 模糊搜索:用户昵称 / 手机号 / 变更前计划 / 变更后计划 / 变更原因 |
| start_date | string | 选填 | 变更时间范围起点(格式:YYYY-MM-DD) |
| end_date | string | 选填 | 变更时间范围终点(格式:YYYY-MM-DD,包含当天) |
响应:数组,按变更时间倒序:
[{
"id": 1,
"user_id": 100,
"plan_from": "free",
"plan_to": "pro",
"changed_by": 1,
"changed_by_nickname": "管理员",
"reason": "用户自助升级",
"expires_at": "2026-05-01T00:00:00.000Z",
"created_at": "2026-04-01T10:00:00.000Z",
"user_nickname": "张三",
"user_phone": "13800138000"
}, {
"id": 2,
"user_id": 101,
"plan_from": null,
"plan_to": "pro",
"changed_by": 101,
"reason": "新用户注册",
"expires_at": "2026-05-01T00:00:00.000Z",
"created_at": "2026-04-02T10:00:00.000Z",
"user_nickname": "李四",
"user_phone": "13800138001"
}]
变更类型判断规则(前端根据 plan_from / plan_to 推断):
| plan_from | plan_to | 变更类型 |
|---|---|---|
null | 有值 | 新增(首次订阅) |
| 有值 | null | 取消 |
| 值相同 | 值相同 | 续费 |
| 有值 | 有值(不同) | 升级/降级 |