hl-api-changelog/changelogs-v2/2026-07/23_5193_用车需求增加独立接机送机选择-修改接口-管理后台.md
Mimingguang 7d76ee0cde
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
chore(changelog): 标记 #5193 被后续契约取代
修改原因:#5236 已明确 supersedes #5193,并由前端提交 85851ad6 删除独立接送开关、停止提交兼容字段,继续执行旧契约会回滚现行大交通聚合口径。

修改内容:将 #5193 的前端消费状态从 claimed 收口为 not_required,清理旧负责人并补齐新版消费元数据和取代原因。

实际验证:相关前端 5 个 Vitest 文件共 50 项通过;changelog 仓库 46 项测试通过;path alias 校验与 git diff --check 通过。

Changelog: changelogs-v2/2026-07/23_5193_用车需求增加独立接机送机选择-修改接口-管理后台.md
2026-07-27 00:04:57 +08:00

6.5 KiB

schema, ticket, title, consumer, backend, gateway, frontend, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
schema ticket title consumer backend gateway frontend frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base generated
hl-changelog/v1 5193 用车需求增加独立接机送机选择 admin verified verified not_required not_required #5236 明确 supersedes #5193;85851ad6 已删除独立开关并改用实时大交通聚合,继续实现会回滚后续契约。 2026-07-27 dev-v3 2026-07-23T17:39:06+08:00

【修改接口·前端待处理·管理后台】用车需求增加独立接机送机选择

目标前端

  • 端类型管理后台Web
  • 目标仓库:mmg/hl-ui
  • 目标分支:v2.1
  • 联调/验收环境:http://192.168.100.160:9527
  • 小程序:无需处理

服务: hl-order-service-v3、hl-fleet-service

工单: wx/HL#5193

影响范围: 提交/调整用车需求、订单详情用车摘要、车务派单详情

业务口径

“是否需要平台接送”拆分为两个相互独立的业务选择:

  • pickupRequired:是否需要平台接机/接站;
  • dropoffRequired:是否需要平台送机/送站。

提交用车需求时两个选项默认都选中,即默认都为 true。定制师可以分别取消,支持四种组合。接机与送机选择是用车需求本身的明确口径,不从航班、站点、接送时间或大交通批次推断。

一、提交/调整用车需求

1. 直接提交或修改

PUT /v3/admin/order/{id}/vehicle-requirement

请求体新增:

{
  "fleet": [
    {
      "vehicleType": "SUV",
      "seats": 7,
      "count": 1
    }
  ],
  "pickupRequired": true,
  "dropoffRequired": true,
  "specialTags": ["中文司机"],
  "remark": "司机会蒙语"
}

2. 调整订单

POST /v3/admin/order/{id}/adjustment/submit

updates.vehicleRequirement 新增相同字段:

{
  "updates": {
    "vehicleRequirement": {
      "fleet": [
        {
          "vehicleType": "SUV",
          "seats": 7,
          "count": 1
        }
      ],
      "pickupRequired": false,
      "dropoffRequired": true,
      "specialTags": [],
      "remark": ""
    }
  }
}
字段 类型 必填 说明
pickupRequired Boolean 前端应显式提交 true 需要接机/接站,false 不需要
dropoffRequired Boolean 前端应显式提交 true 需要送机/送站,false 不需要

兼容规则:

  • 首次提交缺少字段时,后端按 true 保存;
  • 修改或调整既有需求时缺少字段,后端继承当前有效需求的原值;
  • 前端不要依赖兼容兜底,提交时始终显式发送两个字段。

二、前端表单

在“车辆安排/提交用车需求”表单中增加两个独立开关或复选框:

  • 是否需要接机/接站;
  • 是否需要送机/送站。

交互要求:

  • 新建用车需求时两个选项默认选中;
  • 编辑或调整时以接口回显值为准,不要每次强制重置为选中;
  • 两个选项均可独立取消,不做互斥或联动;
  • 不根据有没有大交通、航班时间或站点决定勾选状态。

三、回显接口

以下响应均新增 pickupRequireddropoffRequired,用于无损回显:

  • 用车需求提交/修改响应;
  • GET /v3/admin/order/{id}/adjustment/snapshotdata.vehicleRequirement
  • GET /v3/admin/order/{id}/itinerarydata.vehicleGroup.requirement
  • order-v3 内部用车需求契约。

示例:

{
  "pickupRequired": false,
  "dropoffRequired": true
}

四、车务派单详情

GET /admin/fleet/board/orders/{orderId}data.transport 新增/明确返回:

{
  "pickupRequired": false,
  "dropoffRequired": true
}

这两个值来自订单当前有效用车需求,是车务详情页展示的权威值。前端不得再用抵达/返程班次、站点、接送时间或批次记录推断。

页面分别显示:

字段值 接机标签 送机标签
true 需要平台接机 需要平台送机
false 无需平台接机 无需平台送机

不要再合并显示单个“需要平台接送”标签。滚动部署期间若字段暂为 null,可以暂不显示对应标签;部署完成后现有历史需求会按默认值返回 true

五、前端处理清单

  • 提交用车需求表单增加“是否需要接机/接站”和“是否需要送机/送站”。
  • 新建时两个选项默认选中,提交时显式发送两个 Boolean。
  • 调整订单预填读取 vehicleRequirement.pickupRequired/dropoffRequired,不覆盖既有值。
  • 订单详情用车需求摘要按两个字段分别展示。
  • 车务派单详情按 transport.pickupRequired/dropoffRequired 分别展示接机、送机标签。
  • 不再展示单个“需要平台接送”,不根据大交通信息反推。
  • 覆盖需要/不需要的四种组合及旧需求默认双 true

六、不影响范围

  • 大交通录入中的批次级 pickupRequired 继续表示该批次自身是否接送,本次不修改其录入和计算逻辑。
  • 接送班次、站点、时间和备注字段结构不变。
  • 车型、座位数、数量、特殊诉求和备注提交结构不变。

七、验证证据

  • 后端提交:2112396b1;PRwx/HL#5197,已合并 dev-v3(合并提交 f9e05fbe4)。
  • 用车需求默认值、显式选择、版本继承、调整透传、订单详情回显及 order-v3 → fleet 契约均有单元测试覆盖。
  • order-v3 定向测试 311 项、fleet board 定向测试 49 项通过。
  • mvn -pl hl-order-service-v3 -am verifymvn -pl hl-fleet-service -am verify 和 fleet spotless:check 全部通过。
  • 测试环境滚动部署成功order-v3 任务 af6ff925,8086/8186 两实例健康;fleet 任务 e11bca29,8087/8187 两实例健康。
  • admin 车务经网关查询团号 26-8550 的派车详情,HTTP/code 200,transport.pickupRequired=truetransport.dropoffRequired=true
  • wx 定制师经网关查询同订单调整预填,HTTP/code 200,vehicleRequirement.pickupRequired=truevehicleRequirement.dropoffRequired=true
  • 测试库只读核验:两列均为 NOT NULL DEFAULT 1,该历史活动需求已迁移为 1/1

本文是前端接入通知,不代表已修改或发布 mmg/hl-ui;前端按“前端处理清单”接入即可。