From 8e72e63879e94d7b0ff7d3b0c4031ff1c12f75fd Mon Sep 17 00:00:00 2001 From: Mimingguang <498526323@qq.com> Date: Sun, 20 Sep 2026 16:09:06 +0800 Subject: [PATCH] =?UTF-8?q?chore(changelog):=20#8023/#7965/#8003/#8004=20?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E5=AE=9E=E8=AF=81=E7=BF=BB=20not=5Frequired(?= =?UTF-8?q?grep=20=E9=9B=B6=E6=B6=88=E8=B4=B9=E9=9D=A2/=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8F=97=E7=9B=8A);#7443=20=E5=88=B0=E4=BB=B6=E7=BB=B4?= =?UTF-8?q?=E6=8C=81=20pending=20=E6=8C=82=E8=B5=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...派回执幂等重放不再抹掉assignmentSlotId-修改接口-管理后台.md | 4 ++-- ..._共用关系跨维度成员改绑与悬挂核对任务1045-修复-管理后台.md | 2 +- ...”¨关系两个读口契约收口拆出shareEligible-修改接口-管理后台.md | 4 ++-- ...汇总与确认预检不再只认needs_hotel标记位-修改接口-管理后台.md | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/changelogs-v2/2026-09/20_7965_改派回执幂等重放不再抹掉assignmentSlotId-修改接口-管理后台.md b/changelogs-v2/2026-09/20_7965_改派回执幂等重放不再抹掉assignmentSlotId-修改接口-管理后台.md index 88277525..4f1b40f5 100644 --- a/changelogs-v2/2026-09/20_7965_改派回执幂等重放不再抹掉assignmentSlotId-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/20_7965_改派回执幂等重放不再抹掉assignmentSlotId-修改接口-管理后台.md @@ -7,12 +7,12 @@ author: "jw(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: "改派 POST /admin/fleet/assignments/{assignmentId}/change 带 requestId 时,同一 requestId 的幂等重放此前恒返回 assignmentSlotId=null,而首次调用返回真实值——同一个 requestId 拿到两份不一样的「同一个结果」。本次把回执冻结口径改回照抄首调的值,重放与首调返回同一个 assignmentSlotId。入参、路径、其余出参字段、错误码、判权一律不变;首次调用的行为也完全不变,只有「同 requestId 重放」这一条路径的返回值变了。后端已合并 dev-v3(d31bb3209)并部署 TEST,网关双调实测两次响应体逐字节一致(工单 #7965 AC-1)。" +status_note: "改派 POST /admin/fleet/assignments/{assignmentId}/change 带 requestId 时,同一 requestId 的幂等重放此前恒返回 assignmentSlotId=null,而首次调用返回真实值——同一个 requestId 拿到两份不一样的「同一个结果」。本次把回执冻结口径改回照抄首调的值,重放与首调返回同一个 assignmentSlotId。入参、路径、其余出参字段、错误码、判权一律不变;首次调用的行为也完全不变,只有「同 requestId 重放」这一条路径的返回值变了。后端已合并 dev-v3(d31bb3209)并部署 TEST,网关双调实测两次响应体逐字节一致(工单 #7965 AC-1)。 前端实证维持 not_required(mmg 2026-09-20):改派响应消费仅 assignmentId/warningCode/otherVehicles(useAssignFlow.js showOtherVehiclesWarning);assignmentSlotId 两处读取(order.assignmentSlotId 创单回传、详情快照指纹)均来自列表/详情数据非改派响应;requestId 复用重放路径确有(useAssignFlow 指纹复用),修复为零感知补齐,原判空兜底保留即可。" updated_at: "2026-09-20" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/20_8003_共用关系跨维度成员改绑与悬挂核对任务1045-修复-管理后台.md b/changelogs-v2/2026-09/20_8003_共用关系跨维度成员改绑与悬挂核对任务1045-修复-管理后台.md index 31fd65d1..9ac65061 100644 --- a/changelogs-v2/2026-09/20_8003_共用关系跨维度成员改绑与悬挂核对任务1045-修复-管理后台.md +++ b/changelogs-v2/2026-09/20_8003_共用关系跨维度成员改绑与悬挂核对任务1045-修复-管理后台.md @@ -12,7 +12,7 @@ frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "" -status_note: "本单没有新增、修改、删除任何 admin/mp 端点,请求参数与响应字段全部不变,change_type 取「修复」是按 20_7539 先例(校验器只允许 新增接口/修改接口/删除接口/修复/前端* 几类,接口三类要求逐端点模板而本单无 admin 端点可列)。唯一新增的是 Quartz 桥接用的内部端点 POST /internal/fleet/jobs/share-member-dangling-reconcile/run,只由 hl-user-service 的定时任务经 X-Internal-Token 调用,不经网关、前端不可达,故不单列后端 changelog 条目。gateway_status=verified 指共用关系确认端点 POST /admin/fleet/group-dispatch/batches/{groupBatchId}/share-groups 经测试网关实测通过(2026-09-20 在团期 2101174125761265666 上连建车、司机两个维度的关系,库内复核两组成员行均指向同一张最新派单行)。frontend_status=not_required:响应字段与结构不变,前端无需改调用;但 members[].sourceId 的取值行为变了(见第二节),任何把它缓存/固化的前端逻辑需要复核。" +status_note: "本单没有新增、修改、删除任何 admin/mp 端点,请求参数与响应字段全部不变,change_type 取「修复」是按 20_7539 先例(校验器只允许 新增接口/修改接口/删除接口/修复/前端* 几类,接口三类要求逐端点模板而本单无 admin 端点可列)。唯一新增的是 Quartz 桥接用的内部端点 POST /internal/fleet/jobs/share-member-dangling-reconcile/run,只由 hl-user-service 的定时任务经 X-Internal-Token 调用,不经网关、前端不可达,故不单列后端 changelog 条目。gateway_status=verified 指共用关系确认端点 POST /admin/fleet/group-dispatch/batches/{groupBatchId}/share-groups 经测试网关实测通过(2026-09-20 在团期 2101174125761265666 上连建车、司机两个维度的关系,库内复核两组成员行均指向同一张最新派单行)。frontend_status=not_required:响应字段与结构不变,前端无需改调用;但 members[].sourceId 的取值行为变了(见第二节),任何把它缓存/固化的前端逻辑需要复核。 前端实证维持 not_required(mmg 2026-09-20):share-groups/shareGroups 全仓零命中,共用关系功能前端未接入(#7444 交接件未到件),members[].sourceId 取值行为变化零消费面;无缓存/固化该值的逻辑。" updated_at: "2026-09-20" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/20_8004_共用关系两个读口契约收口拆出shareEligible-修改接口-管理后台.md b/changelogs-v2/2026-09/20_8004_共用关系两个读口契约收口拆出shareEligible-修改接口-管理后台.md index 357c6516..6e0c6434 100644 --- a/changelogs-v2/2026-09/20_8004_共用关系两个读口契约收口拆出shareEligible-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/20_8004_共用关系两个读口契约收口拆出shareEligible-修改接口-管理后台.md @@ -7,12 +7,12 @@ author: "jw(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: "同名字段 cityJunctionShareCandidate 此前在 candidates 与 precheck 两个读口上含义不同:#7444 把 candidates 一侧扩写成『同城衔接 或 已确认共用关系』,precheck 一侧保持原义『只说同城衔接』,于是同一对跨城派单两个读口返回相反的 true/false。本次把 candidates 该列恢复为原义(与 precheck 同义),新增 shareEligible 承载『这条冲突被放行了吗』。candidates 出参新增一个字段、一个既有字段取值口径回滚;precheck 出参与两端点入参一律不变。后端已合并 dev-v3(32f87d022)并部署 TEST,网关实测三种取值组合齐全(工单 #8004 AC-1)。前端若已按 #7444 口径把 cityJunctionShareCandidate 当作『可不可以选这辆车』使用,须改读 shareEligible 或 blocking。" +status_note: "同名字段 cityJunctionShareCandidate 此前在 candidates 与 precheck 两个读口上含义不同:#7444 把 candidates 一侧扩写成『同城衔接 或 已确认共用关系』,precheck 一侧保持原义『只说同城衔接』,于是同一对跨城派单两个读口返回相反的 true/false。本次把 candidates 该列恢复为原义(与 precheck 同义),新增 shareEligible 承载『这条冲突被放行了吗』。candidates 出参新增一个字段、一个既有字段取值口径回滚;precheck 出参与两端点入参一律不变。后端已合并 dev-v3(32f87d022)并部署 TEST,网关实测三种取值组合齐全(工单 #8004 AC-1)。前端若已按 #7444 口径把 cityJunctionShareCandidate 当作『可不可以选这辆车』使用,须改读 shareEligible 或 blocking。 前端实证维持 not_required(mmg 2026-09-20):cityJunctionShareCandidate/shareEligible 全仓零命中,前端从未按 #7444 扩写口径把该字段当「可不可以选」消费(冲突渲染走 reasonCode/blocking 等既有字段),口径回滚+新增字段零影响;排除自身 excludeAssignmentId 成对传惯例在用。" updated_at: "2026-09-20" base: "dev-v3" --- diff --git a/changelogs-v2/2026-09/20_8023_需求汇总与确认预检不再只认needs_hotel标记位-修改接口-管理后台.md b/changelogs-v2/2026-09/20_8023_需求汇总与确认预检不再只认needs_hotel标记位-修改接口-管理后台.md index d8689c39..f264613b 100644 --- a/changelogs-v2/2026-09/20_8023_需求汇总与确认预检不再只认needs_hotel标记位-修改接口-管理后台.md +++ b/changelogs-v2/2026-09/20_8023_需求汇总与确认预检不再只认needs_hotel标记位-修改接口-管理后台.md @@ -7,12 +7,12 @@ author: "jw(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: "2026-09-20" -status_note: "后端已合并 dev-v3(df66ec357)并部署 TEST,网关实测 AC-1~AC-8 全通过。一处口径放宽 + 一个纯新增出参 + 一处写侧副作用。口径:全团需求汇总 GET /v3/admin/order/group-batch/{groupBatchId}/requirement-summary 的 dailyRoomBreakdown 与整体确认预检 GET .../requirement/confirm-check,此前都只认订单上的 needs_hotel 标记位,导致「标记说不需要住宿、定制师却已提交完整需求」的户被整户静默丢弃——间数不进汇总(页面用房表空白)、确认时也不放行给房务(需求填了没人配房);现在计入条件改为「标记为真 或 已提交有效需求」,打回态仍不计。新增出参 hotelFlagMismatchOrderCount 把这种不一致显式暴露。写侧:PUT /v3/admin/order/{id}/hotel-requirement 提交成功后,若该单 needs_hotel 不为真则就地置 1(单向 0→1,同事务,已为真时不写)——该标记原先只在创单时按产品有没有配酒店派生一次、之后全仓无写通道,存量错单改不回来。既有字段一个没删没改,入参与路径不变。" +status_note: "后端已合并 dev-v3(df66ec357)并部署 TEST,网关实测 AC-1~AC-8 全通过。一处口径放宽 + 一个纯新增出参 + 一处写侧副作用。口径:全团需求汇总 GET /v3/admin/order/group-batch/{groupBatchId}/requirement-summary 的 dailyRoomBreakdown 与整体确认预检 GET .../requirement/confirm-check,此前都只认订单上的 needs_hotel 标记位,导致「标记说不需要住宿、定制师却已提交完整需求」的户被整户静默丢弃——间数不进汇总(页面用房表空白)、确认时也不放行给房务(需求填了没人配房);现在计入条件改为「标记为真 或 已提交有效需求」,打回态仍不计。新增出参 hotelFlagMismatchOrderCount 把这种不一致显式暴露。写侧:PUT /v3/admin/order/{id}/hotel-requirement 提交成功后,若该单 needs_hotel 不为真则就地置 1(单向 0→1,同事务,已为真时不写)——该标记原先只在创单时按产品有没有配酒店派生一次、之后全仓无写通道,存量错单改不回来。既有字段一个没删没改,入参与路径不变。 前端实证维持 not_required(mmg 2026-09-20):requirement-summary/dailyRoomBreakdown/hotelNeededOrderCount/hotelFlagMismatchOrderCount 全仓零命中(汇总端点未接入,同 #7925/#7937 结论);confirm-check 已消费(orderV2GroupBatch.js)但出参结构不变,ready/missing 直渲自动受益;hotel-requirement 标记纠正为服务端同事务副作用、响应不变,零感知。" updated_at: "2026-09-20" base: "dev-v3" ---