hl-api-changelog/changelogs-v2/2026-08/18_6045_确认执行页行程短信按槽位独立选择-修改接口-管理后台.md
Mimingguang 012e2e2a9a
一些检查失败了
changelog-filename-gate / validate (push) Failing after 2s
docs(changelogs-v2): #6045 回写 verified(frontend_ref=e94c0333)
2026-08-19 09:07:25 +08:00

4.2 KiB

schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
schema ticket title consumer author change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base generated
hl-changelog/v2 6045 确认执行页行程短信按槽位独立选择groups[].sendItinerarySms admin wx 修改接口 deployed verified verified mmg e94c0333 2026-08-18 后端完成PR #6049 已合并 dev-v34f32480f1并部署 TESThl-fleet-service 双实例 18:27 重启、jar 18:27:32 更新)。后端 confirmRequirement 自 #5827 起已按槽位落地groups[].sendItinerarySms 逐组独立创建/跳过 ITINERARY_SMS 事件),本次 #6045 正式补录 §8.3a 契约 + 测试补强(混合决策逐组事件断言 + 决策缺失 605056 拦截)。网关实测:需求级 confirm 带 null sendItinerarySms → 400「请选择是否向本段司机发送行程短信」按槽位必填校验生效。前端需按槽位渲染选择器、全部槽位选定后才可提交。 2026-08-18 dev-v3 2026-08-18T11:20:00+08:00

确认执行页行程短信按槽位独立选择

前端契约交接(#6045。后端能力已具备#5827 起按槽位),前端需适配 UI 与提交结构。

变更接口

需求级原子确认POST /admin/fleet/assignments/requirements/{requirementId}/confirm

整组确认执行页当前已调用;§8.3a 契约详见 API-SPEC-FLEET-V1.5

入参变更(关键字段)

groups[] 逐槽位携带 sendItinerarySms(布尔,必填

{
  "orderId": "1934567890123456789",
  "requestId": "fleet-confirm-20260815-001",
  "expectedRequirementVersion": 3,
  "expectedRequirementSha256": "<Board 返回的 64 位 hex>",
  "expectedPlanGeneration": 1024,
  "groups": [
    { "assignmentGroupId": "<执行段1 ID>", "sendItinerarySms": true },
    { "assignmentGroupId": "<执行段2 ID>", "sendItinerarySms": false }
  ]
}

前端要求

  1. 「行程短信」区块按执行段(槽位)逐个渲染「发送短信 / 不发送短信」选择器,逐槽位独立提交 groups[].sendItinerarySms
  2. 可部分槽位发、部分槽位不发(槽位 1 发、槽位 2 不发可正常提交)。
  3. 全部槽位都选定后才允许点「确认订单执行」;任一槽位未选禁用按钮并提示(后端 605056「执行段集合已变化,请刷新后重试」兜底
  4. 「不发送短信」文案口径沿用:「仅不发送确认后的行程短信,派单通知短信仍会发送」。
  5. 单槽位订单退化为单选,行为与现状一致。
  6. 出参 groups[] 逐组返回 sendItinerarySms(可回显已选状态)。

错误码(新增感知)

  • 605056执行段集合已变化或槽位短信决策缺失刷新后重试,不可静默重发同 requestId 旧结构)

范围

  • 只影响确认后的行程短信;派单通知短信ASSIGNED 通知中心)不受影响。
  • 单组确认 POST /admin/fleet/assignments/{assignmentId}/confirm 入参 sendItinerarySms(单布尔)不变,单槽位退化路径继续使用。

验证证据

  • PR: #6049 squash 合并 dev-v3 → 4f32480f1head 分支已删)
  • 部署: Deploy Panel task 9f3d36e9 success;SSH 核实 hl-fleet-service 双实例 18:27 重启PID 4005261@8187 / 4006125@8087,jar 时间戳 2026-08-18 18:27:32,日志 Started FleetServiceApplication in 5.547s 无 ERROR
  • 网关实测api.test.1814.love:9443,admin 登录):
    • GET /admin/fleet/board/orders → 200fleet 服务在线)
    • POST /admin/fleet/assignments/requirements/{requirementId}/confirmgroups[].sendItinerarySms=null → code 400「请选择是否向本段司机发送行程短信」——按槽位必选校验真实生效
  • 测试: AssignmentServiceTest 509 绿(含 #6045 新增 2 用例:两槽位混合决策逐组事件断言、决策缺失 605056 拦截)+ AssignmentControllerTest 43 绿 + FleetRedLineArchTest 13 绿 + spotless:check 绿

关联 / 联系人