提交图
100 次代码提交
作者 SHA1 备注 提交日期
jw和Claude Opus 5.5 5dc79ef2e6 docs(changelog): #8516 团期核单、结算拆成两个独立字段,出行完毕改名待核单
changelog-filename-gate / validate (push) Failing after 2s
两份:
- 新增接口(internal):POST /v3/internal/group-batch/:groupBatchId/review-status、
  /settlement-status,供财务回写整团核单、结算状态;主状态由两列推导,子订单同事务同步,
  任何一步都不推报账单。
- 修改接口(admin):团期主状态 TRIP_FINISHED 改为 PENDING_REVIEW「待核单」;详情 / 分页
  新增 reviewStatus / settlementStatus 及中文名;进度条核单、结算节点新增分支;三处入参
  旧值兼容;/settle 不再逐户推 ORDER 报账单。hl-ui 须同批改,TEST 先行、正式环境同批发布。

PR #8650 已合入 dev-v3(merge commit 54e64c50f),TEST 部署 dev-v3 dd0452916 并按
AC-01~15 验收通过,工单已关。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 22:38:06 +08:00
jw和Claude Opus 5.5 78eeac7a4f docs(changelog): #8642 团期详情进度条导摄分支按名册显示已完成
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:35:33 +08:00
jw和Claude Opus 5.5 147e1b34a7 docs(changelog): #8533 团期详情已预支改为与财务 Tab 同源(修改接口·管理后台)
changelog-filename-gate / validate (push) Failing after 1s
Refs wx/HL#8533

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 19:29:15 +08:00
jw和Claude Opus 5.5 6fce073bcb 新增 #8497 团期存量团号换号内部回填与同步端点(新增接口·内部)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 17:38:13 +08:00
jw 76f01e1162 新增 #8517 预支审批中心列表与审批驳回撤回补角色守卫(修改接口·管理后台)
changelog-filename-gate / validate (push) Failing after 2s
2026-09-29 17:17:35 +08:00
jw和Claude Opus 5.5 f3e200bc45 docs(order-v3): 团期人员与报账人变更写进团期时间线交接件(#8482)
changelog-filename-gate / validate (push) Failing after 2s
五条人员写路径补留痕(新增 5 个事件码)+ GB-ADM-096 同秒按 logId 排序;
PR #8490(e24be7af8)、#8492(75e182710),TEST 网关验收通过,前端零改动。

Refs wx/HL#8482

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 19:44:45 +08:00
jw和Claude Opus 5.5 b224d430a4 docs(order-v3): 团期导/摄芯片状态改按团期名册计算交接件(#8469)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 18:54:00 +08:00
jw和Claude Opus 5.5 e8cf4d7479 docs(changelog): 团期物资确认后改清单自动失效 + 物资留痕补全——确认物资带清单快照、增删改进时间线、进入待出发改专用事件码(#8481)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 18:15:34 +08:00
jw和Claude Opus 5.5 52aa4a0fd0 团期详情返回列表弹「参数 groupBatchId 格式错误」前端缺陷交接(确认预检以空团期 ID 重发)
changelog-filename-gate / validate (push) Failing after 1s
#8410 在团期详情新增的 confirm-check 监听器缺 isDetailActive 与空 id 守卫,
离开页面那一拍以空串重发,拼出 group-batch//confirm-check 落进团期详情接口报 400。
后端零改动;与 28_8478 交接清单不冲突。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 17:00:12 +08:00
jw和Claude Opus 5.5 deb65b63ec docs(8478): 团期详情新增分叉进度条 progressStepper,附前端交接清单
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 16:33:03 +08:00
jw和Claude Opus 5.5 2a419689dc docs(changelog): #8436 团期退单审批放开团期管理员,批后退款进退款审批中心二审
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:44:49 +08:00
jw和Claude Opus 5.5 580c98401c docs(changelog): #8413 团期看板导出与统计条补齐列表新筛选(导出看到什么导什么)+ 截止日非法值忽略
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 15:14:48 +08:00
jw和Claude Opus 5.5 9eb799f00a docs(changelog): #8418 团期名单 GB-ADM-003 逐户纯增流程 / 核单 / 结算三对状态(修改接口-管理后台)
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 12:43:06 +08:00
jw和Claude Opus 5.5 17210578cb docs(changelog): #8410 团期「配置 → 确认」新增只读预检 confirm-check(新增接口-管理后台)
changelog-filename-gate / validate (push) Failing after 1s
GET /v3/admin/order/group-batch/{groupBatchId}/confirm-check:前端据 ready 提前置灰「确认」按钮,
团期级五项与逐户未满足项可见,gateMessage 与 589556 message 逐字相同;零写入。
TEST 已部署(dev-v3 @ ecc92b95c)并经网关验收,工单 #8410 已关。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 10:56:55 +08:00
jw和Claude Opus 5.5 d35c418300 docs(changelog): 答复前端 09-26 待后端支持事项非车务五项——四项已交付可销项、应收台账菜单缺口记 #8369
changelog-filename-gate / validate (push) Failing after 2s
mmg《前端待后端支持事项汇总》第 1/2/3/4/7 项逐项核对(车务第 5/6/8/9 项不在本篇):
- 1 002 待收:#8045 unpaidAmount 已交付,hl-admin BatchHero 已直显
- 2 行接口 chips:#7189 起 0 子订单行六项 TODO,TEST 294 行 null 为 0
- 3 003 totalPrice/birthdayInTrip:已交付;estimatedCost 已随 #7536 下线,预计毛利一条作废
- 4 008 opsStage:已交付,TEST 导出行数与列表分桶逐一相等
- 7 应收台账菜单:TEST 库确认缺失,已记 #8369,前端零改动

零接口变更;2026-09-26 TEST 网关实测。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 14:57:04 +08:00
jw和Claude Opus 5.5 e9e28563ef docs(changelog): #8354 团期人员名册实时姓名手机(staffStatus/liveInfoDegraded)+ 单人删除/更换接口
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 18:02:47 +08:00
jw和Claude Opus 5.5 694c1a71be changelog: #8355 团期六节点流程前端对接总览(补 #8270 / #8308 / #8309)
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:36:41 +08:00
jw和Claude Opus 5.5 60cd1b3a70 docs(changelog): #8350 团期子订单调整放开增删出行人并同步已报名人数,禁止改出行日期与行程
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:23:41 +08:00
jw和Claude Opus 5.5 846822af4e changelog: #8339 团期确认联动子订单确认 / #8341 团期核单结算同步子订单
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:07:09 +08:00
jw和Claude Opus 5.5 a04624cd2c docs(changelog): 前端缺陷——团期详情配导游/配摄影保存报 589553,弹窗误传订单侧团期 ID(应传 productBatchId)
changelog-filename-gate / validate (push) Failing after 3s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 16:09:27 +08:00
jw和Claude Opus 5.5 92ce44f6b4 docs(changelog): #8219 团级正式用车需求未提交户阻断与豁免户清单(修改接口)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 15:13:27 +08:00
jw和Claude Opus 5.5 63d29f8538 docs(changelog): #7804 定时任务健康自检 GET /admin/job/health(新增接口)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:57:27 +08:00
jw和Claude Opus 5.5 1fe976a7a6 docs(changelog): #8322 团期预支核单前均可发起+领款人限定主报账人(589557),补 #8270 放宽说明,订正 #7154 错误码 589538/589539→589541/589542
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 11:51:33 +08:00
jw和Claude Opus 5.5 f872d5204a changelog: #8253 团期审批中心统一审核补字段与团期名称搜索(修改接口,管理后台)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 10:53:30 +08:00
jw和Claude Opus 5.5 bfc1a3210b changelog: #8268 团期人工确认 / #8269 确认后锁定配置 / #8271 六节点展示
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 10:04:14 +08:00
jw和Claude Opus 5.5 147afd6b5c changelog: #8220 团期正式行程用车需求自动汇总草稿端点(新增接口,管理后台)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 17:43:39 +08:00
jw和Claude Opus 5.5 226deac4a2 changelog: #8225 订单调整统一提交远程调用移出锁与事务,新增失败码 587043
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 16:12:15 +08:00
jw和Claude Opus 5.5 dd72fd6a09 docs(changelog): #8226 车型大类中文名空白校验收紧 + 空名大类不再被挤出字典白名单
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 14:35:35 +08:00
jw和Claude Opus 5.5 4f8393a475 changelog: #8221 团级用车分组存量车型归一与 SUV 下拉回显不匹配(修复)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 12:39:31 +08:00
jw和Claude Opus 5 49f43e50d0 docs(changelog): #8231 配导游/配摄影/物资放开到出行前四态 + 取消成团回收导摄配置(行为变更)
changelog-filename-gate / validate (push) Failing after 1s
- 后端条目:六个接口(配导摄保存、报账人等级、物资增/改/删、取消成团)
  可配窗口扩大、拒绝码 589520/589552 → 589598、取消成团导摄不再阻断且成功时回收配置
- 前端交接件:SuppliesPanel.vue 四处按 MATERIAL_PREPARING 前置隐藏,
  不改则后端放开在界面上等于没发生;确认物资那一处不要跟着改(另一个接口)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-23 12:26:06 +08:00
jw 09d3728e92 docs(changelog): 团期详情 A2 新增出参 subOrderCount(#8215)
changelog-filename-gate / validate (push) Failing after 2s
活跃子订单户数,与 A3 total / 看板 orderCount 同源同值。
TEST 09:50 三接口同轮实测均为 12(dev-v3 @ fc0508981)。
纯增出参,路径/入参/权限码/其余字段零变化,网关无改动。
前端是否取的就是这个字段名待确认,frontend_status 记 pending。
2026-09-23 09:52:17 +08:00
jw和Claude Opus 5 165cbcb69a docs(changelog): 团期三张子订单表的前端渲染缺陷两份交接件(GB-ADM-003 后端零改动)
changelog-filename-gate / validate (push) Failing after 1s
整团名单速览、子订单、查看需求三张表吃同一个接口 GB-ADM-003
GET /v3/admin/order/group-batch/{groupBatchId}/orders,同源所以同病:

- 22_frontend_整团名单速览与子订单表…:联系人列显示占位符「—」应取 customerName;
  房型列显示英文枚举码(KING)应取 roomTypeName(豪华大床)。
- 22_frontend_查看需求Tab子订单表…:同样两处取值问题,外加只有 5 列、
  要补齐到子订单表的列集(团号/房型·间数/状态/需求审核/联系电话/应收/游客/资料)。

后端零改动,两份均已回填测试服活体实测读数:团期 2101506167098511362 全量 12 户,
customerName 12/12 有值、roomType→roomTypeName 12/12 翻译正常(KING→豪华大床);
图示那一行的 12 列逐列与实测值逐字吻合。附排查提示:travelers 12/12 为空数组且
travelerInfoComplete 恒 false,联系人若从出行人明细推导即会恒显「—」。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 16:57:39 +08:00
jw和Claude Opus 5 7afd10b226 docs(changelog): 小程序用车详情 vehicleCount 由车·日数订正为车辆台数(#8143)
changelog-filename-gate / validate (push) Failing after 2s
同一个订单同一个字段,返回的数字会变小(3 天 2 辆车由 6 变成 2)。
字段名/类型/其余字段全不变,前端把它当「车辆数」展示则无需改动。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 14:54:10 +08:00
jw和Claude Opus 5 59938ccf63 docs(changelog): 更正 #7105「出具门恒失败」说明——门已由 #7248 打通
changelog-filename-gate / validate (push) Failing after 2s
2026-09-07 那条 #7105 的首段写着:酒店 ready 线上无写入方(#4132),
故 issuable 恒 false、手动开/作废重开恒返 589548、团期合同保险不会自动出具。
两个前提现已都不成立:

- #7248 / PR #7249(9f47f620f)把出具门从「判团期状态」改成
  「资源准备中 + 四项 ready 全 true 即放行」,解开与 #7023 的死锁
- hotel_ready 已有三处写入方(GroupBatchRoomDayConfirmManager:457/:767、
  HouseGroupBatchAssignmentService:201)

2026-09-21 TEST 经真实网关实测:RESOURCE_PREPARING 团期 issuable=true;
issue 端点返 200 逐户结果而非整单 589548;四项配齐团期下 40 户已确认行程的
子订单合同全 SIGNED、保险全 INSURED。

接口契约零变更,前端需调整两处:按 issuable 置灰、失败改读逐户 outcome/message。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-21 16:00:42 +08:00
jw和Claude Opus 4.8 e8d53378c7 docs(changelog): order-v3 团期详情返回整团待收 unpaidAmount(#8045)
changelog-filename-gate / validate (push) Failing after 2s
团期详情端点(A2)新增响应字段 unpaidAmount,值 = max(0, receivableAmount − receivedAmount),
恒非 null 恒非负、字符串型金额;列表页 A1 早已有同名字段,本次把详情页补齐。

给前端(mmg)的三条要点:
1. 不要再自己拿应收减已收,直接读 unpaidAmount;
2. 不要与本页子订单项的 balanceAmount 混用(那是 per-order「应收 − 已退 − 已付」,
   扣退款且取消单归 0,同名不同义);
3. 有退款的团本字段按毛已付算会偏大,权威待收是财务 tab 的 items/totals ——
   ⚠️ 注意是「逐户明细与合计」,不是财务 tab 的顶层 unpaidAmount
   (顶层与本字段同源同公式,数值一致;实测差异见正文第八节)。

既有四个金额字段(receivableAmount / receivedAmount / totalReceivable / totalReceived)
的值、名称、JSON 形态逐字未变,纯增量。

Issue: #8045   PR: #8101

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-21 14:59:57 +08:00
jw和Claude Opus 5 304477d880 docs(changelog): order-v3 团期用房新增子订单订房记录接口(#8046);回填 #8030 实测并订正错误码
changelog-filename-gate / validate (push) Failing after 2s
#8046 新增接口条目(含 TEST 真实响应、AC-1~AC-11 实测读数、地域字段该用
district 而非 city 的实测依据)。

同时补两处 #8030 的遗留:
- 「八、测试环境已验证」当时留着「待部署后回填」的占位没填,现按当轮实测回填;
- 正文里的降级错误码 589574 订正为 589596(589574 是 #7932 的保留位)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 19:00:06 +08:00
jw和Claude Opus 5 af00e6fa30 docs(changelog): order-v3 全团需求汇总逐日房间补酒店维度与住宿日期(#8030)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 17:07:34 +08:00
jw 4e9e0c50bf docs(changelog): #7965 改派幂等重放 assignmentSlotId 口径订正 + 补实测读数
changelog-filename-gate / validate (push) Failing after 2s
该文件的初稿被 #8023 那次提交(ba78f96)连带提交上来了,内容是未修正版。本次补齐并订正:

1. 口径订正(重要):初稿沿用工单与 PR #7997 的说法「重放的响应体里这个字段消失了」,
   该说法对响应体不成立。NON_NULL inclusion 只挂在回执写 outcome_json 的私有
   CANONICAL_MAPPER 上,响应 VO 无 @JsonInclude、全仓无 default-property-inclusion 配置;
   网关实测响应原文里 "warningCode": null、"vehicleFeeAdjustmentReason": null 均原样带出。
   ⇒ 前端改前看到的是 "assignmentSlotId": null(键在、值为 null),不是键消失。
   已同步改掉「按键可能不存在判空」这条会误导前端的契约约束。

2. 请求/响应示例换成 TEST 实测原文(2026-09-20 15:26,两次调用响应体 MD5 相同)。

3. 补「八、测试环境已验证」:网关双调读数、重放佐证、存量 19 行统计与反推前提核验、
   本地 fleet 全量 verify 读数。

4. 补前端现状核查与「重放路径确实会走到」的依据(hl-ui useAssignFlow.js:757 复用 requestId)。

三个校验器均 PASS。

Refs wx/HL#7965
2026-09-20 15:56:36 +08:00
jw和Claude Opus 5 59efa9d540 docs(changelog): #8004 候选面拆出 shareEligible,两个读口 cityJunctionShareCandidate 恢复同义(修改接口)
changelog-filename-gate / validate (push) Failing after 2s
同名字段在 candidates 与 precheck 上含义不同:#7444 把 candidates 一侧扩写成
「同城衔接 或 已确认共用关系」,precheck 一侧保持原义,于是同一对跨城派单
两个读口返回相反的 true/false。本次 candidates 该列回到 #5302 已发布的原义,
新增 shareEligible 承载「这条冲突被放行了吗」(恒等于 !blocking)。
precheck 出参与两端点入参一律不变。

收件人 mmg:若前端已按 #7444 口径把 cityJunctionShareCandidate 当「可不可以选」用,
须改读 shareEligible 或 blocking。

Refs #8004

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 15:40:36 +08:00
jw ba78f967e2 docs(changelog): #8023 需求汇总与确认预检不再只认 needs_hotel 标记位(修改接口)
changelog-filename-gate / validate (push) Failing after 1s
2026-09-20 15:28:57 +08:00
jw和Claude Opus 5 dde36e4548 docs(changelog): #8005 补 AC-11 退团口径回归取证
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 13:00:28 +08:00
jw和Claude Opus 5 7aa66180af docs(changelog): #8005 退单户候选列表与提交前预览(新增接口)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 12:58:18 +08:00
jw和Claude Opus 5 ec1d8b3c69 docs(changelog): #7937 全团需求汇总车型座位合计补车型大类中文名 vehicleTypeName(修改接口)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 12:14:27 +08:00
jw和Claude Opus 5 8d644fc8f3 docs(changelog): #7925 全团需求汇总房间合计对齐预检判定 + 补房型中文名与需房/已提交户数(修改接口)
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 09:52:45 +08:00
jw和Claude Opus 5 afc2699499 docs(changelog): #7942 团期看板 keyword 支持按期号「第N期」精确搜索(修复)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 09:42:54 +08:00
jw f839961bf4 docs(changelog): #7539 团期出发推进定时任务 1041 启用与存量待出发团处置(无接口变更)
changelog-filename-gate / validate (push) Failing after 2s
Refs #7539
2026-09-20 09:29:21 +08:00
jw d7c4a5d4bf docs(changelog): #7949 定制师可读名下团期详情与子订单名单(修改接口·管理后台)
changelog-filename-gate / validate (push) Failing after 1s
2026-09-18 18:16:37 +08:00
jw和Claude Opus 5 8a5c34f09f docs(changelog): #7932 团期核团 7 个新增接口与验团前置核团行为变更
Refs wx/HL#7932

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 18:12:53 +08:00
jw和Claude Opus 5 547035c39e docs(changelog): #7946 团期转订单收紧为只允许招募中团期之间转(修改接口)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 17:11:44 +08:00
jw和Claude Opus 5 f9c6ce3dd1 docs(changelog): #7939 团期看板统计条回带 effectiveScope 与 filteredOutCount(修改接口)
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 15:43:39 +08:00
jw 4c8f93f978 docs(changelog): #7916 团期物资列表与候选补分类中文名 categoryName(修改接口)
changelog-filename-gate / validate (push) Failing after 2s
2026-09-18 11:02:39 +08:00
jw和Claude Opus 5 dbadd1b685 docs(changelog-v2): #7398 应付款已付超额冲正(供应商退回)——申请 / 分次确认到账 / 撤销剩余额度 / 分页
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 15:26:05 +08:00
jw和Claude Opus 5 0c012ef072 docs(changelog-v2): #7868 团期核团地基——核团四表建表与错误码占号(无接口变更)
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 14:41:11 +08:00
jw和Claude Opus 5 36431070c1 docs(changelog-v2): #7396 应付款四入口接团期住宿 + 团期住宿付款身份金额对账 + 撤销批准
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 14:11:01 +08:00
jw和Claude Opus 5 014a2396a1 docs(changelog): 团期原型核对的两条纯前端缺口(团期详情主报账人/流团横幅等、物资改删与手工录入)
changelog-filename-gate / validate (push) Failing after 2s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 11:16:55 +08:00
jw fad30338a5 docs(changelog): #7853 团期配导游/配摄影逐户明细带出已配置人员(修改接口)
changelog-filename-gate / validate (push) Failing after 1s
2026-09-17 10:08:16 +08:00
jw d77b108824 docs(changelog): #7827 团期配置导游/摄影候选分页与模糊搜索(新增接口)
changelog-filename-gate / validate (push) Failing after 2s
2026-09-16 19:15:28 +08:00
jw和Claude Opus 5 5d97e1acb8 docs(changelog): #7816 需求审核状态中文名房车各一套 + #7817 出行人四档统一为成人/儿童/幼童/婴儿
changelog-filename-gate / validate (push) Failing after 1s
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 17:03:29 +08:00
jw和Claude Opus 5 2b0b922da3 docs(changelog): 团期列表与整团名单按测试反馈的前台调整(两条纯前端条目)
changelog-filename-gate / validate (push) Failing after 1s
- 16_frontend 列表页:删子订单房型·间数列、已订房文案改「户」、补户/人两行汇总、删班期范围下拉
- 16_frontend 整团名单:RosterTable 补「状态」与「需求审核」两列,并订正已过时的组件注释

两条均为已返回字段的展示形态调整,后端零改动。
需求审核列的中文名翻译缺陷已另开后端工单 #7816;档位中文名口径统一见 #7817。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 15:37:43 +08:00
jw和Claude Opus 5 6c78b879a4 docs(changelog): 团期列表 #7769 出参补 daysToDepart/minToForm、#7770 入参补日期区间与排序
changelog-filename-gate / validate (push) Failing after 2s
- 16_7769:GB-ADM-001 出参新增 daysToDepart / minToForm,GB-ADM-009 出参新增 minToForm / maxRooms
- 16_7770:GB-ADM-001 入参新增 departFrom / departTo / sortBy / sortOrder

两单均已合入 dev-v3(4559f35d0 / 791506985)并部署 TEST(791506985),
AC 已在 TEST 逐条取证:请求响应、SQL 对照、注入串回落日志、前后 diff 均留证。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 11:59:01 +08:00
jw和Claude Opus 5 d38d8fc4bb docs(changelog): 前台团期列表两条前端条目(列表漏展示 11 字段 + 子订单联系人绑错 customerName)
changelog-filename-gate / validate (push) Failing after 1s
按团期原型逐块比对测试环境产出,后端零改动:
- 前端优化:GET /v3/admin/order/group-batch、/summary、/products 已返回的 11 个字段前台未渲染
  (productName/endDate/orderCount/enrolledPeople/maxParticipants/remainParticipants/maxRooms/
  batchNo 展示形态/subOrderCount/total/coverImageUrl+regionText),逐条附现网实测值。
- 前端缺陷:SubOrderTable.vue:25 绑 o.contactName,该接口出参只有 customerName,联系人列恒显破折号;
  同表 paidAmount/balanceAmount/orderStatusName/payStatusName 四个已返回字段也未使用。

后端确实缺的 5 项另开工单 #7769(出参 daysToDepart/minToForm)与 #7770(入参日期区间筛选与排序),不在本文范围。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 17:20:32 +08:00
jw 3572fc7a0d docs(changelog): #7534 成团通知接通通知中心 + 补发端点 GB-ADM-004N(新增接口)
changelog-filename-gate / validate (push) Failing after 2s
新增补发端点 notify-formed;成团(含自动成团)后事务外投递 GROUP_BATCH_FORMED。
backend=deployed / gateway=verified(TEST 网关三组实测:补发成功 recipientCount=4 /
冷却 589593 {0} 渲染 / 成团契约 589537 未变)。错误码 589593/594/595(589592 被 #7533 占顺延)。
2026-09-14 20:03:47 +08:00
jw 22d34c8023 changelog(7536): 团期接口返回值整改·破坏批(A3 分页信封+删5冗余字段+财务金额字符串,修改接口,管理后台)
changelog-filename-gate / validate (push) Failing after 2s
Refs #7536 PR #7688
2026-09-14 16:55:29 +08:00
jw和Claude Opus 5 a19ef02533 changelog(7533): 团级行程单与团期签单凭证(新增接口,管理后台)
changelog-filename-gate / validate (push) Failing after 2s
两个只读端点:print-itinerary(只出 ALL_SAME 项、差异项标「按户另见」)
与 sign-voucher(按供应商聚合、默认脱敏)。backend=deployed / gateway=verified。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 15:09:45 +08:00
jw和Claude Opus 5 3860003084 docs(order-v3): #7529 团期转期后重排逐日行程 + 重版用车需求 + 三条 fail-fast 守卫
changelog-filename-gate / validate (push) Failing after 2s
Refs #7529

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 09:44:47 +08:00
jw和Claude Opus 5 a7dd25f5c4 docs(order-v3): #7609 审批角色守卫改 fail-closed——缺 role claim 的 token 不再绕过角色门
changelog-filename-gate / validate (push) Failing after 2s
退单审批 4 端点 + 流团审批 approve/reject 共 6 个端点。
不改请求/响应结构、不新增错误码、不改路由、无 Flyway。

TEST 真实网关前后对照:缺 role claim 由 589531/589545(绕过进业务)
变为 589530/589547(拦下);role=ADMIN(非超管)行为不变。

⚠️ 行为变更:生产库若有活跃零角色账号在做审批,上线即被拦,需运营侧知情。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 07:54:30 +08:00
jw 0686db9ad5 changelog(#7528): 团期进入待出发七项硬门 + 详情 departureGates 展示 + recheck 端点
changelog-filename-gate / validate (push) Failing after 2s
2026-09-13 19:04:55 +08:00
jw和Claude Opus 5 ad0c43afb1 docs(order-v3): #7608 团期取消成团接入 group-batch:manage 判权(589507)+ 三端点旁路观察
changelog-filename-gate / validate (push) Failing after 2s
批 0+1:cancel-group 接 manage 带 nacos 灰度开关;withdraw / transfer-in /
transfer-candidates 本批只加旁路观察日志,对外行为零变化。

TEST 实打:AC-2 零写入(41 列逐列一致、update_time 未变、流水 0 新增)、
AC-3 非超管 ADMIN 仍 200、AC-6 开关两态(≈7s 生效)、观察探针端到端。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-13 11:57:43 +08:00
jw和Claude Opus 5 d32665518f docs(order-v3): #7513 团期转期同步回写归属两列 + 在途退单守卫 589589
changelog-filename-gate / validate (push) Successful in 2s
转订单端点请求/响应结构零改动,前端无需改造。两处需告知:

1. 转期后订单详情的团期编号/名称会正确显示为【目标期】——此前因只改了
   product_batch_id、没改 group_batch_id,展示的是源期。属修复非回归。
2. 新增拒绝码 589589:该户有在途 PENDING 退单审核时转期被拒,前端按普通
   业务错误弹 message 即可,文案已含出口指引(先在源期驳回再重提)。

历史已转期订单的存量分叉本次不修,见 #7586。

frontmatter: backend_status=deployed / gateway_status=verified / frontend_status=pending
校验:validateV2Document 0 错误;validateChangelogPath 通过。

Refs #7513
PR wx/HL#7589

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-12 17:10:02 +08:00
jw 4bea4c2d1c docs(order-v3): #7535 零破坏证据升级为真·双部署逐字段对拍
changelog-filename-gate / validate (push) Successful in 3s
2026-09-12 15:41:25 +08:00
jw和Claude Opus 5 1584c8ee80 docs(order-v3): #7532 团期出团通知书读写端点(GB-ADM-081 / 082)
changelog-filename-gate / validate (push) Successful in 2s
新增两个管理后台端点:
  GET / PUT /v3/admin/order/group-batch/{groupBatchId}/docs/notice
读端点在未保存过时按团期数据即时拼草稿返回(不落库),写端点整体覆盖保存到新表
group_batch_notice(Flyway V20260912_140)。

前端必接三件事:
1. expectedVersion 必填、首次传 0、收到 589585 必须【重读再提交】——直接重试一定还是 589585;
2. releasable=false 时置灰「打印 / 存 PDF」(阶段门只卡下发不卡编辑,招募期可起草);
3. 正文是纯文本语义,后端不转义也不反转义,按纯文本渲染、不要 v-html,
   也不要在前端 escape/unescape 后再提交。

另一条部署事实:新权限码 group-batch:docs 在 user-service 有 10 分钟 Redis 缓存,
上线后 ADMIN 最多 10 分钟才生效,这段窗口的 589507 不是漏配。
当前授权范围 ADMIN / SUPER_ADMIN,FINANCE 未授。

原型出入三处(contacts 单串 vs 两个输入框、完成编辑未发请求、service/bring 未接控件)
已在正文列出,口径由 mmg 对齐。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-12 11:55:44 +08:00
jw和Claude Opus 5 b4ef91e9eb docs(order-v3): #7531 下线 Mock 的行程整体保存端点 + #7530 团期 staff 去重与报账人扇出限定本团
changelog-filename-gate / validate (push) Successful in 3s
#7531(删除接口):POST /v3/admin/order/{orderId}/itinerary/save 下线。
该端点自 2026-05-12 落地起就是 Mock,只回显入参 id、从不落库;
下线前已穷举 mmg/hl-ui 全部 4 条远端分支确认零调用(每条带阳性对照),
故前端预期无需改动。整体保存的真实入口是 POST /v3/admin/order/{id}/adjustment/submit。
错误码 583030-583034 号位保留未释放。

#7530(修改接口,两个端点):
1. PUT /v3/admin/group-batch/{productBatchId}/staff 新增 589582——
   staffList 内 staffId 重复即拒绝、整批不保存,同一员工不能在同一团期占两个配置位。
   前端需提交前去重或直接透出文案。
2. PUT .../staff/{staffId}/reporter-rank 行为收敛——
   报账人等级的订单副本同步范围由「全库」收窄为「本团活跃订单」,
   响应结构与错误码不变;存量重复行不再抛裸 500。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-12 11:04:13 +08:00
jw和Claude Opus 5 4656428473 docs(order-v3): #7527 团期发起核单端点(TRIP_FINISHED → REVIEWING)
changelog-filename-gate / validate (push) Successful in 3s
新增 POST /v3/admin/order/group-batch/{groupBatchId}/review/start。

补的是「团期卡死」的入口缺失:这一跳此前唯一入口是录共享成本的副作用,
不用大巴、没请导摄的团没有成本可录就没有触发点,永久停在「出行完毕」,
八桶看板的「核团中」桶对这类团恒为空。

面向 hl-ui 写清三件事:① 重复点击返 200 而非报错,必须看 data.alreadyStarted
区分「真的推进了」与「幂等命中」,否则会连弹两次成功;② 三个新错误码
589564/589565/589566 各对应不同的下一步动作(等团回来 / 去做验团反确认 /
这团已流团),给了逐条的前端提示建议,其中 589565 要带反确认跳转;
③ 录成本自动推进的老行为一行未改,两条入口并存,前端现有调用不需调整。

权限码复用录成本那一个(group-batch:finance:advance),按钮可见性判据可直接复用。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-12 10:26:15 +08:00
jw和Claude Opus 5 79186364b8 docs(order-v3): #7537 管理端展示订单号的响应体统一补团号(teamNo)
changelog-filename-gate / validate (push) Successful in 2s
11 个 /v3/admin/** 端点响应体纯增 teamNo:退款详情/列表、支付分页/详情/按订单、
工单分页/详情三块新增字段,订单待办 4 个写端点补上此前恒 null 的填充。

面向 hl-ui 写清四件事:teamNo 是订单团号 order_main.team_no(26-0001),不是运营
团期号 batchNo(GB-26-0001);为空一律 null 不返空串不回退订单号;生成条件是订金
支付成功、与是不是团期单无关(已付订金散客单有、未付订金团期单没有);同团每张
子订单团号各不相同,别按团号归并。

另记 4 个 /v3/internal/ 端点连带多出该字段(服务间调用,前端不对接)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-12 09:15:46 +08:00
jw 6c62b1aa2b docs(changelog): #7456 团期生命周期后半段——核团开工自动推进 + 验团归档 + 反确认
changelog-filename-gate / validate (push) Successful in 2s
2026-09-10 18:10:23 +08:00
jw 953d953bdc docs(changelog): #7455 团期十五个 admin 端点补判权(写口 manage / 详情名单 view / 列表看板 list)
changelog-filename-gate / validate (push) Successful in 2s
2026-09-10 17:56:28 +08:00
jw c95ab182dc docs(changelog): #7378 团期行程逐日汇总与逐户下钻(GB-ADM-018/019,新增接口)
changelog-filename-gate / validate (push) Successful in 3s
2026-09-09 17:57:34 +08:00
jw和Claude Opus 5 2b45ee9d44 docs(changelog): 团期人员配置 staffList 必填 + 备品候选关键字转义 + 加备品行改定点查(#7377)
changelog-filename-gate / validate (push) Successful in 2s
收口 2026-09-03 团期人员/备品合并后审计的余项(F-03/F-05/F-06/F-07),随 PR #7028 合入 dev-v3。

两处对外行为变更需前端注意:
- PUT /v3/admin/group-batch/:productBatchId/staff 的 staffList 改为必填,
  字段缺失或名字写错一律 400;改前会被当成「传空=清空」,静音软删整团配置还返 200。
  「显式传 [] 即清空」这条语义不变。
- 备品候选列表的 keyword 转义 LIKE 通配符,搜 % 或 _ 由「返回全库」变为「零结果」。

第三处对调用方透明:加备品行改走资源域新增的定点查,解除「备品库超 500 条后
第 501 条起加不进」的隐性上限,契约与错误码不变。

后端已部署 TEST 并经真实网关逐条实测;order-v3 全量 9303 例、resource 全量 2707 例 0 失败。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 16:25:30 +08:00
jw和Claude Opus 5 b22e67ca69 docs(changelog): #7304 团期时间线只读端点 GB-ADM-096(新增接口,面向 mmg)
changelog-filename-gate / validate (push) Successful in 2s
group_batch_status_log 此前只写不可读:十余条链路持续写入,全仓零生产读回方,
运营在页面上一条也看不到——#7283 那条「同步失败靠时间线让运营看见并手动去产品
后台取消班期」的唯一可见兜底入口因此实际不可见。

新增 GET /v3/admin/order/group-batch/:groupBatchId/status-logs:按 changedAt 升序
全量返回,extra 由 JSON 字符串解析成结构化对象,事件类型与前后状态的中文名由后端
给出(前端不必自建映射表),权限同码 group-batch:view。

backend_status=deployed / gateway_status=verified:已部署 TEST 并经真实网关逐条
取证 AC-1~AC-6,含读回 #7283 的 BATCH_PRODUCT_CANCEL_FAILED 兜底留痕。
frontend_status=pending(mmg 待接团期详情的「操作记录/时间线」区块)。

Refs HL#7304 (PR #7359, 合并提交 0b85f6831)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 13:45:07 +08:00
jw和Claude Opus 5 b22345d167 docs(changelog): #7294 补充 actualRefundAmount 的暂定值/定稿值口径(PR #7354)
changelog-filename-gate / validate (push) Successful in 2s
退款单在流团事务【提交之后】才建(异步),所以 approve 响应体里的
actualRefundAmount 是暂定值=退款诉求合计;随后服务端逐户回读实际建单结果,
把没建出退款单的户剔掉,改写成定稿值。要展示准确金额请重新拉一次详情。

本文原本已写「actualRefundAmount 只统计成功发起退款的户」,PR #7354 之前
实现其实是 Σ诉求、有户建单失败就对不上;现在实现与本文口径一致了。

顺带修两处当前校验器不再接受的 frontmatter:
consumer hl-ui → admin;not_required 不得保留 frontend_owner / verified_at。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 18:58:20 +08:00
jw和Claude Opus 5 9c1290d1c7 docs(changelog): #7344 取消班期活跃订单判据 fail-closed(聚合失败取保守侧 CANCELLING,出入参零变化)
changelog-filename-gate / validate (push) Successful in 2s
管理端取消班期在判「班期还有没有活跃订单」时用的是 fail-open 取数:order-v3
实时聚合一失败就退化为「无活跃订单」,班期被落成终态 CANCELLED 且全仓无路径
可自愈。改为聚合失败取保守侧 CANCELLING + WARN,与订单域内部入口口径对齐。

接口 / 字段 / 路径 / 参数 / 枚举 / 错误码零变化,batchStatus 取值集合与语义
不变,CANCELLING 与 CANCELLED 在下游四处判定中等价 → frontend_status=not_required。

backend_status=deployed / gateway_status=verified:已部署测试服,经真实网关实测
三条路径(无订单→CANCELLED、真实下单→CANCELLING、注入聚合失败→CANCELLING+WARN),
落库均以 SQL 复核。

Refs HL#7344 (PR #7348, 合并提交 2071286a1)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R2LSgt2xhmX2ae9M3rkdZg
2026-09-08 17:24:56 +08:00
jw e22dbe465c docs(changelog): #7284 / #7287 / #7294 团期三单交接 mmg(均已部署测试服并实测)
changelog-filename-gate / validate (push) Failing after 2s
- #7284 团期下单校验改判实时库存:满员班期退单后能重新下单;满员时错误码由 581028
  改为 581031 / 581034;产品域库存聚合失败改 fail-closed(下单返 581027,展示链路不变)。
  前端待办:若对 581028 有特殊文案需改判;接口结构零变化。

- #7287 团期达门槛自动成团 + 未成团动作闸:新增自动成团定时任务(落地即暂停,需运营开启);
  团期详情新增 formingRooms / formingPeople / thresholdSource 且两个门槛改取实时值;
  班期表单与批量创建新增 minParticipants;未成团 / 未建团的资源动作拒 589552 / 589553。
  前端三项待办:成团弹窗「已售」改读 formingRooms、班期表单加最低成团人数、补录两个错误码。

- #7294 流团对已付款户也取消并发起退款:审批单「实退金额」不再恒为 0,改为「已发起退款金额」;
  新增 589554「团期下有出行中的子订单,不可流团」,发起与批复两个入口都会返。
  前端待办:补录 589554,并把「实退金额」文案改为「已发起退款金额」。

三份均按 v2 模板逐接口八子节撰写,本地校验器 PASS。
2026-09-08 16:47:02 +08:00
jw d795a2f0bb docs(changelog): #7159 补齐 581034 网关端到端实测证据,作废「未实跑」旧记录
changelog-filename-gate / validate (push) Successful in 3s
#7135/#7159 同 PR #7169 交付,本文档是 #7159 的口径落点。2026-09-06 记录的
「581034 线上端到端未实跑」已于 2026-09-07 09:2x 由网关实测补齐(12-01 期
maxParticipants 改 3 → adultCount=4 返 581034、=2 返 200 建单后取消复原),
原文表述已作废。同时补 Issue #7159 反链,并按前端交付实况回填 target_release。
2026-09-08 16:29:47 +08:00
jw和Claude Opus 4.8 c276b2790c docs(changelog): 补 #7023 团期物资阶段门(验收补做时发现缺 changelog)
changelog-filename-gate / validate (push) Successful in 2s
#7023 三端点新增阶段门(非 MATERIAL_PREPARING 返 589520)+ 合同保险前置门,
属接口行为变更但原工单未列 changelog。走验收标准时补上。

已合入 dev-v3;2026-09-07 TEST 网关实测非物资准备态 POST supplies 返 589520。
纯服务端拒绝,前端按错误码提示(frontend not_required)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 16:43:53 +08:00
jw和Claude Opus 4.8 133955c190 docs(changelog): #7234 敏感读取判权统一到 token 当前角色(车务明文+供应商域)
changelog-filename-gate / validate (push) Successful in 2s
契约不变,仅拒绝口径与审计语义:判权依据由库默认角色改为本次请求 token 当前角色(X-Admin-Role),
撤权最迟 10 分钟生效。TEST 网关实测通过(AC-10/11/12),PR #7272 已合 dev-v3。
backend_status=deployed / gateway_status=verified。

Refs #7234

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 16:27:38 +08:00
jw和Claude Opus 4.8 15d63f0ba2 docs(changelog): #7095 #7080 TEST 网关实测通过,回写 deployed
changelog-filename-gate / validate (push) Successful in 2s
两单 2026-09-07 部署 dev-v3 到测试服并过网关实测:
- #7095 团期转订单:候选查询、成功转期(计数守恒 2/1→0/0 与 0/0→2/1、金额重算、
  订单归属改到目标期、订单侧 GROUP_BATCH_TRANSFER timeline)、容量守卫拒绝路径全过。
  含后续修复 #7270(订单 timeline 漏实现)、#7278(容量 0=不限口径,网关实测暴露)。
- #7080 团期配人扇出:第7期55户配导游后 guide 芯片 TODO(0/55)→DONE(55/55),
  清空后回落 TODO(0)——改前扇出不同步订单侧状态、芯片恒 TODO,此为修复直接证据。

backend_status pending→deployed,gateway_status→verified,verified_at 2026-09-07。
文件名日前缀按推送日改为 07。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 15:49:31 +08:00
jw和Claude Opus 4.8 699fc4c04e docs(changelog): #7263 大期数团期产品库存字段静默降级修复(修复,前端无需改动)
changelog-filename-gate / validate (push) Successful in 2s
分片下沉 product-v2 GroupBatchStockHelper,≥约260期 GROUP 产品的库存/已报名/
有效订单数/展示态由静默错值恢复准确;无接口/字段/路径/参数/枚举/错误码变化。
后端 PR #7268 squash f1eb72444 合入 dev-v3,测试服 313 期 AC-1~AC-13 实测通过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T5raGi2iBzrbDwiENbpWY2
2026-09-07 15:13:58 +08:00
jw和Claude Opus 5 347d5ec664 docs(changelog): 团期合同保险面板与逐户出具 #7105
changelog-filename-gate / validate (push) Successful in 2s
新增面板读、手动开、作废重开、批量催签四个端点。

如实标注三条:
1. 出具依赖房/车/导/摄四项 ready,而 hotel_ready 线上无任何写入方(#4132),
   故面板 issuable 恒 false、三个写动作恒返 589548 —— 前端可先接,
   但 #4132 落地前看不到出具效果;面板读与催签不受限制,已实测可用。
2. 出具成功的正向路径未在网关侧实测(该状态在 TEST 造不出来),
   仅单测覆盖;589549 同样未在真实环境命中。
3. 上线必须先部署 hl-user-service 再部署 order-v3,否则写动作全返 589507。

门的口径以 #7248/PR#7249 修正后为准(判四项 ready,不判团期状态)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 14:34:51 +08:00
jw和Claude Opus 5 0f2c589874 docs(changelog): 前端待办汇总第 5 项解除依赖——#7250 changelog 已发布
changelog-filename-gate / validate (push) Successful in 2s
完成 #7250 AC-9 后半句:把第 5 项芯片计数 tooltip 的依赖指向本单 changelog,
并更新为「依赖已解除,可开工」。

两处过时表述:
- status_note 原写「其 changelog 已写好但待测试服实测后才发布,故本条仍挂起」
- 第 5 项正文原写「后端 #7250 的 changelog 发布后再做…该篇待测试服实测后发布」

现均改为已发布:07_7250_* 于 2026-09-07 通过测试服 AC-1~AC-9 实测后推送
(commit 16e0133),PR #7254 已合入 dev-v3 (47c9a6d29)。

注:本次提交同时带入该文件此前未提交的两行改动(指向 #7250 文件名、
status_note 补 PR #7254 说明),二者与本次更新是同一件事的前后半段,
分开提交会留下自相矛盾的中间态。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 12:54:16 +08:00
jw和Claude Opus 5 16e0133257 docs(changelog): #7250 团期看板芯片透出 chipStats 计数 — 实测通过,解除挂起
changelog-filename-gate / validate (push) Successful in 2s
PR #7254 合入 dev-v3(47c9a6d29)后,草稿的 status_note 写明「待部署测试服
并过网关实测后改 deployed 再推送」。2026-09-07 已部署 dev-v3 到测试服并逐条
走完 AC-1~AC-9,故回写 backend_status=deployed / gateway_status=verified /
verified_at=2026-09-07 并推送。

网关实测要点:
- chipStats 六项与 chips/{chip} 明细端点的 totalCount/doneCount 逐一相等
- error 计数与明细 items 里失败态户数相等(vehicle 芯片:55 户中 1 户
  REJECTED_TO_CONSULTANT,chipStats.vehicle.error=1)
- 跨 6 个产品 55 行普通聚合分支满足「error>0 当且仅当 chips=ERROR」,违例 0
- 54 个零户行计数全零,未建团行 chips 仍为 TODO(本单不统一零户状态)
- board / 详情 / export / chips 明细四个接口均不含 chipStats,无回归
- VO 纯新增 58 行零删除;Service 层无查询增减,aggregateAll 仍单次调用

AC-6d 原缺 listPage_notFormedRow_chipStatsAllZero(只有 zeroOrderRow 那条,
覆盖的是命中行不是未建团行),已由 PR #7258 补齐(6d3b38de7)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 12:17:38 +08:00
jw和Claude Opus 5 3b2883d1d3 docs(changelog): #7245 团期看板班期名去空格 + 不限容量 remain 统一 null + board 库存同源
changelog-filename-gate / validate (push) Successful in 2s
三个读端点(GB-ADM-001 分页 / board / GB-ADM-002 详情)的响应值修正,
路径、入参、响应结构均未变。

关键变化:remainRooms 与 remainParticipants 为 null 表示「不限」,前端
不要按 === 0 判满员。改前容量为 0 时返 0,而同列表未建团行返 null,
两类行语义打架,运营会看到「剩余 0 人」误判满员。

另两处:batchName 由服务端去前后空白(产品侧存量脏值经合并层实时透出,
存量列不自愈);board 未建团行已用房数改取产品侧 occupiedRooms(含线下
占位),与分页及 product schedule/list 同源——改前容量 8/占位 3/线上 0
时 board 回「剩 8」而实际剩 5。

2026-09-07 测试环境网关实测 AC-1/2/4/4b/5/6 全部通过;本地全量 8728 例
0 failures。backend_status=deployed / gateway_status=verified。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 11:57:10 +08:00
jw和Claude Opus 5 da07ac2ebf docs(changelog): 团期流团改为申请与审批 #7196
changelog-filename-gate / validate (push) Successful in 3s
发起流团端点语义变更(立即执行 → 提交申请,理由改必填,新增权限与阶段限制),
新增审批中心列表 / 申请详情 / 同意 / 拒绝 4 个端点。

后端已部署 TEST 并实测 R1-R10 全过;前端待接。
如实记录三条限制:批准后无客户通知、抄送定制师只记录不推送、
已付款户流团不会被取消/退款(存量问题,本单未修,另行排期)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 10:14:31 +08:00
jw和Claude Opus 5 41f3f69500 docs(changelog): #7060 成团驱动子订单流程推进,打通定制师配房配车待办
changelog-filename-gate / validate (push) Successful in 2s
POST /v3/admin/order/group-batch/:groupBatchId/group 新增副作用:成团时把
该团活跃子订单从 AWAITING_PROFILE 推进到 RESOURCE_PREPARING,由既有
syncFlowTodos 产生配房/配车待办派给定制师。

接口路径、入参、出参均未变,前端无需改动;变化在服务端副作用。
调用方若缓存过子订单状态需刷新。

边界:只从 AWAITING_PROFILE 推进,AWAITING_PAY 不越过支付闸门;重复成团
幂等(CAS);待办派发走独立事务,失败不回滚成团。

2026-09-06 测试环境造数补验,6 组用例通过。核心两条在真实数据上确证:
成团后子订单 flowStatus 由 AWAITING_PROFILE 变为 RESOURCE_PREPARING;
另一单成团时为 AWAITING_PAY,成团后未被推进。

backend_status=deployed / gateway_status=verified。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 16:41:24 +08:00
jw和Claude Opus 5 70c1f44650 新增团期调整满团名额同步产品域库存接口说明(#7178)
changelog-filename-gate / validate (push) Failing after 2s
修的是「调了不生效」:调名额此前只写订单域,而库存权威在产品域,
导致加名额放不出空位、减名额停不了售,但看板数字会变。

请求体不兼容变更:{maxParticipants,maxRooms} 两个绝对值 →
{capacityDelta,reason} 净增量且只调户数;新增阶段门(仅招募中、
资源准备中可调)与 group-batch:manage 权限校验;响应改为返回
调整前后值、已报名与余量。

后端已部署 TEST 并实测:加减名额驱动满团即停/放开继续招募、
低于已报名拒绝且零写入、物料准备起阶段门、已成团加名额仍保持成团。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 16:21:40 +08:00
jw和Claude Opus 5 a7c44c0caa docs(changelog): 团期财务总览与预支复用订单预支(#7154 / PR #7170)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 16:20:04 +08:00
jw和Claude Opus 5 62c52b8024 新增团期手动成团门槛与提前成团留痕接口说明(#7158)
changelog-filename-gate / validate (push) Successful in 3s
成团接口新增可选请求体 formedNote、新增 group-batch:manage 权限校验、
重复成团改为语义化 589537;团期详情与产品班期两侧新增最低成团户数 minToForm。

后端已部署 TEST 并实测:带理由成团成功、重复成团 589537、
不传 body 兼容路径均通过;网关链路已验证。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 14:56:28 +08:00
jw和Claude Opus 5 be5afcf30a 团期退单户改为「提交申请 + 管理员审批」,070 破坏性变更 + 072~075 新增(#7100)
changelog-filename-gate / validate (push) Successful in 2s
070 由「调用即退款」改为「只建待审申请单」,响应体 Result<Void> → 对象;
新增审批列表/详情/通过/取消退单四个端点,审批限 ADMIN/SUPER_ADMIN 角色。

金额口径写明两个数(已付 / 预计退):早期阶段退的是订金应付额、与已付无关,
后期阶段以已付额按退改政策扣减——这条是 TEST 实测暴露 #7126 缺陷后更正的说法。

已过网关真测(2026-09-05):19 项含提交/驳回后该户仍在团里/再次提交/通过后名额回落,
预估与实退一致;验证产生的两张退款单已作废,测试环境资金零变动。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 08:18:03 +08:00
jw a611948477 团期人员配置位成员改由字典决定,取值域三处对齐(#7079)
changelog-filename-gate / validate (push) Successful in 3s
PR #7085 合入 dev-v3(合并提交 d1b724d59),2026-09-04 部署测试环境
并经真实网关鉴权实测 7 条用例。

核心证据:15:30:33 往 group_batch_staff_slot_guide 插一行 GUIDE_ASSISTANT,
15:35:44(301 秒后)导游位候选由 7 人变 8 人——未改代码、未重启、未重新部署。
随后连打 8 次全部返回 8 人,两个实例都已回源。演示行验证后已撤除。

2 个接口的候选池来源与落库取值变更,路径/入参/出参结构全部不变:
- GET /v3/admin/group-batch/:groupBatchId/staff/candidates  候选池成员由字典决定,582113 文案变更
- PUT /v3/admin/group-batch/:groupBatchId/staff             staffRole 落真实 staffType

含字典初始化脚本 sql/dict_group_batch_staff_slot.sql(幂等,需手工执行)。
dict_type_id 取 8071/8072——8021/8022 在本机与测试环境都已被
contract_status / contract_platform 占用。

staff_role 取值域测试环境实测三处一致(字典 = 枚举 = @Pattern,8 项)。

frontend_status=not_required:路径、入参、出参结构均未变,前端无需改动;
但不要再硬编码候选池成员,也不要沿用自己提交的 staffRole 回显。
2026-09-04 15:37:23 +08:00
jw和Claude Opus 5 db6698061b docs(changelog): #7066 团期子订单列表补应收总额 totalAmount
changelog-filename-gate / validate (push) Successful in 2s
GET /v3/admin/order/group-batch/:groupBatchId/orders 出参新增 totalAmount
应收总额,口径复用既有 OrderAmountUtil.payableForDisplay(取消单归 0),
与 calcBalance 口径一致。纯 additive,不新建端点、不改老字段语义。

关键变化:前端不要再用 paidAmount + balanceAmount 反推应收总额。
balanceAmount 被钳在 ≥0,超付/退款/取消单三种情况反推值都偏大。

2026-09-04 于测试环境网关实测 8 组用例全部通过,两处在真实数据上
命中本单要修的缺陷:
- 超付单 totalAmount=2943.00,旧反推得 3270.00,偏差 327.00
- 取消单 totalAmount=0.00 而 paidAmount=3270.00,旧算法会把已取消
  子订单显示成有应收

backend_status=deployed / gateway_status=verified。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-04 15:01:20 +08:00
jw 2096a47340 团期导游位下游按配置位归组,GUIDE 与 LEADER 一视同仁(#7063)
changelog-filename-gate / validate (push) Successful in 2s
PR #7065 合入 dev-v3(合并提交 f37b6ee0f),2026-09-04 部署测试环境
并经真实网关鉴权实测 AC-2/AC-3/AC-4/AC-5/AC-9。

4 个接口的副作用与取值口径变更,路径/入参/出参结构全部不变:
- PUT  /v3/admin/group-batch/:groupBatchId/staff      导游位配 GUIDE 也置 guide_ready
- POST /v3/admin/order/:id/staff                      GUIDE 也写 guide_status 与 GUIDE_DONE
- DELETE /v3/admin/order/:id/staff/:staffAssignmentId 按导游位整组计数,不再误置空
- GET  /v3/admin/order/:id/print-itinerary            导游栏 GUIDE 优先、缺位回退 LEADER

顺带修一处更深的缺陷:ready 回填此前用产品侧 batchId 打 order_group_batch 主键,
rows=0 只 WARN 不抛,改前不论配 GUIDE 还是 LEADER,guide_ready 从未被置位过。

frontend_status=not_required:路径、入参、出参结构均未变,前端无需改动。
2026-09-04 14:25:48 +08:00