From 0f8d28ba767e987a52c778686818d3c3ea56a174 Mon Sep 17 00:00:00 2001 From: wx <2636507191@qq.com> Date: Fri, 23 Oct 2026 10:09:55 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20#9192=20=E5=B7=B2=E5=AE=89=E6=8E=92?= =?UTF-8?q?=E5=9B=A2=E4=BA=BA=E6=95=B0/=E7=89=B9=E6=AE=8A=E8=AF=89?= =?UTF-8?q?=E6=B1=82=E5=8F=98=E6=9B=B4=E6=8B=92=E7=BB=9D=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...¢人数特殊诉求变更改为显式拒绝-修复-管理后台.md | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 changelogs-v2/2026-10/23_9192_已安排团人数特殊诉求变更改为显式拒绝-修复-管理后台.md diff --git a/changelogs-v2/2026-10/23_9192_已安排团人数特殊诉求变更改为显式拒绝-修复-管理后台.md b/changelogs-v2/2026-10/23_9192_已安排团人数特殊诉求变更改为显式拒绝-修复-管理后台.md new file mode 100644 index 00000000..670d8f88 --- /dev/null +++ b/changelogs-v2/2026-10/23_9192_已安排团人数特殊诉求变更改为显式拒绝-修复-管理后台.md @@ -0,0 +1,72 @@ +--- +schema: "hl-changelog/v2" +ticket: "9192" +title: "已安排团人数/特殊诉求变更改为显式拒绝(同步失败原因补充类别)" +consumer: "admin" +author: "wx(GIT)" +change_type: "修复" +backend_status: "deployed" +gateway_status: "verified" +frontend_status: "not_required" +frontend_owner: "" +frontend_ref: "" +target_release: "" +verified_at: "" +status_note: "已合并 dev-v3(PR #9204,squash e5e6fe212),已部署测试服任务 7e46904c,双实例 8187/8087 均 is UP;真账号 wx 经网关 GET 派车工作台列表 HTTP 200 / code 200,39 团全部返回。本次只改来源同步落库的拒绝条件与 reason 文案:内部同步接口外层错误码仍为 603050,管理后台调用的查询接口入参/出参零变化;hl-ui 无需改代码。" +updated_at: "2026-10-23" +base: "dev-v3" +--- + +# 已安排团人数/特殊诉求变更改为显式拒绝(管理后台告知) + +> 面向:管理后台前端(hl-ui) +> 日期:2026-10-23 | 后端:hl-fleet-service(二期 dev-v3) +> 结论:**管理后台查询接口零变化、前端无需改代码**;来源同步在「已安排团 + 人数/特殊诉求变化」时会恢复为显式失败,失败原因会说明是哪一类变更。 + +## 一、背景 + +派车工作台用「需求已变」徽标提示调度重排车。该徽标只覆盖「车型提示 / 建议辆数 / 接送趟日期」三样;订单侧改人数或特殊诉求,不在标记范围内。 + +此前的行为是:已安排过车的团收到这类变更时,后端会把新值静默落库、不置任何标记,调度看不到徽标,可能按原车派出。本单把这类变更恢复为显式拒绝,避免静默改数。 + +## 二、变更点 + +| 项 | 内容 | +|---|---| +| 影响层 | 来源同步落库(内部链路,非管理后台查询接口) | +| 触发变化 | 已安排团 + 需求行人数 / 特殊诉求变更时,由「静默落库」改为「显式失败」 | +| 失败原因 | `团已安排过车:本版本不支持已安排团的人数、特殊诉求等内容变更,请先撤回派车行后再同步` | +| 管理后台接口 | 入参、成功响应、分页结构逐字未变;团详情等查询接口不会因此新增 500 | +| 前端动作 | 不需要改代码;本告知用于让前端/支持人员知道同步失败的新原因 | + +## 三、触发条件 + +同时满足以下条件时,来源同步落库失败: + +1. 该团已经安排过车(存在未撤下的派车行); +2. 订单侧同步过来的需求行,人数(headcount)或特殊诉求(specialTags)发生变化; +3. 这两类字段不属于「需求已变」徽标覆盖的车型 / 辆数 / 接送日期三样。 + +未安排过车的团不受影响:人数、特殊诉求照旧落库,不置标记。 + +## 四、错误表现 + +| 项 | 值 | +|---|---| +| 内部同步外层错误码 | `603050`(DISPATCH_SOURCE_SNAPSHOT_INVALID,未变) | +| reason / message | `团已安排过车:本版本不支持已安排团的人数、特殊诉求等内容变更,请先撤回派车行后再同步` | +| 管理后台可见性 | 团详情的顺手同步是异步执行并吞异常的,不会把这条 message 直接返回给页面;管理后台不新增错误分支 | +| 处置建议 | 调度先撤回该团派车行,再重新同步;不要把它当成系统故障 | + +内部常量 `REJECT_ARRANGED` 的文案同步更新;前端不应依赖内部常量名。 + +## 五、不影响范围 + +- 管理后台查询接口的请求参数、成功响应字段、分页结构:逐字未变。 +- 车型 / 辆数 / 接送日期变更:仍放行,仍置「需求已变」。 +- 未安排团:人数 / 特殊诉求仍照常落库,不置标记。 +- 不新增表、不新增列、不改 Flyway、不涉及金额。 + +## 六、测试环境已验证 + +2026-10-23 已部署 dev-v3(提交 e5e6fe212)到测试服,双实例 8187/8087 均 is UP;真实账号 wx 登录后经网关 GET 派车工作台列表 HTTP 200 / code 200,39 团全部返回。真 MySQL 事务用例覆盖:已安排团人数变更、特殊诉求变更均拒绝且库中原值不变;未安排团两类变更均落库且不置标记。 \ No newline at end of file