--- 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)