1022 次代码提交

作者 SHA1 备注 提交日期
API Changelog Bot
751ed717d3 fix: 把 3 个 order-v3 changelog 从 changelogs/ 挪到 changelogs-v2/
错放原因:#2565 / #2569 / #2571 都是 order-v3 二期 PR,通知员漏判,写到了一期 changelogs/,
导致一期前端 mmg 在 sync-log 里看到了三条 v3 条目并反馈"全部跳过"。

按用户 2026-05-21 重申:order-v3 的任何内容严禁出现在 changelogs/,只能写 changelogs-v2/。

涉及文件:
- 18_2355_admin-order-v3-create-sharer-customizer.md (PR #2565)
- 19_feat_admin_order_list_consultant_name_filter.md (PR #2569)
- 19_fix_admin_order_detail_travelers_no_longer_empty.md (PR #2571)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 11:28:07 +08:00
yaosutu
1175979e12 docs(§1 订单核心模块): 同步 HL@087c4331 — §1.2 加 teamNo + §6.17 三元组化 + 加非 transition 段落
回应前端 mmg 在 #2 issue 提的 2 处契约空白:

§3.2 §1.2 OrderListItemRespVO
- 字段表 17 → 18 字段,新增 teamNo(订金支付成功时生成;列表"团号"展示用)
- 响应 JSON 示例同步加 teamNo 字段
- 前端不再从 displayOrderNo substr 解析团号

§6.17 transition eventCode
- 9 行平铺表 → 16 条规则三元组(事件 → 前置态 → 目标态)
- 显式标注 CONFIRM 复用 2 种语义:
  · CUSTOMIZING → PENDING_DEPARTURE = 确认锁单
  · REVIEWING → SETTLED = 核单通过 / 确认结算
- FINISH 仅用于 TRAVELLING → REVIEWING(结团,不是结算)
- 新增 §6.17.2「非 transition 业务路径」段落:
  · 核单结算走独立 6 步接口 /settlement/step{1-6}/*,Step 6 submit 内部自动推 REVIEWING → SETTLED,前端不 fire eventCode
  · 退款走独立退款接口
  · 「申请解锁」v3 已砍,前端隐藏对应按钮

§13 关联链接 v5.49 → v5.50(同步 PR #2614 升的设计文档版本号)

关联:
- HL PR: wx/HL#2614 (merged 087c4331)
- 前端 issue: #2
2026-05-19 16:50:34 +08:00
yaosutu
a9228e7aa8 feat(api-changelog): v3 行程 day/node 写操作真实化(PR #2613 / Issue #2598) 2026-05-19 16:38:01 +08:00
API Changelog Bot
1e141e445c docs(changelog): #2586 合同/保险模块 TODO 接通 — 从占位 → 完整可用
v3 contract / insurance 三 PR 累计变更(#2590 + #2591 + #2603)。
前端关键变化 4 点:
1. 合同/保险全部接口从占位/抛错转为真实可用
2. POST /v3/admin/insurance/purchase 新增订单状态+支付状态双重校验
3. POST /v3/admin/order/{id}/transition CONFIRM 异步触发自动签约/投保
4. 出行人变更触发已签约订单作废重做(状态白名单过滤)

新增字段:ContractScheme.defaultDestination / defaultDepartureCity
新增错误码:540022 ORDER_NOT_CONFIRMED_FOR_INSURANCE / 510206 合同方案未配置模板
新增异步事件:ChecklistConfirmedEvent / TravelerChangedEvent

测试服真测通过:单测 1096 全绿 + 9443 网关 + 真 admin token + P0-1 正反例齐全。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 16:16:23 +08:00
yaosutu
0bbcdd23e7 docs(tag-library): 新增 v5.14 私人标签库 6 接口契约(管理后台)
- GET    /v3/admin/tag-library              查我的标签库(keyword/pinnedOnly)
- POST   /v3/admin/tag-library              新增预设(tagName/tagColor)
- PUT    /v3/admin/tag-library/{id}         修改预设(重命名/换色)
- DELETE /v3/admin/tag-library/{id}         软删预设
- PUT    /v3/admin/tag-library/sort         批量排序(拖拽)
- PUT    /v3/admin/tag-library/{id}/pin     置顶/取消置顶 toggle

错误码段位 581420-581429(hl-order-service-v3 拥有)。
当前 ServiceImpl 为 Mock 实现,契约本次发布后不再变。
关联 PR:wx/HL#2045(骨架)+ wx/HL#2240(Gateway 路由修复)
2026-05-19 14:32:04 +08:00
yaosutu
a47588b9a4 docs(v3-order): §6.2/§6.3 二次修订 — OrderStatus/OrderFlowStatus 对齐 SRS
第一轮 commit 89a1938 按当时代码写了 §6.2 10 项(含 REFUNDING)+ §6.3 13 项支付术语,
但代码本身已偏离 SRS v5.48 设计。HL@PR #2589 完成代码回归 SRS 重构,本次同步修订 changelog:

§6.2 orderStatus:10 → 9 项
  - 删除 REFUNDING(SRS 决议:退款发起瞬间订单 order_status='CANCELLED',
    退款进度由 refund_status 子字段表达)
  - 保留 PENDING_BALANCE(业务上 SET_PENDING_BALANCE 事件支持重开尾款)

§6.3 flowStatus:13 → 15 项 完全重写为业务术语
  - 旧 13 项支付节奏视角(AWAITING_DEPOSIT / DEPOSIT_PAID_PENDING_CONFIRM /
    CONFIRMED_PENDING_HOTEL...)全废弃
  - 新 15 项业务环节视角(AWAITING_PROFILE / AWAITING_HOTEL_SUBMIT /
    HOTEL_IN_PROGRESS / PENDING_CONFIRM...),与 SRS v5.48 §0.4 行 636 1:1 对齐

受影响的示例值同步修订(5 处):
- §3.1 创单 flowStatus 默认值 AWAITING_DEPOSIT → AWAITING_PROFILE
- §3.2 列表示例 flowStatus CONFIRMED_PENDING_DEPARTURE → PENDING_DEPARTURE
- §3.3 主聚合示例 flowStatus CONFIRMED_PENDING_DEPARTURE → PENDING_DEPARTURE
- §3.11 取消预览业务边界粗状态集补 PENDING_BALANCE
- §3.14 transition 出参示例 newFlowStatus CONFIRMED_PENDING_DEPARTURE → PENDING_DEPARTURE

关联
- Issue: #1
- 后端 PR: wx/HL#2589
- 第一轮 changelog commit: 89a1938(部分被本次覆盖)
2026-05-19 11:10:11 +08:00
yaosutu
89a1938cb9 docs(v3-order): 按代码事实修订 §1/§2 changelog(fix issue #1 + 补充 5 项)
回复 hl-api-changelog#1 前端反馈的 5 处契约不明 / 冲突,并同步补足 4 处文档与代码不一致:

§1 订单核心模块(15 处修改):
- §3.1/§3.2/§3.3/§3.14 示例值:orderStatus/flowStatus 全部从中文标签改为英文枚举值
  (后端 OrderInfo.orderStatus/flowStatus 直接透传 DB 列的英文枚举字符串)
- §3.3 OrderMainVO 字段表:
  * customerName/customerPhone (admin 明文) → customerName + customerPhoneMasked(admin 也脱敏)
  * exceptionBadges/progressStepper 标注「运行时暂返 null,OrderInfoConverter 派生逻辑待 Issue 接通」
  * 新增 6 个 Tab 状态徽标字段(contractStatus/insuranceStatus/refundStatus/hasRefund/hasServiceStandard/hasFinanceDetail)
  * subStatus 枚举补 NOT_APPLICABLE + 列示 ASSIGN_PARALLEL 子项结构
  * 主聚合示例 transportPlanIds 改用真实雪花 ID(19 位)String
- §3.11 取消预览业务边界:粗状态集改英文枚举 + 说明 v3 已删「已确认」
- §3.14 transition:eventCode 入参表内联 9 个值,便于前端跳读
- §6.2 orderStatus:全表替换为 10 个英文枚举(PENDING_PAY/PENDING_COMPLETE/CUSTOMIZING/PENDING_DEPARTURE/PENDING_BALANCE/TRAVELLING/REVIEWING/SETTLED/REFUNDING/CANCELLED)
- §6.3 flowStatus:全表替换为 13 个英文枚举(AWAITING_DEPOSIT/.../CANCELLED_BEFORE_PAY)
- §6.4 consultantSource:补 SHARED + ROUND_ROBIN,说明 user-service 透传规则
- §6.17 加后端 enum 路径备注

§2 traveler 模块(9 处修改):
- §3.1 出行人列表:每条 17 字段 → 16 字段(off-by-one 笔误)
- §3.1/§3.3 curl 示例:路径 /travelers → /traveler/list 和 /traveler/add(对齐字段表与代码 @PostMapping)
- §3.1 transportPlanIds:补全局 Long→String 序列化规则脚注 + 示例值改真实雪花 ID
- §3.4 错误码段位让位:581119 → 581106(已签合同禁删),581120 → 581107(最后成人禁删)
  (DB 段位 581119/581120 已分别被 TRAVELER_ID_CARD_DUPLICATE / TRANSPORT_PLAN_NOT_FOUND 占用)
- §3.9 smart-parse 错误码段位让位:581120/581121/581122/581123 → 581131/581132/100501/581134
  (581122 限流走 HL 全局 CommonErrorCode.RATE_LIMITED)
- §12 注意事项同步删人错误码

关联:
- Issue: #1
- 验证代码 commit: HL@dev-v3 47d24228
- 验证报告: HL/.claude/tmp-changelog/issue1-analysis.md(仅本地)
2026-05-19 10:28:11 +08:00
API Changelog Bot
fa843a7ba8 changelog(order-v3): 大交通 edit/delete 严格化 follow-up
破坏性变更前端必同步:
- #2524 delete 错误码 581121 → 581144(跨订单/不存在 plan 都统一)
- #2523 edit 补 4 项业务校验(581140/581141/581142/581143)+ @Idempotent(3s) + @Lock4j(30s)
- #2526 错误码注释笔误修正(无 API 影响)

测试服 9443 真测 9/9 PASS
来源:/@arch + /@cr 双重审查 → follow-up PR #2560(commit 08deec4d1)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 09:17:47 +08:00
yst
69115eeadd feat(agency): Agency 域接口路径切 v3(admin + mp 两端)
PR #2562 把 4 个 controller path 加 /v3 前缀:
- /admin/travel-agency/** → /v3/admin/travel-agency/**
- /mp/agency/** → /v3/mp/agency/**

仅路径变更, 参数/响应/错误码/业务逻辑 100% 不变。
旧 path 雪藏期内仍可用, 但前端必须切到新 path 才能享受后续维护。

关联: HL Issue #2561 / PR #2562 / PR-1 #2556 / PR-2 #2558
2026-05-18 22:10:48 +08:00
API Changelog Bot
d366a0790c changelog(order-v3): 出行人 3 接口 (#2525/#2526/#2527)
- #2525 Feign /internal/order/orders/{orderId}/travelers + 解密审计表 + 589100/589101
- #2526 smart-parse 智能批量解析 + 581131-581134 + P0 审计红线 5 合规
- #2527 validate 字段对齐 v2(6→4 必填) + 581102 复用

测试服 9443 真测全  (commit f8a34607,含 31 Flyway migrations)
#2525 经 SSH 内网 8086 真测(internal 路径 9443 返 403 是预期)
#2526 异常路径全过,正常落库待前端联调补做(代码层 IT 已覆盖)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 21:05:09 +08:00
API Changelog Bot
1001a07f44 changelog(order-v3): 大交通批次 4 接口 (#2521-#2524)
- #2521 list 路径迁移 /transport-plans → /transport-plan/list
- #2522 add 路径 + 错误码 581140-581143 + @Idempotent + @Lock4j
- #2523 edit Method PUT → POST + 错误码 581144
- #2524 delete Method DELETE → POST + 桥接表级联软删

测试服 9443 真测全  (commit 15e2c7eeb 含 hotfix #2550)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 20:24:44 +08:00
yst
2b1c3e0859 fix(§2): traveler 4 接口路径对齐实际 Controller(动词风格)
QA 验收发现 §2 changelog 写的 4 个 traveler 接口路径与 hl-order-service-v3 实际 Controller 不一致:

| § | 原 changelog | 实际 Controller |
|---|---|---|
| 2.1 列表 | GET /travelers | GET /traveler/list |
| 2.3 新增 | POST /travelers | POST /traveler/add |
| 2.4 软删 | DELETE /travelers/{id} | POST /traveler/{id}/delete |

前端按 changelog 调会 404/405。本次修 changelog 对齐实际 Controller,保留动词式风格。

关联:HL Issue #2533 / PR #2534(QA 暴露)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-18 19:59:04 +08:00
API Changelog Bot
e9117da736 changelog(order-v3): 出行人 4 接口 (#2517/#2518/#2519/#2520)
- #2517 list 路径迁移 /travelers → /traveler/list
- #2518 batch-edit 真实业务+9错误码
- #2519 add 路径迁移+4错误码+@Idempotent+@Lock4j
- #2520 delete 方法+路径迁移+4错误码+整事务

测试服 9443 真测全 

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 19:31:03 +08:00
yaosutu
2059566991 fix(§2): 删 §2.7 internal feign 接口节(前端 changelog 不收 internal)
按 CLAUDE.md changelog 受众判定:
- /v3/admin/* → 前端 changelog(本仓库 hl-api-changelog)
- /v3/internal/* → 后端 changelog(hl-backend-changelog,受众=其他后端服务/运维)

§2.7 GET /v3/internal/order/orders/{orderId}/travelers 是 internal Feign
跨服务接口(合同/保险服务调用),前端不消费,移出本文档:

- §0 模块全貌:删 §2C internal Feign 行,合计 11→10,加范围说明
- §1 接口背景:删 §2.7 解密审计行
- §2 变更清单:删第 9 行,剩 10 条
- §3.9 §2.7 internal feign 节整段删除
- §3.10 §2.8 smart-parse 重编号为 §3.9
- §3.11 §2.9 validate 重编号为 §3.10
- §6.9 purpose(Feign 调用目的)枚举删除
- §6.10 missingFields 重编号为 §6.9
- §11 推送范围:11→10 + 说明 §2.7 走后端 changelog
- §12 注意事项:删 internal 公网约束行
- §13 关联:加 §2.7 单独走后端 changelog 链接 + Issue #2525 备注

§2.7 后端 changelog 会单独推到 hl-backend-changelog 仓库。
2026-05-18 17:31:11 +08:00
yaosutu
757a5dd60b docs(order-v3): §2 traveler 模块 11 接口首推(§2.8 smart-parse 字段先定待 wx 实现)
v3 traveler 模块(出行人 + 大交通)全 11 接口完整契约:

§2A 出行人 admin CRUD(4 接口):
- §2.1 GET    /v3/admin/order/{id}/travelers              出行人列表
- §2.2 POST   /v3/admin/order/{id}/traveler/batch-edit    批量编辑(upsert)
- §2.3 POST   /v3/admin/order/{id}/travelers              单个新增
- §2.4 DELETE /v3/admin/order/{id}/travelers/{travelerId} 软删

§2B 大交通批次 admin CRUD(4 接口):
- §2.6.1 GET    /v3/admin/order/{id}/transport-plans            列表
- §2.6.2 POST   /v3/admin/order/{id}/transport-plans            新增
- §2.6.3 PUT    /v3/admin/order/{id}/transport-plans/{planId}   编辑
- §2.6.4 DELETE /v3/admin/order/{id}/transport-plans/{planId}   软删

§2C internal Feign(1 接口):
- §2.7 GET /v3/internal/order/orders/{orderId}/travelers  跨服务查(含明文 + 解密审计)

§2D 动词类操作(2 接口):
- §2.8 POST /v3/admin/order/{id}/traveler/smart-parse   wx 实现中(Issue #2526)
- §2.9 GET  /v3/admin/order/{id}/traveler/validate     出行人信息校验

按 SKILL.md 新约定(多接口 changelog 按接口自含 + 示例必含请求/响应)组织:
- §3.1~§3.11 共 11 子节,每节含使用场景/入参/出参/错误码/业务边界/请求+响应示例
- §6 枚举集中 10 个(travelerType / gender / idType / profileStatus / direction
  / mode / transportType / selfDrivePeriod / purpose / missingFields),按字段
  分组 + 标使用接口位置

设计文档同步:API-SPEC v5.50(§2 章节路径全部 RESTful 复数化,与 v3 代码对齐)。
1125 行 / 13 节齐全 / §2.8 字段先定标  待 wx 实现立即可对接。
2026-05-18 17:08:21 +08:00
yaosutu
172ab44800 docs(order-v3): §1 changelog 补 §1B + §1C 共 5 接口,§1 模块 15 接口一次推全
按用户反馈,§1B 取消订单 + §1C 状态机+锁单 与 §1A 一起推送(不分批):

新增接口:
- §3.11 §1.5.0 GET  /v3/admin/order/{id}/cancel-preview          取消预览(只读)
- §3.12 §1.5.1 POST /v3/admin/order/{id}/cancel/pre-trip         取消出行前(企微 OA + 退款)
- §3.13 §1.5.2 POST /v3/admin/order/{id}/cancel/on-trip          取消出行中(仅登记返还)
- §3.14 §1.7   POST /v3/admin/order/{id}/transition              状态机通用入口
- §3.15 §1.8   GET  /v3/admin/order/{id}/confirm-checklist       锁单前置 5 项校验

每个接口按"自含"结构:使用场景 / 认证 / 入参 / 出参 / 错误码 / 业务边界 / 示例(请求+响应)。

§6 枚举新增:
- §6.17 transition eventCode 9 个状态机事件
- §6.18 transition triggeredEvents 6 个副作用事件
- §6.19 checklist item code 5 项前置校验
- §6.20 customerChannel 通知渠道 3 值

§0 / §2 / §11 / §12 同步更新:"待补" 移除,全部 ;变更清单加 5 行;注意事项加取消订单分支说明 + CONFIRM 锁单约束。

文件从 1235 行 → 1730 行(diff +506 / -11)。
2026-05-18 16:47:10 +08:00
yaosutu
bb18e4fac8 docs(order-v3): §1 changelog 修 3 问 + 重组为按接口自含结构
按用户反馈修复 3 个问题:
(1) §1.3.1 主聚合输出字段:删 6 Tab 字段(finance/itinerary/contractInsurance/
    serviceStandard/statusLog/refund),代码 OrderDetailRespVO 实际只有
    main/tags/overview 3 字段(Issue #2460 已重构)
(2) 示例重组:原 §8 集中节按"多接口 changelog"模式打散,每个接口的请求+响应
    示例下沉到 §3.x 接口章节内紧跟出参/错误码/边界
(3) 补全缺失请求示例:§1.3.2 ~ §1.3.7 6 个 GET Tab 子接口、§1.3.1 异常 case
    等之前漏写请求示例的部分全补上

结构调整:原 13 节模板按"接口集中"组织(§3 详情/§4 入参/§5 出参/§7 错误码/
§8 示例 5 节)拆散为"每接口自含"结构(§3.x 含使用场景/入参/出参/错误码/边界/
示例),§6 枚举仍合并去重 + 标使用字段。

文件结构:
  §0 模块全貌(4 子模块 + 推送状态表)
  §1 接口背景
  §2 变更清单(10 接口表)
  §3 接口详情(10 个 §3.x 子节,每节自含)
  §6 枚举字典(16 节,按字段分组 + 标使用接口位置)
  §11 影响评估 / §12 注意事项 / §13 关联

SKILL.md 加约定:多接口 changelog 必须按接口分小节 + 示例必含请求+响应。

关联:HL feature 分支同步推 commit ae645a59 修 API-SPEC §1.3.1 字段表。
2026-05-18 16:36:47 +08:00
yaosutu
87fd82c56d docs(order-v3): §1 core 模块首推 §1A(10 接口)
订单核心模块全新二期首推,含订单 CRUD + 详情主聚合 + 6 Tab 子接口 + 修改字段:
§1.1 POST /v3/admin/order              创建订单
§1.2 GET  /v3/admin/order              订单列表
§1.3.1 GET /v3/admin/order/{id}        详情主聚合
§1.3.2 GET .../finance                 财务 Tab
§1.3.3 GET .../contract-insurance      合同保险 Tab
§1.3.4 GET .../itinerary               行程 Tab(⚠️ Mock)
§1.3.5 GET .../status-log              状态记录 Tab
§1.3.6 GET .../refund                  退款明细 Tab
§1.3.7 GET .../service-standard        服务标准 Tab
§1.4 PUT  /v3/admin/order/{id}         修改订单字段

883 行 / 13 节齐全 / 15 枚举按使用字段分组 / 8 组示例(典型+边界+异常)。
§1B 取消订单 / §1C 状态机后续 commit 追加同一文件。
设计文档同步升 v5.49(API/SRS/DETAIL/DB 4 份 HTML)。
2026-05-18 16:17:59 +08:00
yaosutu
6c5087c6eb docs(order-v3): 删除早期 §1.1 单接口测试 changelog
18_test_订单创建-修改接口-管理后台.md 是 §1.1 单接口测试样本,
将由后续 §1 总文件取代(含 §1.1+§1.2+§1.4 等 §1A 子模块全集)。
2026-05-18 15:58:22 +08:00
yaosutu
1701cf7a23 docs(order-v3): §4/§5/§9/§11/§12/§13 清理后端实现/派生/前端 use case 备注
前端 changelog 只写接口契约(入参/出参/类型/枚举/错误码/边界/示例)。
本次砍掉 7 类无效内容:
1. 后端字段来源(JWT 派生 / 产品快照派生)
2. 后端实现细节(雪花 ID JSON String / DB 层 AES / 从 Nacos 拼接)
3. 后端 DB 字段(写入 order_main.room_count / order_tag tag_type=PERSONAL)
4. 后端运维(端口 / DDL / Redis key / 重启 / 回滚耗时)
5. 前端 use case(弹窗标题用 / 前端拼催款话术)
6. 其他接口跳转(出行人不在本接口传,调 §2 单独添加)
7. 影响其他后端服务

字段 +46 / -75 净减 29 行,聚焦接口契约。
2026-05-18 15:44:12 +08:00
yaosutu
2a3ffb7737 docs(order-v3): §6 枚举/字典按字段分组重排 + SKILL 同步更新
原 §6 把 5 个枚举(createSource/orderStatus/flowStatus/consultantSource/paymentMode)
混在一张 23 行大表里,前端 AI 按字段查表难定位。
改为每枚举一个 H3 子节(6.1~6.5),每节附「所属字段 + 枚举类 + 类型 + 必填」头部说明。
2026-05-18 15:37:59 +08:00
yaosutu
0aee0ceddb docs(order-v3): 订单创建接口 v3 admin POST /v3/admin/order 接口现状快照(测试 v2 目录)
启用 changelogs-v2/ 新目录,前端 v3 项目仓库后续从此目录读 changelog。
此份为 v3 admin 订单创建接口(OrderController.createOrder)的 v5.18 完整快照,
含 13 节固定模板(入参 13 字段 / 出参 20 字段 / 枚举 21 项 / 错误码 9 个 / 3 组示例)。
2026-05-18 15:04:12 +08:00