From 5aff215627655ebb0e3a62530922cae6aaf22805 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Tue, 4 Aug 2026 10:30:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(changelog):=20=E4=BF=AE=E6=AD=A3=E4=BD=9C?= =?UTF-8?q?=E8=80=85=E6=A0=87=E6=B3=A8=E4=B8=BA=20yst=20=E5=BC=8F=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E4=BA=BA=E7=AB=A0=E8=8A=82=EF=BC=885380=20=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=20@yst=EF=BC=8C=E5=85=B6=E4=BD=99=20@wx=EF=BC=9B?= =?UTF-8?q?=E5=BA=9F=E5=BC=83=E6=AD=A3=E6=96=87=E4=BD=9C=E8=80=85=E8=A1=8C?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tmp-user-62_4938.md | 507 ++++++++++++++++++ BACKEND_CHANGELOG_DELIVERY_GUIDE.md | 10 +- CHANGELOG_TEMPLATE.md | 13 +- ...5380_核单人员页签收口-删除接口-管理后台.md | 1 - ...务与派单候选补齐团号契约-修改接口-管理后台.md | 7 +- ...绪门禁与清零释放内部契约-修改接口-内部服务.md | 7 +- ...派单requestId持久幂等-修改接口-管理后台.md | 7 +- ...续执行段司机确认隔离-修改接口-管理后台.md | 7 +- ...止行程车辆退款权威口径-修改接口-管理后台.md | 7 +- ..._5446_HOLD-通知管理端状态查询与受控重试.md | 5 +- ...tep2-canonical-full-snapshot-与稳定槽位.md | 5 +- 11 files changed, 561 insertions(+), 15 deletions(-) create mode 100644 .tmp-user-62_4938.md diff --git a/.tmp-user-62_4938.md b/.tmp-user-62_4938.md new file mode 100644 index 0000000..8943ee5 --- /dev/null +++ b/.tmp-user-62_4938.md @@ -0,0 +1,507 @@ +# 【#4938 前端对接·管理后台】车务创建、修改与最终确认返回订单调整基线差异 + +> Issue: [wx/HL#4938](https://git.1814.love:8443/wx/HL/issues/4938) +> +> PR: 待补充 +> +> 服务: `hl-fleet-service` +> +> 日期: 2026-07-19 +> +> 影响范围: 车务直接派车、直接改派、`holding → assigned` 最终确认,以及订单调整后的日期、人数、车辆容量差异处理 +> +> 状态: 源码静态契约已核对,待代码评审、合并、部署与测试环境验收 + +## 一、前端对接结论 + +以下三个既有管理后台接口现在共用业务码 `605041` 返回结构化逐日差异: + +| 操作 | 接口 | 触发 605041 的条件 | +|---|---|---| +| 创建派单 | `POST /admin/fleet/assignments` | `holdMode=0` 直接派车时最终基线不一致 | +| 修改派单 | `POST /admin/fleet/assignments/{assignmentId}/change` | `holdMode=0` 直接改派时最终基线不一致 | +| 最终确认 | `POST /admin/fleet/assignments/{assignmentId}/confirm` | 订单、需求、行程、逐日派单、人数或容量基线不一致 | + +前端必须遵守以下判断: + +1. 三个接口的 `605041` 当前均返回 HTTP 200,但统一响应体为 `code=605041`、`success=false`,不能只判断 HTTP 状态。 +2. `605041` 的 `data` 不为空: + - create 返回 `AssignmentWriteRespVO`,保证 `data.dailyDifferences` 可读; + - change 返回 `ChangeAssignmentRespVO`,保证 `data.dailyDifferences` 可读; + - confirm 返回 `ConfirmRespVO`,保证 `data.confirmed=false` 和 `data.dailyDifferences` 可读。 +3. `605041` 不会提交派单及其关联业务状态写入: + - create 不会新增或激活派单; + - change 不会取消旧派单,也不会生成可用的新派车版本; + - confirm 不会推进派单状态或确认时间; + - 三者都不会触发车辆/司机占用、保险、对账或订单派定结果变化。 +4. 收到 `605041` 后保持操作前页面状态,展示逐日差异,并重新拉取最新订单和车务详情。 +5. 所有派单、车辆槽位、派车组、订单、车辆和司机雪花 ID 均按 JSON String 发送和读取,禁止转为 JavaScript `Number`。金额字段也按 String 读取。 + +## 二、605041 公共响应契约 + +### 2.1 统一响应外层 + +```json +{ + "code": 605041, + "message": "订单行程或用车派单已变化,请按逐日差异处理后重试", + "data": { + "dailyDifferences": [ + { + "serviceDate": "2026-07-22", + "differenceType": "CAPACITY_INSUFFICIENT", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": 8, + "passengerCapacity": 5, + "capacityGap": 3, + "message": "车辆载客量不足,已按每车司机占一座计算" + } + ] + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938f09a001", + "success": false +} +``` + +注意: + +- `data` 的完整类型取决于调用的是 create、change 还是 confirm,不能跨接口复用成功响应模型。 +- 除本文件明确保证的失败字段外,其余成功态字段在 `605041` 时为空,前端不得用它们推断写入结果。 +- `traceId` 用于反馈和日志定位,不参与业务判断。 + +### 2.2 `dailyDifferences[]` + +| 字段 | 类型 | 说明 | +|---|---|---| +| `serviceDate` | String/null | 发生差异的服务日,格式 `yyyy-MM-dd`;无法定位到单日时为空 | +| `differenceType` | String | 差异类型,取值见下表 | +| `assignmentId` | String/null | 可定位到具体派单时返回;仅用于定位差异,不代表本次写入成功 | +| `assignmentSlotId` | String/null | 可定位到稳定车辆槽位时返回 | +| `passengerCount` | Integer/null | 当前比对使用的乘客人数,不含司机 | +| `passengerCapacity` | Integer/null | 当日车辆合计可载客人数,每辆车已扣除司机一座 | +| `capacityGap` | Integer/null | 缺少座位数,等于 `passengerCount - passengerCapacity` | +| `message` | String | 后端生成的差异说明,可直接辅助展示 | + +差异类型: + +| `differenceType` | 含义 | +|---|---| +| `REQUIREMENT_VERSION_MISMATCH` | 当前生效用车需求已变化,或订单/需求已不可继续派单 | +| `ORDER_DATE_MISMATCH` | 订单当前日期与用车需求冻结日期不一致 | +| `ITINERARY_DATE_MISMATCH` | 逐日行程日期与用车需求冻结日期不一致,或缺少逐日行程 | +| `ASSIGNMENT_DATE_MISSING` | 某服务日缺少有效派单或车辆槽位 | +| `ASSIGNMENT_DATE_EXTRA` | 派单仍包含已不属于当前需求的服务日 | +| `HEADCOUNT_BASELINE_MISMATCH` | 订单当前人数、需求冻结人数或派单人数快照不一致 | +| `CAPACITY_INSUFFICIENT` | 当日所有车辆合计载客量不足 | + +`dailyDifferences` 可能同时包含多种类型、多条服务日记录。前端应遍历数组展示,不得只取第一条,也不得自行重算人数或车辆容量。 + +## 三、创建派单 create + +### 3.1 请求 + +```http +POST /admin/fleet/assignments +Authorization: Bearer +Content-Type: application/json +``` + +```json +{ + "orderId": "2078001000000000101", + "orderNo": "26-0719", + "requirementId": "2078001000000000201", + "fleetItemIndex": 1, + "vehicleId": "2078001000000000301", + "driverId": "2078001000000000401", + "startDate": "2026-07-21", + "endDate": "2026-07-23", + "pickupAt": "海拉尔", + "dropoffAt": "满洲里", + "headcount": 8, + "protocolPrice": "1300.00", + "holdMode": 0, + "fromEntry": "from-board", + "skipCityJunctionException": false, + "strictSeats": true, + "confirmCrossResident": false, + "requestId": "fleet-create-4938-20260719-001" +} +``` + +`605041` 只适用于 `holdMode=0`。原有 `holdMode=1` 排车锁定流程不执行本次最终基线门禁。 + +### 3.2 holdMode=0 成功响应 + +```json +{ + "code": 200, + "message": "成功", + "data": { + "id": "2078001000000000501", + "assignmentGroupId": "2078001000000000601", + "assignmentSlotId": "2078001000000000701", + "assignmentStatus": "assigned", + "stageCode": "assigned", + "stageLabel": "已派车", + "currentStep": 4, + "skippedStepCodes": [ + "DRIVER_CONFIRMATION", + "DRIVER_CONFIRMATION_EVIDENCE" + ], + "protocolPrice": "1300.00", + "holdSentAt": null, + "confirmedAt": "2026-07-19 14:20:00", + "sideEffects": { + "vehicleStatusUpdated": "busy", + "driverStatusUpdated": "busy", + "reconPrepRowsCreated": 0, + "reconPrepMarkedCanceled": null + }, + "dailyDifferences": null + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938c200001", + "success": true +} +``` + +仅在 `code=200` 时把新派单加入页面;`id`、`assignmentGroupId`、`assignmentSlotId` 均按 String 保存。 + +### 3.3 605041 失败响应 + +```json +{ + "code": 605041, + "message": "订单行程或用车派单已变化,请按逐日差异处理后重试", + "data": { + "id": null, + "assignmentGroupId": null, + "assignmentSlotId": null, + "assignmentStatus": null, + "stageCode": null, + "stageLabel": null, + "currentStep": null, + "skippedStepCodes": null, + "protocolPrice": null, + "holdSentAt": null, + "confirmedAt": null, + "sideEffects": null, + "dailyDifferences": [ + { + "serviceDate": "2026-07-22", + "differenceType": "CAPACITY_INSUFFICIENT", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": 8, + "passengerCapacity": 5, + "capacityGap": 3, + "message": "车辆载客量不足,已按每车司机占一座计算" + } + ] + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938c605041", + "success": false +} +``` + +此时不得把临时响应内容加入派单列表,不得本地占用车辆/司机;刷新后仍以服务端最新详情为准。 + +## 四、修改派单 change + +### 4.1 请求 + +```http +POST /admin/fleet/assignments/2078001000000000501/change +Authorization: Bearer +Content-Type: application/json +``` + +```json +{ + "effectiveDate": "2026-07-22", + "newVehicleId": "2078001000000000302", + "newDriverId": "2078001000000000402", + "holdMode": 0, + "protocolPrice": "1688.00", + "confirmCrossResident": false, + "reason": "订单调整后更换车辆和司机", + "requestId": "fleet-change-4938-20260719-001" +} +``` + +`newVehicleId`、`newDriverId` 至少传一个。`605041` 只适用于 `holdMode=0`;`holdMode=1` 仍按排车待司机确认流程处理。 + +### 4.2 holdMode=0 成功响应 + +```json +{ + "code": 200, + "message": "成功", + "data": { + "assignmentId": "2078001000000000502", + "assignmentSlotId": "2078001000000000701", + "previousAssignmentGroupId": "2078001000000000601", + "newAssignmentGroupId": "2078001000000000602", + "assignmentStatus": "assigned", + "effectiveDate": "2026-07-22", + "affectedDays": 2, + "protocolPrice": "1688.00", + "otherVehicleCount": 1, + "warningCode": "ORDER_HAS_OTHER_VEHICLES", + "warningMessage": "该订单另有1个车辆槽位,当前仅修改本车辆,请核对其它车辆安排", + "otherVehicles": [ + { + "assignmentSlotId": "2078001000000000702", + "vehiclePlate": "蒙B-66666", + "driverName": "李师傅", + "startDate": "2026-07-21", + "endDate": "2026-07-23" + } + ], + "dailyDifferences": null + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938a200001", + "success": true +} +``` + +change 成功响应没有 `confirmed` 和 `sideEffects` 字段。只有 `code=200` 时才能用新派车组替换页面中的旧版本;`warningCode=ORDER_HAS_OTHER_VEHICLES` 时继续保留既有强提示。 + +### 4.3 605041 失败响应 + +```json +{ + "code": 605041, + "message": "订单行程或用车派单已变化,请按逐日差异处理后重试", + "data": { + "assignmentId": null, + "assignmentSlotId": null, + "previousAssignmentGroupId": null, + "newAssignmentGroupId": null, + "assignmentStatus": null, + "effectiveDate": null, + "affectedDays": null, + "protocolPrice": null, + "otherVehicleCount": null, + "warningCode": null, + "warningMessage": null, + "otherVehicles": null, + "dailyDifferences": [ + { + "serviceDate": null, + "differenceType": "HEADCOUNT_BASELINE_MISMATCH", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": 8, + "passengerCapacity": null, + "capacityGap": null, + "message": "订单当前人数与用车需求冻结人数不一致" + }, + { + "serviceDate": "2026-07-22", + "differenceType": "CAPACITY_INSUFFICIENT", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": 8, + "passengerCapacity": 5, + "capacityGap": 3, + "message": "车辆载客量不足,已按每车司机占一座计算" + } + ] + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938a605041", + "success": false +} +``` + +此时旧派单和原派车组仍是有效业务状态。不得用 `dailyDifferences[].assignmentId` 替换页面主键,也不得本地切换车辆、司机或状态。 + +## 五、最终确认 confirm + +### 5.1 请求 + +```http +POST /admin/fleet/assignments/2078001000000000501/confirm +Authorization: Bearer +Content-Type: application/json +``` + +```json +{ + "requestId": "fleet-final-confirm-4938-20260719-001" +} +``` + +| 字段 | 位置 | 类型 | 必填 | 约束 | 说明 | +|---|---|---|---|---|---| +| `assignmentId` | Path | String | 是 | 有效派单 ID | 当前派车组中的任一派单 ID | +| `requestId` | Body | String | 是 | 非空,最长 64 | 最终确认幂等标识 | + +### 5.2 成功响应 + +```json +{ + "code": 200, + "message": "成功", + "data": { + "confirmed": true, + "assignmentStatus": "assigned", + "stageCode": "assigned", + "stageLabel": "已派车", + "currentStep": 4, + "assignmentGroupId": "2078001000000000601", + "confirmedAt": "2026-07-19 14:30:00", + "itineraryUrl": "https://h5.example.com/#/itinerary/", + "sideEffects": { + "vehicleStatusUpdated": "busy", + "driverStatusUpdated": "busy", + "reconPrepRowsCreated": 0, + "reconPrepMarkedCanceled": null + }, + "dailyDifferences": null + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938f200001", + "success": true +} +``` + +`itineraryUrl` 签发配置不可用时允许为空,不影响确认成功。前端只有在 `code=200 && data.confirmed===true` 时展示最终确认成功,并刷新派单详情、看板列表和汇总。 + +### 5.3 日期、人数与容量同时存在差异 + +```json +{ + "code": 605041, + "message": "订单行程或用车派单已变化,请按逐日差异处理后重试", + "data": { + "confirmed": false, + "assignmentStatus": null, + "stageCode": null, + "stageLabel": null, + "currentStep": null, + "assignmentGroupId": null, + "confirmedAt": null, + "itineraryUrl": null, + "sideEffects": null, + "dailyDifferences": [ + { + "serviceDate": "2026-07-21", + "differenceType": "ORDER_DATE_MISMATCH", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": null, + "passengerCapacity": null, + "capacityGap": null, + "message": "订单当前日期与用车需求冻结日期不一致" + }, + { + "serviceDate": null, + "differenceType": "HEADCOUNT_BASELINE_MISMATCH", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": 8, + "passengerCapacity": null, + "capacityGap": null, + "message": "订单当前人数与用车需求冻结人数不一致" + }, + { + "serviceDate": "2026-07-22", + "differenceType": "CAPACITY_INSUFFICIENT", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": 8, + "passengerCapacity": 5, + "capacityGap": 3, + "message": "车辆载客量不足,已按每车司机占一座计算" + } + ] + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938f605041", + "success": false +} +``` + +### 5.4 缺少某日车辆槽位 + +```json +{ + "code": 605041, + "message": "订单行程或用车派单已变化,请按逐日差异处理后重试", + "data": { + "confirmed": false, + "assignmentStatus": null, + "stageCode": null, + "stageLabel": null, + "currentStep": null, + "assignmentGroupId": null, + "confirmedAt": null, + "itineraryUrl": null, + "sideEffects": null, + "dailyDifferences": [ + { + "serviceDate": "2026-07-23", + "differenceType": "ASSIGNMENT_DATE_MISSING", + "assignmentId": null, + "assignmentSlotId": null, + "passengerCount": null, + "passengerCapacity": null, + "capacityGap": null, + "message": "该服务日缺少第2个车辆槽位派单" + } + ] + }, + "traceId": "7db459fd-0b8e-4f29-9c46-4938f605042", + "success": false +} +``` + +## 六、前端统一处理顺序 + +1. 先判断业务 `code`,再读取端点自己的 `data`: + - `code=200`:按对应成功模型处理; + - `code=605041`:按对应失败模型读取 `dailyDifferences`; + - 其他业务码:继续走既有错误处理。 +2. `605041` 时不要乐观更新: + - create 不新增本地派单; + - change 不替换旧派单; + - confirm 不改为 `assigned` 或“已确认”。 +3. 展示顶层 `message`,并按 `dailyDifferences` 列出服务日、差异类型、人数、容量和缺口;字段为空时隐藏对应展示项。 +4. 重新请求最新订单和车务详情,避免继续使用操作前缓存。 +5. 用户修正订单日期、行程、人数或派单后,生成新的 `requestId` 再提交新动作;仅在同一次动作网络结果不确定时复用原 `requestId`。 + +## 七、其他直接错误分支 + +| 业务码 | 常见场景 | 前端处理 | +|---|---|---| +| `605009` | 派单不存在 | 刷新详情和看板,停止操作旧记录 | +| `605020` | 当前状态不允许操作 | 刷新最新生命周期与操作能力 | +| `605025` | 最终确认前缺少司机确认或有效凭证 | 引导先完成司机确认与凭证登记 | +| `605001` / `605003` | 车辆或司机档期冲突 | 展示后端错误并重新选车/司机 | +| `605036` | 跨常驻车未显式确认 | 二次提示后携带 `confirmCrossResident=true` 重试 | +| `605041` | 订单、需求、行程、逐日派单、人数或容量基线不一致 | 使用当前端点的 `data.dailyDifferences` 展示并处理 | + +请求字段为空、格式不正确或超过长度限制时走统一参数校验错误,前端应在发请求前完成同样约束。 + +## 八、不影响范围 + +- 不新增管理后台接口,三个接口的请求字段结构保持不变。 +- `holdMode=1` 的排车锁定、司机确认与凭证登记流程保持不变。 +- 不改变取消、司机拒接、驳回需求、撤销取消和提前完结的前端调用契约。 +- 不要求前端计算订单人数、逐日服务日期或车辆载客量,这些均由后端权威校验并返回差异。 +- 本文件只描述管理后台直接消费的 HTTP 契约,不包含服务间调用或发布实现细节。 + +## 九、验收状态与待补证据 + +已完成: + +- 当前 worktree 中 create、change、confirm Controller 的 `605041` 强类型 `data` 静态核对。 +- `AssignmentWriteRespVO`、`ChangeAssignmentRespVO`、`ConfirmRespVO` 与 `dailyDifferences` 字段静态核对。 +- 三条失败路径不提交派单及其关联业务状态变化的源码顺序核对。 + +合并和部署后仍需补充: + +- 三个接口在测试环境 OpenAPI 中的请求/响应模型截图或导出差异。 +- 经网关分别取得 create、change、confirm 的成功响应和 `605041` 真实响应,记录 HTTP 状态、业务码、`traceId` 与完整 `data`。 +- 对 `605041` 前后做测试业务数据对照,确认派单版本/状态、车辆司机占用、保险、对账和订单派定结果未发生变化。 +- 管理后台页面联调证据:差异列表展示、空字段处理、刷新行为、禁止乐观更新,以及修正后重新提交成功。 diff --git a/BACKEND_CHANGELOG_DELIVERY_GUIDE.md b/BACKEND_CHANGELOG_DELIVERY_GUIDE.md index 1312f59..692829a 100644 --- a/BACKEND_CHANGELOG_DELIVERY_GUIDE.md +++ b/BACKEND_CHANGELOG_DELIVERY_GUIDE.md @@ -84,14 +84,14 @@ author: "wx(GIT)" # wx 推送写 wx(GIT);yst 推送写 yst(GIT);以此类 谁 push 到 main 就写谁,多会话并行时用于追溯该条 changelog 的推送人。新写文件必须带;修改旧文件时顺手补上。 -**正文开头同步加作者行**(2026-08-04 wx 定):除 frontmatter `author` 字段外,正文最前面(frontmatter 结束后、一级标题前)必须加一行作者标识,方便阅读者直接看到: +**联系人章节(模仿 yst 格式,2026-08-04 wx 定)**:除 frontmatter `author` 字段外,正文末尾"关联 / 联系人"章节必须标注后端负责人,格式与 yst 的 changelog 一致: ```markdown ---- +## 关联 / 联系人 -**作者:wx** +### 联系人 -# 订单: xxx +- **后端负责人**: @wx ``` -与 frontmatter `author` 字段同源:wx 推送写 `**作者:wx**`,yst 推送写 `**作者:yst**`。模板已含此行(见 CHANGELOG_TEMPLATE.md)。 +与 frontmatter `author` 字段同源:wx 负责写 `@wx`,yst 负责写 `@yst`。不要在正文开头加"作者"行(已废弃)。模板已含此章节(见 CHANGELOG_TEMPLATE.md)。修改他人 changelog 时不要改联系人。 diff --git a/CHANGELOG_TEMPLATE.md b/CHANGELOG_TEMPLATE.md index 40cd16b..473aa27 100644 --- a/CHANGELOG_TEMPLATE.md +++ b/CHANGELOG_TEMPLATE.md @@ -17,8 +17,6 @@ updated_at: "YYYY-MM-DD" base: "{dev|dev-v3}" --- -**作者:{推送者登录名}** - # {模块名}: {一句话概括变化} > **存放目录**: @@ -196,3 +194,14 @@ POST /mp/product/{id}/quote → 200 + 报价成功 ✓ - 关联 Issue: [wx/HL#{issue}](https://git.1814.love:8443/wx/HL/issues/{issue}) - 关联 PR: [wx/HL#{pr}](https://git.1814.love:8443/wx/HL/pulls/{pr}) - 后续计划: 见 `{另一条 changelog 路径}` + +## 关联 / 联系人 + +### 链接 + +- **Issue**: [#{issue-no}](https://git.1814.love:8443/wx/HL/issues/{issue-no}) +- **PR**: [#{pr-no}](https://git.1814.love:8443/wx/HL/pulls/{pr-no}) + +### 联系人 + +- **后端负责人**: @{推送者登录名} diff --git a/changelogs-v2/2026-08/01_5380_核单人员页签收口-删除接口-管理后台.md b/changelogs-v2/2026-08/01_5380_核单人员页签收口-删除接口-管理后台.md index f6d02d6..70f61b4 100644 --- a/changelogs-v2/2026-08/01_5380_核单人员页签收口-删除接口-管理后台.md +++ b/changelogs-v2/2026-08/01_5380_核单人员页签收口-删除接口-管理后台.md @@ -16,7 +16,6 @@ updated_at: "2026-08-02" base: "dev-v3" --- -**作者:wx** # ⚠️【删除接口·管理后台】核单人员页签收口与车辆空态契约 (#5380) diff --git a/changelogs-v2/2026-08/02_5374_保险任务与派单候选补齐团号契约-修改接口-管理后台.md b/changelogs-v2/2026-08/02_5374_保险任务与派单候选补齐团号契约-修改接口-管理后台.md index e9de077..2c4134b 100644 --- a/changelogs-v2/2026-08/02_5374_保险任务与派单候选补齐团号契约-修改接口-管理后台.md +++ b/changelogs-v2/2026-08/02_5374_保险任务与派单候选补齐团号契约-修改接口-管理后台.md @@ -16,7 +16,6 @@ updated_at: "2026-08-03" base: "dev-v3" --- -**作者:wx** # Fleet:保险任务与派单候选补齐真实团号契约 @@ -211,3 +210,9 @@ GET /admin/fleet/insurance/tasks?teamNo=2607&page=1&pageSize=20 2. 派单候选的车辆/司机冲突提示改用各自 `conflicts[].teamNo` 展示团号。 3. `teamNo === null` 时展示 `-`,不得显示 `orderNo` 作为替代团号。 4. 保留现有 ID 与订单号用于路由、动作及兼容逻辑。 + +## 关联 / 联系人 + +### 联系人 + +- **后端负责人**: @wx diff --git a/changelogs-v2/2026-08/03_5319_团期配车就绪门禁与清零释放内部契约-修改接口-内部服务.md b/changelogs-v2/2026-08/03_5319_团期配车就绪门禁与清零释放内部契约-修改接口-内部服务.md index 39743b8..23ac06e 100644 --- a/changelogs-v2/2026-08/03_5319_团期配车就绪门禁与清零释放内部契约-修改接口-内部服务.md +++ b/changelogs-v2/2026-08/03_5319_团期配车就绪门禁与清零释放内部契约-修改接口-内部服务.md @@ -16,7 +16,6 @@ updated_at: "2026-08-03" base: "dev-v3" --- -**作者:wx** # 团期配车就绪门禁与清零释放内部契约(#5319) @@ -58,3 +57,9 @@ base: "dev-v3" - reactor verify:Fleet 2870 用例(仅 Testcontainers MySQL 无 Docker 环境失败,基线同样失败);order-v3 全量 verify 通过;fleet spotless:check 通过 - 网关验证:internal 路径经网关 403 为设计行为(JwtAuthFilter 全局阻断);经服务直连验证 release=200、dispatch-baseline=589500(失败关闭)、vehicle-ready-reset=200、vehicle-ready=200(证据 `tmp/5319-gateway-evidence.md`) - 兼容性结论:既有 `vehicle-ready`(置 true)契约不变;重配请求在完整覆盖校验下语义收紧(此前不完整计划可提交),调用方须按权威服务日提交 + +## 关联 / 联系人 + +### 联系人 + +- **后端负责人**: @wx diff --git a/changelogs-v2/2026-08/03_5336_修改派单requestId持久幂等-修改接口-管理后台.md b/changelogs-v2/2026-08/03_5336_修改派单requestId持久幂等-修改接口-管理后台.md index 4e9f013..59265f0 100644 --- a/changelogs-v2/2026-08/03_5336_修改派单requestId持久幂等-修改接口-管理后台.md +++ b/changelogs-v2/2026-08/03_5336_修改派单requestId持久幂等-修改接口-管理后台.md @@ -16,7 +16,6 @@ updated_at: "2026-08-03" base: "dev-v3" --- -**作者:wx** # 修改派单 requestId 持久幂等:同键重放冻结结果、不同载荷 605059 @@ -72,3 +71,9 @@ base: "dev-v3" ## Internal Feign / shared Java 无内部 Feign 或共享 Java 契约变化。 + +## 关联 / 联系人 + +### 联系人 + +- **后端负责人**: @wx diff --git a/changelogs-v2/2026-08/03_5364_连续执行段司机确认隔离-修改接口-管理后台.md b/changelogs-v2/2026-08/03_5364_连续执行段司机确认隔离-修改接口-管理后台.md index 94427ca..1a4a914 100644 --- a/changelogs-v2/2026-08/03_5364_连续执行段司机确认隔离-修改接口-管理后台.md +++ b/changelogs-v2/2026-08/03_5364_连续执行段司机确认隔离-修改接口-管理后台.md @@ -16,7 +16,6 @@ updated_at: "2026-08-03" base: "dev-v3" --- -**作者:wx** # 连续执行段司机通知、回复与整组确认隔离(#5364) @@ -174,3 +173,9 @@ Fleet 与 order-v3 新增内部 reservation/release 契约: - 后端 PR #5420 已 squash 合并到 `dev-v3@e543a41035`;按 changelog 发布门禁记录 `backend_status=deployed`,本工单不包含运行时测试部署。 - 本工单冻结范围不执行部署或网关调用,`gateway_status=not_required`。 - 前端未领取,`frontend_status=pending`;changelog 发布不代表前端已实现、发布或页面验证。 + +## 关联 / 联系人 + +### 联系人 + +- **后端负责人**: @wx diff --git a/changelogs-v2/2026-08/03_5379_终止行程车辆退款权威口径-修改接口-管理后台.md b/changelogs-v2/2026-08/03_5379_终止行程车辆退款权威口径-修改接口-管理后台.md index 7031cbf..ffed3f2 100644 --- a/changelogs-v2/2026-08/03_5379_终止行程车辆退款权威口径-修改接口-管理后台.md +++ b/changelogs-v2/2026-08/03_5379_终止行程车辆退款权威口径-修改接口-管理后台.md @@ -17,7 +17,6 @@ updated_at: "2026-08-04" base: "dev-v3" --- -**作者:wx** # 订单: 终止行程车辆退款改为 Fleet 服务日权威判定 @@ -139,3 +138,9 @@ base: "dev-v3" - 关联 Issue: [wx/HL#5379](https://git.1814.love:8443/wx/HL/issues/5379) - 关联 PR: [wx/HL#5417](https://git.1814.love:8443/wx/HL/pulls/5417) + +## 关联 / 联系人 + +### 联系人 + +- **后端负责人**: @wx diff --git a/changelogs-v2/2026-08/2_5446_HOLD-通知管理端状态查询与受控重试.md b/changelogs-v2/2026-08/2_5446_HOLD-通知管理端状态查询与受控重试.md index 4c889d1..d56b2f0 100644 --- a/changelogs-v2/2026-08/2_5446_HOLD-通知管理端状态查询与受控重试.md +++ b/changelogs-v2/2026-08/2_5446_HOLD-通知管理端状态查询与受控重试.md @@ -18,7 +18,6 @@ base: "dev-v3" generated: "2026-08-03T23:19:24+08:00" --- -**作者:wx** # HOLD 通知管理端状态查询与受控重试 @@ -28,6 +27,10 @@ generated: "2026-08-03T23:19:24+08:00" - Backend tracking: [#5366 B10](https://git.1814.love:8443/wx/HL/issues/5366) - PR: [#5447](https://git.1814.love:8443/wx/HL/pulls/5447)(merge commit 15d79a8d4) + +### 联系人 + +- **后端负责人**: @wx ## 变更接口 | 方法 | 路径 | 来源 | diff --git a/changelogs-v2/2026-08/3_5444_Step2-canonical-full-snapshot-与稳定槽位.md b/changelogs-v2/2026-08/3_5444_Step2-canonical-full-snapshot-与稳定槽位.md index 8c0c587..ef089c0 100644 --- a/changelogs-v2/2026-08/3_5444_Step2-canonical-full-snapshot-与稳定槽位.md +++ b/changelogs-v2/2026-08/3_5444_Step2-canonical-full-snapshot-与稳定槽位.md @@ -18,7 +18,6 @@ base: "dev-v3" generated: "2026-08-03T23:34:18+08:00" --- -**作者:wx** # Step2 canonical full snapshot 与稳定槽位 @@ -30,6 +29,10 @@ generated: "2026-08-03T23:34:18+08:00" - Issue: #5444 - PR: [#5448](https://git.1814.love:8443/wx/HL/pulls/5448) + +### 联系人 + +- **后端负责人**: @wx ## 变更接口 | 方法 | 路径 | 来源 |