9.6 KiB
9.6 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 | frontend | 答复前端《待后端支持事项汇总》(2026-09-26)非车务五项:四项后端早已交付且 hl-admin 已接入可销项,应收台账菜单缺口已记 #8369 | admin | jw(GIT) | 前端优化 | not_required | verified | not_required | 答复 mmg 2026-09-26《前端待后端支持事项汇总》第 1/2/3/4/7 项(车务第 5/6/8/9 项不在本篇)。结论:①002 待收已由 #8045 unpaidAmount 交付(不是 balanceAmount),BatchHero.vue:147 已直显;②0 子订单行 chips 自 #7189 起六项 TODO,TEST 294 行 chips=null 为 0;③003 totalPrice + birthdayInTrip 跨年修正已交付(#6905 §十一 / #7066),estimatedCost 与预计毛利列已随 #7536 下线;④008 opsStage 已交付(#6926,#8271 起七桶),hl-admin index.vue:547 已传参;⑦应收台账 sys_menu 确实缺(TEST 库收款管理下只有 0601~0603),已记 #8369,前端零改动。前 4 项接口零变更、前端零代码改动,只需从待办清单销项。2026-09-26 经 TEST 网关实测。 前端 2026-09-26 已处理:第 1/2/3/4 项逐一 grep 实证(BatchHero.vue:147 unpaidAmount 直显 / PeriodRow.vue:326 chips 兜底 / batch index.vue 导出已传 opsStage / estimatedCost 全仓零消费仅注释),确认已接入并销项;sync-log 挂起区四条已关闭、#8248 菜单项关联 #8369;给后端的清单文档已同步修订。零代码改动,判 not_required(hl-admin 136973bf 为 sync-log 销项提交)。 | 2026-09-26 | dev-v3 |
答复:前端《待后端支持事项汇总》(2026-09-26)非车务五项
端: 管理后台 | 来源: mmg 2026-09-26《前端待后端支持事项汇总》 | 范围: 第 1 / 2 / 3 / 4 / 7 项;车务第 5 / 6 / 8 / 9 项不在本篇
本篇不含任何接口变更:前 4 项后端早已交付,hl-admin 也早已接入;第 7 项的缺口已记工单。前端要做的只有一件事——更新待办清单。
一、结论先行
| # | 清单事项 | 实际状态 | 前端动作 |
|---|---|---|---|
| 1 | 002 补「待收尾款」字段 | 已交付:#8045 新增 unpaidAmount(字段名不是 balanceAmount) |
销项。BatchHero.vue:147 已直显,FinanceTab.vue 已展示 totals/items.unpaidAmount |
| 2 | #6905 行接口 chips 恒 null |
已交付:#7189 起 0 子订单行六项固定 TODO,不再为 null |
销项。PeriodRow.vue:326 的 chips || {} 兜底留着无害 |
| 3 | #6929 003 补 totalPrice + 生日跨年 |
已交付:#6905 §十一 / #7066(#7113 收敛字段名) | 销项。「totalPrice − estimatedCost 算预计毛利」一条作废:estimatedCost 与预计毛利列已随 #7536 下线 |
| 4 | #6926 008 导出补 opsStage |
已交付:#6926,#8271 起按七桶过滤 | 销项。index.vue:547 已传 opsStage |
| 7 | 应收台账 sys_menu 补配 | 确实缺:已记 #8369(hl-user-service Flyway 补菜单种子) | 前端零改动;清单保留此项,关联 #8369 |
行号均指 hl-admin
origin/v2.1@b53414d4。
二、逐项证据(2026-09-26 TEST 网关实测 + origin/dev-v3 @ 355c578d1 源码)
1. 002 团期详情:待收 = unpaidAmount
- 字段:
unpaidAmount=max(0, receivableAmount − receivedAmount),恒非负、恒非 null,字符串金额(GroupBatchDetailRespVO.unpaidAmount,#8045)。 - TEST 实测:列表前 40 个团逐个调
GET /v3/admin/order/group-batch/{groupBatchId},unpaidAmount缺失或不等于公式的 0 个。样例团2103733823122690049:
{ "receivableAmount": "4000.00", "receivedAmount": "2000.00", "unpaidAmount": "2000.00",
"totalReceivable": "4000.00", "totalReceived": "2000.00" }
- 清单原文的两处出入:
- 「002 只下发
totalReceivable/totalReceived」——这两个是 #7535 标了废弃的旧名,002 同时下发新名receivableAmount/receivedAmount和unpaidAmount; - 字段名请用
unpaidAmount,不要叫balanceAmount:同页子订单项已有balanceAmount,是逐户「应收 − 已退 − 已付」、取消单归 0 的另一套口径,混名会在同一屏出现两套数。
- 「002 只下发
- 口径提醒(沿用 #8045):
unpaidAmount按毛累计已付算,退款不回减;逐户扣退款的权威待收在财务 tab 的items[].unpaidAmount/totals.unpaidAmount(财务 tab 顶层unpaidAmount与 002 同源同值)。hl-admin 现有实现与此一致。 - 既有交接件:
2026-09/21_8045_团期详情返回整团待收unpaidAmount-修改接口-管理后台.md(verified 2026-09-21,hl-admine680cf10)。
2. 001 团期看板行:chips 不再为 null
- 源码:
GroupBatchQueryService.resolveChipsMap对本页每个productBatchId都派生六芯片,0 子订单按零户口径出六项TODO(#7189,两条基底统一);order_group_batch.product_batch_id为 NOT NULL,不存在取不到芯片的行。 - TEST 实测:
GET /v3/admin/order/group-batch?scope=ALL全量 294 行,chips=null0 行;其中orderCount=0的 76 行六项均为TODO,样例团2103060033518661633:
{ "hotel": "TODO", "vehicle": "TODO", "guide": "TODO", "photo": "TODO", "contract": "TODO", "insurance": "TODO" }
- 带
productId的合并基底(产品2100839045562077186,11 行,其中 7 行未建团):chips=null0 行。 - 既有交接件:
2026-09/07_7189_团期看板产品全班期基底与scope范围筛选-修改接口-管理后台.md(verified 2026-09-08)。
3. 003 团期子订单列表:totalPrice 与 birthdayInTrip
totalPrice:本户应收 =orderAmount + surchargeAmount − discountAmount(下限 0),JSON 字符串两位小数;取消单返回"0.00"(清单写的"0"以"0.00"为准)。birthdayInTrip跨年修正:行程跨年时按出团年、返团年各年化比较一次,任一落在[departDate, endDate]即 true(GroupBatchQueryService.inTripWindow,#6929)。- TEST 实测:遍历有子订单的团共 510 条子订单,
totalPrice全部存在且均为字符串;includeTravelers=true时travelers[]字段为name / type / age / birthdayInTrip。本列表不返回已取消子订单,本次未取到取消单样例,取消单归"0.00"以 #7066 于 2026-09-04 的 TEST 8 组实测为准。 - 预计毛利作废:清单「解除后可用
totalPrice − estimatedCost算预计毛利(estimatedCost已可用)」已过时——#7536 已从 003 删除estimatedCost,预计毛利列已下线、毛利改在核单页看(hl-adminSubOrderTable.vue:114、RosterTable.vue:25的注释已写明)。 - 既有交接件:
2026-09/01_6905_团期看板-4-接口对齐补全-GB-ADM-000-001-002-003-修改接口-管理后台.md§十一、2026-09/04_7066_团期子订单列表补应收总额-修改接口-管理后台.md(均 verified)。
4. 008 导出:opsStage 过滤生效
- 源码:
GroupBatchBoardStatsController.export接收opsStage,Service 经GroupBatchStageBuckets.statusCodesOf(opsStage)过滤;#8271 起按七桶取值,旧八桶 code 仍兼容。 - TEST 实测(
GET /v3/admin/order/group-batch/export,scope=ALL):
| 请求 | CSV 数据行数 | 同条件列表中该桶行数 |
|---|---|---|
不带 opsStage |
294 | 294 |
opsStage=CONFIGURE |
205 | 205 |
opsStage=RECRUIT |
36 | 36 |
- hl-admin
src/views/order-v2/batch/index.vue:547已传opsStage: f.opsStage || undefined。 - 既有交接件:
2026-09/04_6926_导出补-opsStage-筛选-+-统计条自校验死代码修正(修改接口)-修改接口-管理后台.md(verified 2026-09-04)、2026-09/24_8271_团期看板与详情按六节点展示看板改七桶-修改接口-管理后台.md。
7. 应收台账菜单:确实缺,已记 #8369
- TEST 库实查:
hl_user_service.sys_menu中「收款管理」(menu_id=2026090900000000600)下只有…0601业务外收入、…0602公司借入、…0603公司借款收回三项,没有应收台账;origin/dev-v3的 Flyway 里也没有这条菜单。 - 工单:#8369 补挂三级菜单「应收台账」,
path与component均为/finance/receipt/receivable(带前导/,与同级「业务外收入」等一致;清单原文写的finance/receipt/receivable以带/为准),授权SUPER_ADMIN / ADMIN / FINANCE。 - 接口:
GET /admin/finance/receipt/receivable/page(#8191)已在 TEST 可用,本项与接口无关。 - 前端:零改动。页面
src/views/finance/receipt/receivable/index.vue已就绪,菜单种子落库后侧栏自然出现。
三、给前端待办清单的建议
清单第 14 项沿用的是 #6905 / #6926 / #6929 复审返工期的描述,这三张单 2026-09-0109-04 已关闭,对应交接件 hl-admin 也都已 verified。生成下一版清单前,建议先按 changelog 仓对应文件 frontmatter 的 frontend_status 过一遍,已 verified 的直接销项。
四、影响范围
- 接口:零变更(本篇只答复,不改任何契约)。
- 前端代码:零改动要求。
- 前端动作:清单第 1 / 2 / 3 / 4 项销项;第 7 项关联 #8369。
关联 / 联系人
- 答复人:jw(后端)
- 相关工单:#8045、#7189、#6905、#6929、#7066、#7536、#6926、#8271、#8191、#8369