非订单管理页面统一使用团号:补齐团号字段与搜索能力 #64

已关闭
mmg2026-07-31 09:42:54 +08:00创建 · 2 评论
管理员

背景

产品要求:除“订单管理”模块外,管理后台其他页面不再展示或搜索订单号,统一使用团号。前端盘点发现部分接口当前只返回 orderNo / orderId,或只支持订单号搜索,不能通过改标签伪装成团号。

统一要求

  • 下列响应补 teamNo: String|null;投诉域已有 groupCode,保持现状。
  • 通用 keyword 增加团号模糊搜索;独立搜索按需增加 teamNo 参数。
  • 团号不存在时返回 null,前端展示 -,不得回退订单号。
  • orderId、派单 ID、需求 ID 等雪花 ID 继续按 JSON String 返回并用于路由/动作。
  • 不要求删除后端 orderNo;订单管理模块和内部关联逻辑仍可使用。

待补接口

工作台与个人中心

  • GET /admin/profile/dashboard
    • ADMIN/CUSTOMIZER.upcomingTrips[]teamNo
    • ROOM_MANAGER.upcomingTrips[]/todoCards[]teamNo
    • VEHICLE_MANAGER.upcomingTrips[] 已有 teamNo,无需修改。
  • GET /admin/profile/orders:列表项补 teamNokeyword 支持团号。

合同与评价

  • GET /admin/contract/list:列表项补 teamNo,增加团号查询能力;orderId 保留内部关联。
  • GET /admin/review/list:列表项补 teamNokeyword 支持团号。
  • GET /admin/review/{reviewId}:详情补 teamNo

车务

  • GET /admin/fleet/insurance/tasks:任务项补 teamNo,增加 teamNo 查询参数。
  • 司机当前订单、派车矩阵和甘特占用条相关响应:仅有 orderNo 的订单快照补 teamNo
  • 订单聊天会话列表项补 teamNo,供会话标题展示。

房务

  • 选单池、我的订单、待办列表项补 teamNokeyword 支持团号。
  • GET /v3/admin/house/reconciliation/monthly/hotel-orders:明细项补 teamNo
  • 详情中的 order.teamNo 保持,并保证列表/详情口径一致。

定制师 H5

  • 订单搜索 keyword 增加团号模糊搜索,结果项补 teamNo;详情跳转仍传字符串 orderId

已有字段、前端可直接调整

  • 预支审批、核团核算:teamNo
  • 投诉列表/详情:groupCode 且已有精确搜索。
  • 车务工作台与派车看板:teamNo

验收

  1. 上述响应同时返回字符串 orderIdteamNo,无团号明确返回 null
  2. 用真实团号可命中对应列表搜索。
  3. 同一订单跨工作台、车务、房务、合同、评价、消息的团号一致。
  4. 接口补齐后新增 changelog,逐项写明响应字段、查询参数、空值口径和验证证据,通知管理后台继续接入。
## 背景 产品要求:除“订单管理”模块外,管理后台其他页面不再展示或搜索订单号,统一使用团号。前端盘点发现部分接口当前只返回 `orderNo` / `orderId`,或只支持订单号搜索,不能通过改标签伪装成团号。 ## 统一要求 - 下列响应补 `teamNo: String|null`;投诉域已有 `groupCode`,保持现状。 - 通用 `keyword` 增加团号模糊搜索;独立搜索按需增加 `teamNo` 参数。 - 团号不存在时返回 `null`,前端展示 `-`,不得回退订单号。 - `orderId`、派单 ID、需求 ID 等雪花 ID 继续按 JSON String 返回并用于路由/动作。 - 不要求删除后端 `orderNo`;订单管理模块和内部关联逻辑仍可使用。 ## 待补接口 ### 工作台与个人中心 - `GET /admin/profile/dashboard` - `ADMIN/CUSTOMIZER.upcomingTrips[]` 补 `teamNo`。 - `ROOM_MANAGER.upcomingTrips[]/todoCards[]` 补 `teamNo`。 - `VEHICLE_MANAGER.upcomingTrips[]` 已有 `teamNo`,无需修改。 - `GET /admin/profile/orders`:列表项补 `teamNo`,`keyword` 支持团号。 ### 合同与评价 - `GET /admin/contract/list`:列表项补 `teamNo`,增加团号查询能力;`orderId` 保留内部关联。 - `GET /admin/review/list`:列表项补 `teamNo`,`keyword` 支持团号。 - `GET /admin/review/{reviewId}`:详情补 `teamNo`。 ### 车务 - `GET /admin/fleet/insurance/tasks`:任务项补 `teamNo`,增加 `teamNo` 查询参数。 - 司机当前订单、派车矩阵和甘特占用条相关响应:仅有 `orderNo` 的订单快照补 `teamNo`。 - 订单聊天会话列表项补 `teamNo`,供会话标题展示。 ### 房务 - 选单池、我的订单、待办列表项补 `teamNo`,`keyword` 支持团号。 - `GET /v3/admin/house/reconciliation/monthly/hotel-orders`:明细项补 `teamNo`。 - 详情中的 `order.teamNo` 保持,并保证列表/详情口径一致。 ### 定制师 H5 - 订单搜索 `keyword` 增加团号模糊搜索,结果项补 `teamNo`;详情跳转仍传字符串 `orderId`。 ## 已有字段、前端可直接调整 - 预支审批、核团核算:`teamNo`。 - 投诉列表/详情:`groupCode` 且已有精确搜索。 - 车务工作台与派车看板:`teamNo`。 ## 验收 1. 上述响应同时返回字符串 `orderId` 与 `teamNo`,无团号明确返回 `null`。 2. 用真实团号可命中对应列表搜索。 3. 同一订单跨工作台、车务、房务、合同、评价、消息的团号一致。 4. 接口补齐后新增 changelog,逐项写明响应字段、查询参数、空值口径和验证证据,通知管理后台继续接入。
yst2026-07-31 09:42:54 +08:00mmg 指派
wx2026-07-31 09:42:54 +08:00mmg 指派
管理员

后端交接更新:wx/HL#5368 / #5374

后端 WIP PR:wx/HL#5386,目标 dev-v3

前端契约:

  1. 非订单页面统一读取 teamNo: String|nullnull 时显示空态,禁止用 orderNo 回退。
  2. orderNo 继续作为订单号独立展示;Fleet 司机详情兼容 groupNoteamNo 同源、同空值。
  3. Contract/Review/HOUSE/Fleet 团号搜索由后端在分页前完成,前端提交 teamNo,不要把订单号填入团号条件。
  4. 用户可见 ID 按 JSON String 保存、比较和提交,禁止转 JavaScript Number
  5. Dashboard 仅 upcomingTrips 内部路由 order-v2,其余统计仍为 order-v3;前端响应字段保持兼容。

当前状态保持 pending:Swagger/OAS diff、Springfox ID schema、MySQL8 实跑及测试网关跨页面 E2E 尚未闭环,后端 Issue 仍 0/13。正式 changelog 两份草稿已按 #5368/#5374 准备,但仓库发布门禁要求 backend_status=deployedgateway_status!=pending;本任务明确禁止部署,故未伪造状态、未发布草稿。PR 合并部署并形成网关证据后再按门禁发布。

## 后端交接更新:wx/HL#5368 / #5374 后端 WIP PR:[wx/HL#5386](https://git.1814.love:8443/wx/HL/pulls/5386),目标 `dev-v3`。 前端契约: 1. 非订单页面统一读取 `teamNo: String|null`;`null` 时显示空态,禁止用 `orderNo` 回退。 2. `orderNo` 继续作为订单号独立展示;Fleet 司机详情兼容 `groupNo` 与 `teamNo` 同源、同空值。 3. Contract/Review/HOUSE/Fleet 团号搜索由后端在分页前完成,前端提交 `teamNo`,不要把订单号填入团号条件。 4. 用户可见 ID 按 JSON String 保存、比较和提交,禁止转 JavaScript `Number`。 5. Dashboard 仅 upcomingTrips 内部路由 order-v2,其余统计仍为 order-v3;前端响应字段保持兼容。 当前状态保持 pending:Swagger/OAS diff、Springfox ID schema、MySQL8 实跑及测试网关跨页面 E2E 尚未闭环,后端 Issue 仍 0/13。正式 changelog 两份草稿已按 #5368/#5374 准备,但仓库发布门禁要求 `backend_status=deployed` 且 `gateway_status!=pending`;本任务明确禁止部署,故未伪造状态、未发布草稿。PR 合并部署并形成网关证据后再按门禁发布。
管理员

#5368 后端交接完成(backend=deployed,gateway=verified)

PR wx/HL#5386 已合并至 dev-v3@07834e4c5,order-v2/order-v3/user/fleet 已部署 TEST 并经网关验证。交接文档已更新:changelogs-v2/2026-07/31_5368_非订单页面统一补齐真实团号与团号搜索-修改接口-管理后台.md

关键口径(yst 契约裁决 2026-08-03,承接 #5372)

  • /internal/order/designer-list 不新增 teamNo,仅扩展 keyword 对真实 groupCode 的模糊搜索;对外 /admin/order/list/admin/profile/orders 返回 teamNo: String|null,user-service 在公开边界执行 teamNo = groupCode
  • 其余页面统一 teamNo: String|null,无团号返回 null,禁止 orderNo 回退;雪花 ID 保持 JSON String。

网关实测证据(api.test.1814.love:9443)

  • /admin/profile/ordersteamNo=groupCode,keyword 团号搜索 total 正确
  • /admin/order/list:返回 teamNo,keyword 团号模糊命中
  • /v3/admin/contract/list|{id}:teamNo 过滤分页前生效(精确/模糊 total 正确),detail 返回 teamNo
  • /admin/fleet/insurance/tasks:返回 teamNo,可按 teamNo 查询(命中/不命中)
  • /admin/fleet/board/orders:teamNo 搜索仅匹配真实团号(orderNo 片段不命中)
  • /admin/message/chat/conversations:订单会话 teamNo,非订单 null
  • /v3/admin/house/reconciliation/monthly/hotel-orders:返回 teamNo
  • 同一订单 2079576729147338754 跨 contract/月度对账均为 26-4165

前端请按自身流程消费,完成后回填 frontend_statusfrontend_status 当前保持 pending

## #5368 后端交接完成(backend=deployed,gateway=verified) PR [wx/HL#5386](https://git.1814.love:8443/wx/HL/pulls/5386) 已合并至 `dev-v3@07834e4c5`,order-v2/order-v3/user/fleet 已部署 TEST 并经网关验证。交接文档已更新:`changelogs-v2/2026-07/31_5368_非订单页面统一补齐真实团号与团号搜索-修改接口-管理后台.md`。 ### 关键口径(yst 契约裁决 2026-08-03,承接 #5372) - `/internal/order/designer-list` **不新增 `teamNo`**,仅扩展 keyword 对真实 `groupCode` 的模糊搜索;对外 `/admin/order/list` 与 `/admin/profile/orders` 返回 `teamNo: String|null`,user-service 在公开边界执行 `teamNo = groupCode`。 - 其余页面统一 `teamNo: String|null`,无团号返回 `null`,禁止 `orderNo` 回退;雪花 ID 保持 JSON String。 ### 网关实测证据(api.test.1814.love:9443) - `/admin/profile/orders`:`teamNo=groupCode`,keyword 团号搜索 total 正确 - `/admin/order/list`:返回 teamNo,keyword 团号模糊命中 - `/v3/admin/contract/list|{id}`:teamNo 过滤分页前生效(精确/模糊 total 正确),detail 返回 teamNo - `/admin/fleet/insurance/tasks`:返回 teamNo,可按 teamNo 查询(命中/不命中) - `/admin/fleet/board/orders`:teamNo 搜索仅匹配真实团号(orderNo 片段不命中) - `/admin/message/chat/conversations`:订单会话 teamNo,非订单 null - `/v3/admin/house/reconciliation/monthly/hotel-orders`:返回 teamNo - 同一订单 2079576729147338754 跨 contract/月度对账均为 `26-4165` 前端请按自身流程消费,完成后回填 `frontend_status`;`frontend_status` 当前保持 `pending`。
wx2026-08-10 09:44:06 +08:00 关闭此工单
登录 并参与到对话中。
未选择标签
2 名参与者
通知
到期时间
未设置到期时间。
依赖工单

没有设置依赖项。

参考:wx/hl-api-changelog#64
没有提供说明。