101 行
3.5 KiB
Markdown
101 行
3.5 KiB
Markdown
---
|
||
schema: "hl-changelog/v2"
|
||
ticket: "7003"
|
||
title: "资金日报(区间收支 + 逐日结余)"
|
||
consumer: "admin"
|
||
author: "yst"
|
||
change_type: "新增接口"
|
||
backend_status: "deployed"
|
||
gateway_status: "verified"
|
||
frontend_status: "verified"
|
||
frontend_owner: "mmg"
|
||
frontend_ref: "21540997"
|
||
target_release: ""
|
||
verified_at: "2026-09-09"
|
||
status_note: "后端已合 dev-v3(account 资金账户域)并部署测试服。closing=opening+收入−支出勾稽;收支聚合排除期初调整留痕流水。"
|
||
updated_at: "2026-09-09"
|
||
base: "dev-v3"
|
||
---
|
||
|
||
# 资金日报
|
||
|
||
## 1. 接口背景
|
||
财务域「资金日报」:按账户(或全部账户汇总)统计某日期区间的收入/支出/结余,并给出逐日明细。用于财务每日资金看板。
|
||
|
||
## 2. 变更清单
|
||
| 类型 | 接口 | 说明 |
|
||
|---|---|---|
|
||
| 新增 | GET `/admin/finance/fund-stats/daily` | 资金日报(区间收支 + 逐日结余) |
|
||
|
||
## 3. 接口详情
|
||
|
||
### 3.1 资金日报 GET /daily
|
||
入参(Query):
|
||
|
||
| 字段 | 必填 | 说明 |
|
||
|---|---|---|
|
||
| accountId | 否 | 资金账户ID;空=全部账户汇总(全账户口径下互转双边计入) |
|
||
| startDate | 是 | 起始日(yyyy-MM-dd,含当日) |
|
||
| endDate | 是 | 截止日(yyyy-MM-dd,含当日) |
|
||
|
||
出参(FundDailyStatsRespVO):
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| openingBalance | BigDecimal | 期初结转(=当前结存−起点以来流水净影响) |
|
||
| priorIncome | BigDecimal | 起始日前累计收入 |
|
||
| priorExpense | BigDecimal | 起始日前累计支出 |
|
||
| totalIncome | BigDecimal | 区间总收入 |
|
||
| totalExpense | BigDecimal | 区间总支出 |
|
||
| closingBalance | BigDecimal | 期末结存 = openingBalance + totalIncome − totalExpense |
|
||
| days | Array | 逐日明细(仅有流水的日期,日期升序) |
|
||
|
||
**days 行(DayRow)**:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| date | String | 日期(yyyy-MM-dd) |
|
||
| income | BigDecimal | 当日收入 |
|
||
| expense | BigDecimal | 当日支出 |
|
||
| dayNet | BigDecimal | 当日净额(income−expense) |
|
||
| runningBalance | BigDecimal | 累计结余(自期初结转逐日累加) |
|
||
|
||
**口径**:收支聚合**排除** biz_type=OPENING 留痕流水(期初调整是重定基准,非业务收支)。
|
||
|
||
## 4. 枚举 / 数据字典
|
||
无(数值统计)。
|
||
|
||
## 5. 错误码(段位 595300-595399)
|
||
| 码 | 含义 |
|
||
|---|---|
|
||
| 595301 | 账户不存在 |
|
||
| 595302 | 日期区间非法(起始日不能晚于截止日) |
|
||
| 595303 | 日期区间跨度超限(最长 366 天) |
|
||
|
||
## 6. 示例
|
||
**全账户 9 月日报**
|
||
```
|
||
GET /admin/finance/fund-stats/daily?startDate=2026-09-01&endDate=2026-09-09
|
||
→ 200 {"openingBalance":12000.00,"totalIncome":8000.00,"totalExpense":5000.00,"closingBalance":15000.00,"days":[{"date":"2026-09-03","income":5000.00,"expense":0,"dayNet":5000.00,"runningBalance":17000.00},...]}
|
||
```
|
||
**单账户日报**
|
||
```
|
||
GET /admin/finance/fund-stats/daily?accountId=2097...&startDate=2026-09-01&endDate=2026-09-09
|
||
→ 200 {...}
|
||
```
|
||
**区间非法(异常)**
|
||
```
|
||
GET /admin/finance/fund-stats/daily?startDate=2026-09-09&endDate=2026-09-01
|
||
→ 595302 日期区间非法
|
||
```
|
||
|
||
## 7. 注意事项
|
||
- 勾稽关系:closingBalance = openingBalance + totalIncome − totalExpense。
|
||
- 逐日 days 仅含有流水的日期(无流水日期不返回,前端可自行补零)。
|
||
- 期初调整流水不计入收支(避免重定基准被算成收支)。
|
||
|
||
## 8. 关联 / 联系人
|
||
- Issue:https://git.1814.love:8443/wx/HL/issues/7003
|
||
- Commit:https://git.1814.love:8443/wx/HL/commit/b46269a4d4
|
||
- 负责人:腰苏图(yst)
|