docs(changelog): #7442 修一处指向别人 PR 的 merge SHA,补两处部署清单取证
changelog-filename-gate / validate (push) Failing after 1s

一、17_7442「十、相关文档」里的 Merge SHA 指向了一个完全无关的 PR
原文写 Merge: a37bd669f。实测该提交是 fix(finance): #7396 应付款四入口接团期住宿
(PR #7866,jw,09-17 11:09),其 module 清单只有 docs + hl-finance,
与本文档标题(团级确认态·需求已发车务回写)毫无关系。
正确的 #7862 merge commit 是 dcbdacd894b7d134105e2dad4dec6003fe4d3ddb
(wx,09-17 11:13,module 清单 = hl-common + hl-fleet-service + hl-order-service-v3,
新增文件含 GroupDispatchConfirmReqVO / GroupBatchResourceController,与本文档接口详情逐字对应),
恰是 a37bd669f 之后紧邻的单亲 squash 提交。

判据用的是 module 清单而不是提交信息:提交信息是作者写的(可错可抄),
文件清单是 git 算的。a37bd669f 同时满足「格式对 + 真实存在 + 在正确仓库」三条,
只有解出它改了哪些模块才看得出它是别人的。

原字面保留未删,订正以追加形式写在下方。

二、17_7442 补「部署清单」节
本单改了 hl-common-core(新增 GroupBatchVehicleRequirementDispatchedReqDTO /
RespDTO 两个全新 DTO),按 CODE_RULES §16.6 部署时 7 个部署单位须一起滚。
原文既无「同批滚」措辞也无模块清单。已补,并把算清单的命令与实测输出一并写入,
基点用 git merge-base 算而不是两点式。

三、19_7442 就绪回写那份:补「7 个部署单位」结论的取证
PR #7923 正文说「只需滚 fleet + order-v3」,本 changelog 说「7 个部署单位全滚」。
两份都是人写的,所以都不能当判据。去解那次合并的真实 diff:
module 清单含 hl-common,且新增 GroupBatchVehicleReadyReqDTO / RespDTO 两个
hl-common-core DTO ⇒ §16.6 适用 ⇒ changelog 对、PR 正文错。
本节结论本来就是对的,缺的是「命令 + 实测输出」这层取证,现已补齐。
PR #7923 正文另行订正。

四、顺手核了本家族其余 4 个 commit SHA,无第二处指错
8eb8e13cd / c6aa1224f / 6f5b1b679 / d97babc9e 逐个解出 module 清单与文档声称比对,
全部一致。其中 d97babc9e 是天然对照组——它是唯一 module 清单里不含 hl-common 的,
在同一判据下给出相反结果,证明该判据不是「逢 SHA 必判一致」的空转。

两份文件的 frontmatter 逐字未动(md5 校验一致),纯正文追加。

Refs #7442
这个提交包含在:
API Changelog Bot
2026-09-19 04:39:22 +08:00
父节点 4c7d3f2773
当前提交 85c8443c73
共修改 2 个文件,包含 99 行新增和 0 行删除
@@ -304,6 +304,63 @@ applied=false 时无新状态变化,仍返 200(幂等重放或需求已变
--- ---
## 部署清单(本单改了 hl-common-core,CODE_RULES §16.6)
🔧 2026-09-19 订正:原文档遗漏本节(未写「同批滚」措辞、也未列模块清单),现补上。
本单在 `hl-common-core` 新增两个全新 DTO:`GroupBatchVehicleRequirementDispatchedReqDTO`(回写请求体)、
`GroupBatchVehicleRequirementDispatchedRespDTO`(回写响应体)。order-v3 是这两个 DTO 对应内部端点的提供方,
fleet 是发起方(Outbox 异步调用)。依据:
```
git show --name-only --format='' dcbdacd894b7d134105e2dad4dec6003fe4d3ddb | grep '^hl-common'
```
输出:
```
hl-common/hl-common-core/src/main/java/com/hulalv/common/dto/fleet/GroupBatchVehicleRequirementDispatchedReqDTO.java
hl-common/hl-common-core/src/main/java/com/hulalv/common/dto/fleet/GroupBatchVehicleRequirementDispatchedRespDTO.java
```
### 消费方清单不能按 `pom.xml` 直接依赖关系查
`grep -rl 'hl-common-core' */pom.xml` 只命中 `hl-gateway`/`hl-finance`,order-v3 与 fleet 都经 `hl-common-web`
传递引入,不在直接依赖清单里,但正是本单真正改了代码的两个服务。模块清单不凭印象列,用命令算,基点用
`git merge-base` 算(不用两点式直接 diff 两个可能不在同一祖先链上的点):
```
git merge-base a37bd669f2559a9a70f4104b64b2d14ba1d5c66c dcbdacd894b7d134105e2dad4dec6003fe4d3ddb
# => a37bd669f2559a9a70f4104b64b2d14ba1d5c66c
git diff --name-only a37bd669f2559a9a70f4104b64b2d14ba1d5c66c dcbdacd894b7d134105e2dad4dec6003fe4d3ddb \
| sed -E 's#^([^/]+)/.*#\1#' | sort -u
```
输出:
```
hl-common
hl-fleet-service
hl-order-service-v3
```
| 部署单位 | 与 `hl-common-core` 的依赖关系 | 是否需要本次一起滚 |
|---|---|---|
| hl-gateway | 直接依赖(`pom.xml` 命中) | 是 |
| hl-user-service | 经 `hl-common-web` 传递依赖 | 是 |
| hl-resource-service | 经 `hl-common-web` 传递依赖 | 是 |
| hl-product-service-v2 | 经 `hl-common-web` 传递依赖 | 是 |
| hl-order-service-v3 | 经 `hl-common-web` 传递依赖 | **是(本单直接改了这个服务的生产代码,且是新 DTO 的提供方)** |
| hl-mp-service | 经 `hl-common-web` 传递依赖 | 是 |
| hl-fleet-service | 经 `hl-common-web` 传递依赖 | **是(本单直接改了这个服务的生产代码,且是新 DTO 的发起方)** |
| hl-finance | 直接依赖(`pom.xml` 命中) | 不单独部署——是 order-v3 的库依赖,随 order-v3 一起滚 |
⇒ **实际部署单位共 7 个**:gateway / user / resource / product-v2 / order-v3 / mp / fleet。正文第 37 条
「部署顺序:order-v3 先部署,fleet 后部署」的顺序结论不变(提供方先于发起方部署,与 §16.6 同批滚不矛盾,
两者是"同一批次内"与"批次内先后次序"两件事),本节只是补齐 §16.6 要求的模块清单与同批滚措辞。
---
## 七、不影响范围 ## 七、不影响范围
- **仅影响**: 团期配车确认流程、需求状态转移 - **仅影响**: 团期配车确认流程、需求状态转移
@@ -327,6 +384,9 @@ POST /v3/internal/group-batch/xxx/dispatched → 200 ✓
- Issue: [#7442](https://git.1814.love:8443/wx/HL/issues/7442) - Issue: [#7442](https://git.1814.love:8443/wx/HL/issues/7442)
- PR: [#7862](https://git.1814.love:8443/wx/HL/pulls/7862) - PR: [#7862](https://git.1814.love:8443/wx/HL/pulls/7862)
- Merge: [a37bd669f](https://git.1814.love:8443/wx/HL/commit/a37bd669f) - Merge: [a37bd669f](https://git.1814.love:8443/wx/HL/commit/a37bd669f)
- 🔧 2026-09-19 订正:`a37bd669f` 实为 **PR #7866**(`fix(finance): #7396 应付款四入口接团期住宿 + 团期应付稳定付款身份与金额对账`,合入 dev-v3)的合并提交,与本 PR(#7862,fleet/order-v3 团级确认态)无关,系笔误指错 SHA。依据:`git show --no-patch --format='%H%n%s%n%an %ad' a37bd669f` 输出 `Merge pull request 'fix(finance): #7396 ...' (#7866) ... jw ...`;`git diff --name-only a37bd669f^1 a37bd669f | sed -E 's#^([^/]+)/.*#\1#' | sort -u` 输出仅 `docs`、`hl-finance` 两个模块,不含 `hl-fleet-service`/`hl-order-service-v3`。
本 PR #7862 真实的合并提交是 **`dcbdacd894b7d134105e2dad4dec6003fe4d3ddb`**(单亲提交,squash 合并,直接父提交即 `a37bd669f`,author wx,2026-09-17 11:13:06,message `feat(fleet,order-v3): #7442 PR-B 团级确认态 + 需求 CONFIRMED→DISPATCHED 回写`)。依据:`git show --no-patch --format='%H%n%s%n%an %ad%n parents:%P' dcbdacd894b7d134105e2dad4dec6003fe4d3ddb`;`git diff --name-only a37bd669f dcbdacd894b7d134105e2dad4dec6003fe4d3ddb | sed -E 's#^([^/]+)/.*#\1#' | sort -u` 输出 `hl-common`、`hl-fleet-service`、`hl-order-service-v3`,与本文档标题「确认整团配车」「回写需求已发车务」逐字对应(新增文件含 `GroupDispatchConfirmReqVO.java`/`GroupDispatchConfirmRespVO.java`/`GroupBatchResourceController.java` 等,均在本文档接口详情节出现)。merge-base 用 `git merge-base a37bd669f dcbdacd894` 算得 = `a37bd669f` 本身(因 `dcbdacd894` 是紧邻其后的单亲提交)。
- **正确 Merge**: [dcbdacd894b7d134105e2dad4dec6003fe4d3ddb](https://git.1814.love:8443/wx/HL/commit/dcbdacd894b7d134105e2dad4dec6003fe4d3ddb)
## 关联 / 联系人 ## 关联 / 联系人
@@ -398,6 +398,45 @@ POST /v3/internal/group-batch/1934567890123456800/vehicle-ready-reset
⇒ **实际部署单位共 7 个**:gateway / user / resource / product-v2 / order-v3 / mp / fleet;本单不强制 ⇒ **实际部署单位共 7 个**:gateway / user / resource / product-v2 / order-v3 / mp / fleet;本单不强制
要求特定先后顺序,但**同批滚**仍是最稳妥的做法。 要求特定先后顺序,但**同批滚**仍是最稳妥的做法。
### 🔧 2026-09-19 补充取证:PR 正文与本节结论的矛盾判定依据
PR #7923 正文写的是「只需滚 fleet + order-v3」,与本节「实际部署单位共 7 个」的结论字面矛盾。**判定不采信
两份文档中的任何一份,只认那次合并的真实 diff**:
```
git merge-base a18569162cb97e54b63f6b442e75292db4ad88d7 6f5b1b679f6b534081ca7b136e338cd3fffc1155
# => a18569162cb97e54b63f6b442e75292db4ad88d7(即 6f5b1b679 的直接父提交;squash 合并单亲提交,
# merge-base 与父提交重合)
git diff --name-only a18569162cb97e54b63f6b442e75292db4ad88d7 6f5b1b679f6b534081ca7b136e338cd3fffc1155 \
| sed -E 's#^([^/]+)/.*#\1#' | sort -u
```
输出:
```
hl-common
hl-fleet-service
hl-order-service-v3
```
`hl-common` 命中后逐文件展开,确认落在 `hl-common-core`(不是文档/测试目录误判):
```
git diff --name-only a18569162cb97e54b63f6b442e75292db4ad88d7 6f5b1b679f6b534081ca7b136e338cd3fffc1155 | grep '^hl-common'
```
输出:
```
hl-common/hl-common-core/src/main/java/com/hulalv/common/dto/fleet/GroupBatchVehicleReadyReqDTO.java
hl-common/hl-common-core/src/main/java/com/hulalv/common/dto/fleet/GroupBatchVehicleReadyRespDTO.java
```
⇒ **命中 CODE_RULES §16.6**:本 PR 在 `hl-common-core` 新增了两个全新 DTO(`GroupBatchVehicleReadyReqDTO`/
`GroupBatchVehicleReadyRespDTO`),按规则消费方须同批滚,本节「实际部署单位共 7 个」的结论成立、无需改动。
**PR #7923 正文「只需滚 fleet + order-v3」是错的,需要订正**——它遗漏了 hl-common-core 新增 DTO 触发的
§16.6 全量同批滚要求。PR 正文改写由 wx 另行处理,本文档不代为改写 PR。
--- ---
## 七、不影响范围 ## 七、不影响范围