#1 两轮回复后,前端把 statusMeta / v3Adapter / transitionEvents / advance.js 全部按新 9 + 15 项枚举消化完毕,build 0 error,本次接入主链路已通。
但仍有 2 处契约空白,本期前端只能用占位/空串顶过去,影响列表 / 详情底部按钮的最终接线,需要后端再确认一次。
OrderListItemRespVO
groupCode
§2.1 的 traveler 列表表头 / §1.3.1 主聚合都见过 groupCode(团号),但 §1.2 列表接口 GET /v3/admin/order 返回的 OrderListItemRespVO 字段表里没有 groupCode。
GET /v3/admin/order
现象:列表「订单号」单元格下方原本设计要显示团号(例如 HL-XJ-2026-0512-001),目前 groupCode: '' 占位,前端列表上显示为空。
HL-XJ-2026-0512-001
groupCode: ''
问题:
displayOrderNo
eventCode
§6.17 列了 9 个 transition eventCode(PAY_DEPOSIT / PAY_FULL / SET_PENDING_BALANCE / SET_PENDING_DEPARTURE / CONFIRM / INITIATE_REFUND / CANCEL / DEPART / FINISH),但前端按原型有 2 个常用操作没有对应 eventCode:
PAY_DEPOSIT / PAY_FULL / SET_PENDING_BALANCE / SET_PENDING_DEPARTURE / CONFIRM / INITIATE_REFUND / CANCEL / DEPART / FINISH
业务场景:订单已锁单(flowStatus=PENDING_DEPARTURE),定制师发现房型/用车信息需要改 → 申请解锁 → OA 审批 → 通过后回到 PENDING_CONFIRM 重新走房车流程。
flowStatus=PENDING_DEPARTURE
PENDING_CONFIRM
前端目前占位:INITIATE_UNLOCK(临时字符串,后端不会识别)
INITIATE_UNLOCK
POST /v3/admin/order/{id}/unlock-apply
PENDING_DEPARTURE
业务场景:订单 orderStatus=REVIEWING / flowStatus=REVIEWING,财务核单 5 步走完点「确认结算」→ SETTLED。
orderStatus=REVIEWING / flowStatus=REVIEWING
SETTLED
§6.17 有 FINISH 但语义模糊(行程结束?核单完成?)。前端目前 AuditModal 用 SETTLE 占位调,实际值临时走 FINISH。
FINISH
SETTLE
TRAVELLING → REVIEWING
REVIEWING → SETTLED
请把 §6.17 表格补完整,标清楚每个 event 的 「前置状态 → 触发动作 → 目标状态」 三元组。
_shared/transitionEvents.js
list/index.vue
contract 补齐后前端 1 行改值即可。
按代码事实直接给结论:
teamNo
后端字段名是 teamNo(订金支付成功时生成,创单时为空):
OrderInfo.teamNo
orderNo
前端:列表"团号"单元格直接读 teamNo 即可。不要从 displayOrderNo substr 截 —— 拼接规则后续可能变。
v3 没有"已锁单→OA 审批→解锁回退"这个业务,状态机也没有对应事件。前端 UnlockModal 按钮 / INITIATE_UNLOCK 占位都请去掉。
v3 没有"审核结算"这个 transition eventCode。核单结算是独立的 6 步流程,跟状态机 transition 是两个东西:
PUT /v3/admin/order/{orderId}/settlement/step1
PUT /v3/admin/order/{orderId}/settlement/step2
PUT /v3/admin/order/{orderId}/settlement/step3
PUT /v3/admin/order/{orderId}/settlement/step4
GET / POST / DELETE /v3/admin/order/{orderId}/settlement/step5[/...]
POST /v3/admin/order/{orderId}/settlement/step6/submit
前端 AuditModal 第 5 步「确认结算」按钮请改调 POST /settlement/step6/submit,不要调 /transition。状态机内部的 REVIEWING → SETTLED 由后端在 step6 submit 事务里自动推进,前端不感知、不传 eventCode。
POST /settlement/step6/submit
/transition
§6.17 同步收窄文档:只保留实际 transition 用得到的事件,结算/退款/解锁等"非 transition 流程"另立章节,避免再混淆。
前端已消化:列表团号读 teamNo(v3Adapter / list/index.vue 已切);UnlockModal + INITIATE_UNLOCK 占位全部删除;审核结算改走 submitSettlement step6 独立接口。代码 commit 258796fe。OrderListItemRespVO.teamNo 字段后端 changelog 推后再同步即可。关闭。
两件后端动作已合并 + changelog 已推送,可以拉最新 main 看:
HL#2614 merged → squash commit 087c4331
087c4331
docs/order-v3/{api,srs,detail,database}/*-V5.50.html
本仓 commit 1175979:
1175979
CONFIRM
/v3/admin/order/{id}/settlement/step{1-6}/*
adaptListItem
groupCode: item.teamNo ?? ''
AuditModal
POST /v3/admin/order/{id}/settlement/step6/submit
如还有遗留问题继续提 issue,本期阻塞清零。
没有设置依赖项。
该备注对被屏蔽的用户不可见。
删除分支是永久的。虽然已删除的分支在实际被删除前有可能会短时间存在,但这在大多数情况下无法撤销。是否继续?
背景
#1 两轮回复后,前端把 statusMeta / v3Adapter / transitionEvents / advance.js 全部按新 9 + 15 项枚举消化完毕,build 0 error,本次接入主链路已通。
但仍有 2 处契约空白,本期前端只能用占位/空串顶过去,影响列表 / 详情底部按钮的最终接线,需要后端再确认一次。
1.
OrderListItemRespVO缺groupCode字段§2.1 的 traveler 列表表头 / §1.3.1 主聚合都见过
groupCode(团号),但 §1.2 列表接口GET /v3/admin/order返回的OrderListItemRespVO字段表里没有 groupCode。现象:列表「订单号」单元格下方原本设计要显示团号(例如
HL-XJ-2026-0512-001),目前groupCode: ''占位,前端列表上显示为空。问题:
OrderListItemRespVO是否会补groupCode?(推荐)displayOrderNo里 substr 截出团号?如果是,业务规则是什么(下划线分段 / 固定前缀 / 数字长度)?2. §6.17
eventCode缺 2 个事件 —— 解锁申请 + 审核结算§6.17 列了 9 个 transition eventCode(
PAY_DEPOSIT / PAY_FULL / SET_PENDING_BALANCE / SET_PENDING_DEPARTURE / CONFIRM / INITIATE_REFUND / CANCEL / DEPART / FINISH),但前端按原型有 2 个常用操作没有对应 eventCode:2a. 「申请解锁」(UnlockModal)
业务场景:订单已锁单(
flowStatus=PENDING_DEPARTURE),定制师发现房型/用车信息需要改 → 申请解锁 → OA 审批 → 通过后回到PENDING_CONFIRM重新走房车流程。前端目前占位:
INITIATE_UNLOCK(临时字符串,后端不会识别)问题:
POST /v3/admin/order/{id}/unlock-apply?)INITIATE_UNLOCKevent,目标态从PENDING_DEPARTURE→PENDING_CONFIRM?2b. 「审核结算」(AuditModal 第 5 步)
业务场景:订单
orderStatus=REVIEWING / flowStatus=REVIEWING,财务核单 5 步走完点「确认结算」→SETTLED。§6.17 有
FINISH但语义模糊(行程结束?核单完成?)。前端目前 AuditModal 用SETTLE占位调,实际值临时走FINISH。问题:
FINISH是结团动作(TRAVELLING → REVIEWING)还是结算动作(REVIEWING → SETTLED)?FINISH= 结团,那REVIEWING → SETTLED需要单独一个 event(SETTLE?),需在 §6.17 补FINISH= 结算,那TRAVELLING → REVIEWING这条流转又走什么 event?请把 §6.17 表格补完整,标清楚每个 event 的 「前置状态 → 触发动作 → 目标状态」 三元组。
前端临时处理
_shared/transitionEvents.jsINITIATE_UNLOCK/SETTLE字符串占位list/index.vueadaptListItemgroupCode: ''contract 补齐后前端 1 行改值即可。
回复
按代码事实直接给结论:
① 团号字段 =
teamNo后端字段名是
teamNo(订金支付成功时生成,创单时为空):OrderInfo.teamNodisplayOrderNo(=orderNo+teamNo),后端会在OrderListItemRespVO单独暴露teamNo字段(即将随 PR 一起推 changelog)。前端:列表"团号"单元格直接读
teamNo即可。不要从displayOrderNosubstr 截 —— 拼接规则后续可能变。② 「申请解锁」—— v3 已砍
v3 没有"已锁单→OA 审批→解锁回退"这个业务,状态机也没有对应事件。前端 UnlockModal 按钮 /
INITIATE_UNLOCK占位都请去掉。③ 「审核结算」—— 不走 transition,走独立 6 步接口
v3 没有"审核结算"这个 transition eventCode。核单结算是独立的 6 步流程,跟状态机 transition 是两个东西:
PUT /v3/admin/order/{orderId}/settlement/step1PUT /v3/admin/order/{orderId}/settlement/step2PUT /v3/admin/order/{orderId}/settlement/step3PUT /v3/admin/order/{orderId}/settlement/step4GET / POST / DELETE /v3/admin/order/{orderId}/settlement/step5[/...]POST /v3/admin/order/{orderId}/settlement/step6/submit前端 AuditModal 第 5 步「确认结算」按钮请改调
POST /settlement/step6/submit,不要调/transition。状态机内部的REVIEWING → SETTLED由后端在 step6 submit 事务里自动推进,前端不感知、不传 eventCode。§6.17 同步收窄文档:只保留实际 transition 用得到的事件,结算/退款/解锁等"非 transition 流程"另立章节,避免再混淆。
后端待办
OrderListItemRespVO+ Converter 补teamNo字段前端已消化:列表团号读 teamNo(v3Adapter / list/index.vue 已切);UnlockModal + INITIATE_UNLOCK 占位全部删除;审核结算改走 submitSettlement step6 独立接口。代码 commit 258796fe。OrderListItemRespVO.teamNo 字段后端 changelog 推后再同步即可。关闭。
落地完成 ✅
两件后端动作已合并 + changelog 已推送,可以拉最新 main 看:
1. 后端 PR
HL#2614 merged → squash commit
087c4331OrderListItemRespVO暴露teamNo字段(订金支付成功生成,创单时 null)docs/order-v3/{api,srs,detail,database}/*-V5.50.html),旧 v5.49 原地保留2. Changelog 推送
本仓 commit
1175979:OrderListItemRespVO字段表 17 → 18 字段,加teamNo行 + 响应 JSON 示例同步加字段CONFIRM复用 2 种语义(CUSTOMIZING→PENDING_DEPARTURE 锁单 / REVIEWING→SETTLED 结算)/v3/admin/order/{id}/settlement/step{1-6}/*,Step 6 submit 内部自动推REVIEWING → SETTLED,前端不要自己 fire eventCode前端 3 行改值即可
list/index.vueadaptListItemgroupCode: ''groupCode: item.teamNo ?? ''_shared/transitionEvents.jsINITIATE_UNLOCK占位_shared/transitionEvents.js/AuditModalSETTLE占位调 transitionPOST /v3/admin/order/{id}/settlement/step6/submit(不走 transition)如还有遗留问题继续提 issue,本期阻塞清零。