🔄 Recurring 定期账单
定期记账规则管理,支持每日/每周/每月/每年自动生成交易记录,也可手动触发立即执行或批量推进逾期规则。
接口列表
1. 查询定期记账列表
GET /api/admin/recurring
认证:需要 Bearer Token(Admin 权限)
响应:数组
[{
"id": 1,
"name": "房租",
"tx_type": "支出",
"amount": 3000,
"bill_id": 1,
"category_id": 5,
"frequency": "monthly",
"next_due_at": "2026-05-01 00:00:00",
"is_active": 1,
"created_at": "2026-04-01T10:00:00.000Z",
"bill_name": "家庭账单",
"category_name": "房租"
}]
2. 立即执行(推进日期)
POST /api/admin/recurring/:id/trigger
手动触发,立即推进 next_due_at 到下一个周期(不生成实际交易记录)。
路径参数:id — 规则 ID
响应:
{"message": "已立即执行,下次执行时间已更新", "next_due_at": "2026-06-01 00:00:00"}
3. 批量触发逾期规则
POST /api/admin/recurring/advance-all
批量推进所有 is_active=1 且 next_due_at 已到期的规则。一次性推进,每条规则按 frequency 推进到下一周期。
响应:
{"message": "已处理 N 条规则", "items": [{"id": 1, "name": "房租", "next_due_at": "2026-06-01"}]}
4. 删除规则
DELETE /api/admin/recurring/:id
响应:{"success": true}
5. 更新规则
PUT /api/admin/recurring/:id
请求体:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 必填 | 规则名称 |
| tx_type | string | 必填 | 交易类型:收入 / 支出 |
| amount | number | 必填 | 金额 |
| frequency | string | 必填 | 频率:daily / weekly / monthly / yearly |
| next_due_at | string | 必填 | 下次执行时间(YYYY-MM-DD HH:mm:ss) |
| is_active | integer | 必填 | 是否启用(1/0) |
| bill_id | integer | 必填 | 关联账单 ID |
| category_id | integer | 必填 | 关联类目 ID |
响应:{"message": "定期规则已更新"}