diff --git a/changelogs-v2/2026-09/20_7964_订单取消同事务失活用车需求-内部接口-修复-管理后台.md b/changelogs-v2/2026-09/20_7964_订单取消同事务失活用车需求-内部接口-修复-管理后台.md index bc42cedb..cb577bd8 100644 --- a/changelogs-v2/2026-09/20_7964_订单取消同事务失活用车需求-内部接口-修复-管理后台.md +++ b/changelogs-v2/2026-09/20_7964_订单取消同事务失活用车需求-内部接口-修复-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "" -status_note: "订单取消链路此前只给 fleet 发「取消派车」命令、不碰 order 侧需求行,已取消/已退团户的 order_vehicle_requirement 仍是 is_active=1 / status=PENDING,继续出现在待配车池里——车管会给一个已经退团的客人排车。现改为在订单取消事务内同步失活该单全部活跃用车需求(两个 kind、任意 status 一并失活)。没有新增、修改、删除任何端点,请求与响应字段全不变,故 change_type 取「修复」。⚠️ 对 fleet 侧有两处行为影响,需知会:①待配车池 GET /v3/internal/order/vehicle-requirements 的返回集合变小;②fleet 对已取消单的三个回写入口(status / reopen-after-assignment-cancel / vehicle-assignment/callback)行为经本单专门保护,仍是原先的「静默跳过 / ORDER_CANCELLED_IGNORED」,不会因失活而改抛 582084。后端已合并 dev-v3(e179e09bd)并部署 TEST,三个入口与待配车池均实测通过(工单 #7964)。网关无路由与接口变更,故 gateway_status 取 not_required;本单只改内部端点行为,前端无感知。" +status_note: "订单取消链路此前只给 fleet 发「取消派车」命令、不碰 order 侧需求行,已取消/已退团户的 order_vehicle_requirement 仍是 is_active=1 / status=PENDING,继续出现在待配车池里——车管会给一个已经退团的客人排车。现改为在订单取消事务内同步失活该单全部活跃用车需求(两个 kind、任意 status 一并失活)。没有新增、修改、删除任何端点,请求与响应字段全不变,故 change_type 取「修复」。⚠️ 对 fleet 侧有两处行为影响,需知会:①待配车池 GET /v3/internal/order/vehicle-requirements 的返回集合变小;②fleet 对已取消单的三个回写入口(status / reopen-after-assignment-cancel / vehicle-assignment/callback)行为经本单专门保护,仍是原先的「静默跳过 / ORDER_CANCELLED_IGNORED」,不会因失活而改抛 582084。后端已合并 dev-v3(e179e09bd)并部署 TEST,三个入口与待配车池均实测通过(工单 #7964)。网关无路由与接口变更,故 gateway_status 取 not_required;本单只改内部端点行为,前端无感知。 前端实证维持 not_required(mmg 2026-09-20):internal 端点不经网关前端不可达,fleet 看板待配车池行变少纯数据面自动受益,三回写入口行为不变。" updated_at: "2026-09-20" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/20_7990_车务看板订单详情按需求各返一组身份三元组-修改接口-管理后台.md b/changelogs-v2/2026-09/20_7990_车务看板订单详情按需求各返一组身份三元组-修改接口-管理后台.md index 9aa5f908..0a29bce1 100644 --- a/changelogs-v2/2026-09/20_7990_车务看板订单详情按需求各返一组身份三元组-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/20_7990_车务看板订单详情按需求各返一组身份三元组-修改接口-管理后台.md @@ -7,12 +7,12 @@ author: "wx(GIT)" change_type: "修改接口" backend_status: "deployed" gateway_status: "verified" -frontend_status: "pending" +frontend_status: "not_required" frontend_owner: "mmg" frontend_ref: "" target_release: "" verified_at: "" -status_note: "backend 已部署到 311dc92ee(hl-fleet-service,2026-09-20 17:46:56,STATE=ok;jar 字节口径已验:605311 命中 2 处,阳性对照老码 605015 命中 1 处,两者都非零说明检索方法本身有效)。gateway_status=verified 依据 2026-09-20 18:0x 经测试网关(api.test.1814.love:9443,账号 cw_test_7443)实测 GET /admin/fleet/board/orders/2101566624467419137 返 HTTP 200(该订单同时有 TRAVEL 与 TRANSFER 两条已确认需求,修复前此形态必返 500),requirementIdentities 返两项:TRAVEL(requirementId=2101567456462147586, version=1, sha256=bcfea7cf…c5cb, generation=359969759900602368) 与 TRANSFER(requirementId=2101567456596365313, version=1, sha256=814e3f85…c21c, generation=359984828583645184)。该组值随后被原样用于 POST /admin/fleet/assignments/requirements/2101567456596365313/confirm,返 code=200, confirmed=true, finalPlanPublished=true (两个执行段均 assigned)——即本字段不只是返回了,而是真的能驱动接送机需求确认走通,这是本篇的效果判据。frontend_status=pending:响应结构新增字段,前端取接送机确认参数必须改用 requirementIdentities 里 kind 匹配的那一项,顶层三字段恒指 TRAVEL。" +status_note: "backend 已部署到 311dc92ee(hl-fleet-service,2026-09-20 17:46:56,STATE=ok;jar 字节口径已验:605311 命中 2 处,阳性对照老码 605015 命中 1 处,两者都非零说明检索方法本身有效)。gateway_status=verified 依据 2026-09-20 18:0x 经测试网关(api.test.1814.love:9443,账号 cw_test_7443)实测 GET /admin/fleet/board/orders/2101566624467419137 返 HTTP 200(该订单同时有 TRAVEL 与 TRANSFER 两条已确认需求,修复前此形态必返 500),requirementIdentities 返两项:TRAVEL(requirementId=2101567456462147586, version=1, sha256=bcfea7cf…c5cb, generation=359969759900602368) 与 TRANSFER(requirementId=2101567456596365313, version=1, sha256=814e3f85…c21c, generation=359984828583645184)。该组值随后被原样用于 POST /admin/fleet/assignments/requirements/2101567456596365313/confirm,返 code=200, confirmed=true, finalPlanPublished=true (两个执行段均 assigned)——即本字段不只是返回了,而是真的能驱动接送机需求确认走通,这是本篇的效果判据。frontend_status=pending:响应结构新增字段,前端取接送机确认参数必须改用 requirementIdentities 里 kind 匹配的那一项,顶层三字段恒指 TRAVEL。 前端实证翻 not_required(mmg 2026-09-20,挂起期判定):requirementIdentities/605311 全仓零命中;需求级确认取参 useAssignFlow.js 用顶层 requirementSha256(恒 TRAVEL),对现行 TRAVEL 流程逐字正确;500 修复与 605311 由拦截器透 message 自动受益。TRANSFER 接入时(#7443 启动)义务已入前端 memory:取参必须 requirementIdentities.find(kind==='TRANSFER')(禁顶层三字段与 driverConfirmationSummary.dispatchPlanGeneration),且接送机天然多段须走需求级确认端点(单车 confirm 恒 605057)。" updated_at: "2026-09-20" base: "dev-v3" ---