6.5 KiB
6.5 KiB
schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
| schema | ticket | title | consumer | author | change_type | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 7710 | 资金账户详情删 flows 字段,本账户流水改走独立分页接口 | admin | yst(GIT) | 修改接口 | deployed | verified | verified | mmg | 2d17966dfebb128596aab6da4d4b58eb95dfd07e | 2026-09-15 | 破坏性:GET /admin/finance/fund-accounts/{id} 出参删 flows 字段、入参删 flowPage/flowPageSize;本账户资金流水改调独立分页接口 GET /admin/finance/fund-flows/page?fundAccountId={id}(返回 records[])。同时更正并取代 2026-09-14 的 14_7695_flows对接说明(根因实为「对象vs数组」结构不匹配,最终方案是拆接口)。前端详情页需拆两接口调用并对齐 flowAt/balanceAfter 字段名。 前端已对齐:详情抽屉拆两接口,流水走 getFundFlowPage(fundAccountId) 独立分页,hl-admin@2d17966d。 | 2026-09-15 | dev-v3 |
资金账户详情删 flows 字段,本账户流水改走独立分页接口(修改接口 · 破坏性)
服务: hl-order-service-v3(hl-finance 模块) PR: #7711 Issue: #7710 日期: 2026-09-15(已部署测试服 + 行为级验证 PASS) 影响范围: 资金账户详情接口出参/入参;本账户流水查询路径变更
⚠️ 关键变化(破坏性)
🔴 详情接口删除 flows:
GET /admin/finance/fund-accounts/{id}出参不再含flows字段- 同接口入参不再接受
flowPage/flowPageSize
🟢 本账户流水改走独立分页接口(已现成存在):
GET /admin/finance/fund-flows/page?fundAccountId={id}&pageNo=1&pageSize=10
⚠️ 本文取代并更正 2026-09-14 的 14_7695_资金账户详情flows本账户流水对接说明:那份把根因写成「records vs list 字段名」,实际更深一层——后端 flows 是 PageResult 分页对象、前端按数组判空(Array.isArray 恒 false),结构根本不匹配。最终方案不是前端改字段名,而是详情删 flows、流水走独立分页接口。
一、背景
资金账户详情「本账户资金流水」区块在管理后台恒空。根因:详情接口 flows 是 PageResult 对象,前端 AccountDetailDrawer.vue 按数组假设导致永远渲染空。经拍板,详情页拆两个接口——账户信息 + 流水分页分开,职责更清晰、流水可分页。独立流水分页接口早已具备,故详情接口直接删 flows。
二、变更清单
| 项 | 变更 |
|---|---|
GET /admin/finance/fund-accounts/{id} 出参 |
删除 flows 字段 |
GET /admin/finance/fund-accounts/{id} 入参 |
删除 flowPage / flowPageSize |
| 本账户流水查询 | 改用 GET /admin/finance/fund-flows/page?fundAccountId={id} |
三、接口详情
3.1 资金账户详情(改后)
- 方法/路径:
GET /admin/finance/fund-accounts/{id} - 入参:仅路径
{id},不再有 flowPage/flowPageSize - 出参:账户基础信息(id/accountName/accountNo/bankName/accountType/accountTypeName/nature/natureName/channel/channelName/balance/openingBalance/feeRate/status/remark/scopeCompanies 等),无 flows
3.2 本账户流水分页(替代接口,现成)
- 方法/路径:
GET /admin/finance/fund-flows/page - 入参(query):
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
fundAccountId |
long | ✅ | 账户ID(详情页传当前账户 id) |
pageNo / pageSize |
int | 否 | 分页 |
direction |
string | 否 | OUT 出账 / IN 入账 |
bizType |
string | 否 | NONBIZ/STAFF_LOAN/EXPENSE/TRANSFER/INVENTORY/OPENING 等 |
flowNo |
string | 否 | 流水号模糊 |
flowAtStart / flowAtEnd |
string | 否 | 收付日期范围 yyyy-MM-dd |
- 出参:
PageResult.records[],行字段:
| 字段 | 类型 | 说明 |
|---|---|---|
id |
string | 流水ID |
flowNo |
string | 流水号 |
direction |
string | IN 收 / OUT 支 |
amount |
number | 金额 |
balanceAfter |
number | 该笔后结存(注意:不是 balance) |
bizType |
string | 业务类型 |
flowAt |
string | 发生时间(注意:不是 time/createdAt) |
remark |
string | 备注 |
四、前端对接(详情页拆两接口)
// 1. 账户信息
const detail = await getFundAccountDetail(id) // GET /fund-accounts/{id}
// 2. 本账户流水(分页)
const flows = await getFundFlows({ // GET /fund-flows/page
fundAccountId: id, pageNo: 1, pageSize: 10
})
const list = flows.records // ✅ 数组在 records
// 行字段:flowAt(时间)、balanceAfter(结存)、direction、amount、bizType、flowNo、remark
易错点:
- 流水数组在
flows.records(不是 list)。 - 时间字段是
flowAt,结存是balanceAfter——按 time/createdAt/balance 取会显示 '—'。 - direction:IN 显示 +金额(绿)、OUT 显示 −金额(红)。
五、示例
5.1 详情(改后无 flows)
GET /admin/finance/fund-accounts/2095340438738046977
→ { code:200, data:{ id, accountName, balance, ..., (无 flows) } }
5.2 本账户流水分页
GET /admin/finance/fund-flows/page?fundAccountId=2095340438738046977&pageNo=1&pageSize=5
{ "code": 200, "data": { "total": 6, "records": [
{ "flowNo": "LS202609140002", "direction": "IN", "amount": 99.0, "bizType": "NONBIZ",
"flowAt": "2026-09-14 17:18:42", "balanceAfter": 6389.0 }
] } }
六、影响评估 / 回滚
- 影响:详情接口 flows 下线,前端若仍读
detail.flows将拿到 undefined(应改调独立接口)。 - 骑缝态:前后端须同步上线;老前端详情流水区块会空(本就已空,无回退损失)。
- 回滚:revert PR #7711 恢复 flows 字段。
七、注意事项
- 已部署测试服并实证:详情无 flows、独立分页接口返回本账户流水(含 NONBIZ/STAFF_LOAN/TRANSFER 等)。
- Long 出参已序列化为 string。