比较提交
4 次代码提交
36d2f83ead
...
ae331af398
| 作者 | SHA1 | 提交日期 | |
|---|---|---|---|
|
|
ae331af398 | ||
|
|
621ec3c9f1 | ||
|
|
70fefbcf45 | ||
|
|
257b72ff59 |
@ -10,9 +10,9 @@ gateway_status: "verified"
|
||||
frontend_status: "verified"
|
||||
frontend_owner: "mmg"
|
||||
frontend_ref: "01ae772f"
|
||||
target_release: ""
|
||||
target_release: "v2.1"
|
||||
verified_at: "2026-08-12"
|
||||
status_note: "后端已补 cell 明文字段并部署测试服实测通过(订单 26-0821 cells 08-18/19/20 返回 蒙A-K1999/巴根那/¥1500 明文)。前端两个缺陷点待修:①渲染栅格时把 cells[].vehiclePlate/driverName/protocolPrice 明文填进旧实派行(别只贴残留红标签留空数据列);②取消/删除派车成功后必须重拉 candidates 刷新栅格(26-3559 实测:删除后端已生效取消+释放占用,但前端没刷新仍显示旧行)。"
|
||||
status_note: "#5926 明文回显+删后刷新已由前端 01ae772f 验证;但原『取消残留派车』误用整槽接口导致 #5937 P0。逐日取消新契约以 #5937 为准:使用 cells[].assignmentId 调 POST /admin/fleet/assignments/{assignmentId}/cancel-residue,禁止老 DELETE /assignments/{assignmentId} 和槽位删除。#5937 前端状态仍 pending。"
|
||||
updated_at: "2026-08-12"
|
||||
base: "dev-v3"
|
||||
---
|
||||
@ -82,7 +82,7 @@ cells(槽位2 蒙A-T1557 朝鲁门 ¥1000):同样 4 天明文齐全
|
||||
|
||||
- 栅格日期轴用 `canonicalSnapshot.editableServiceDates` 建(已含旧日期 08-18~20),**不要**自己按当前需求窗建轴。
|
||||
- 逐行渲染时按 `cells[]` 里同 `serviceDate` 的 cell,把 `vehiclePlate`/`driverName`/`protocolPrice` 填进去——后端已回,别再只贴「改期残留」红标签留空数据列。
|
||||
- `rescheduleResidue=true` 的行继续挂「改期残留·待清理」徽标 + `canDelete=true` 提供醒目「取消残留派车」入口(调既有 `DELETE /admin/fleet/assignments/{assignmentId}`)。
|
||||
- `rescheduleResidue=true` 的行继续挂「改期残留·待清理」徽标;逐日取消必须按 #5937 使用 `cells[].assignmentId` 调 `POST /admin/fleet/assignments/{assignmentId}/cancel-residue`。**严禁**调用老 `DELETE /admin/fleet/assignments/{assignmentId}` 或槽位删除接口——二者均为整槽语义,会连带取消同槽其他日期。
|
||||
|
||||
## 验证证据(后端)
|
||||
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
---
|
||||
author: "wx(GIT)"
|
||||
schema: "hl-changelog/v2"
|
||||
ticket: "5933"
|
||||
title: "生成 H5 录入 token 支持 requestId 幂等键(防双击)"
|
||||
consumer: "admin"
|
||||
change_type: "修改接口"
|
||||
backend_status: "deployed"
|
||||
gateway_status: "verified"
|
||||
frontend_status: "pending"
|
||||
frontend_owner: "mmg"
|
||||
frontend_ref: "pending"
|
||||
target_release: "v2.1"
|
||||
verified_at: "2026-08-12"
|
||||
updated_at: "2026-08-12"
|
||||
status_note: "后端已于 2026-08-12 合并 PR #5940 并部署测试服验证:同 requestId 首次成功、30s 内第二次返回 100502、不同 requestId 成功;旧客户端不传 requestId 连续两次均成功。API-SPEC §13.6 同步补声明 contractVersion/segmentDays/serviceDates/segmentRoute。"
|
||||
base: "dev-v3"
|
||||
---
|
||||
|
||||
# 生成 H5 录入 token 支持 requestId 幂等键(#5933)
|
||||
|
||||
> **服务**:`hl-fleet-service`
|
||||
>
|
||||
> **Backend Issue**:[#5933](https://git.1814.love:8443/wx/HL/issues/5933)
|
||||
|
||||
## 变更接口
|
||||
|
||||
| 接口 | 方法 | 路径 | 变更类型 |
|
||||
|---|---|---|---|
|
||||
| 生成 H5 录入 token | `POST` | `/admin/fleet/h5/token` | additive 请求字段(可选 requestId) |
|
||||
|
||||
## 1. 变更内容
|
||||
|
||||
### 1.1 新增可选入参 `requestId`
|
||||
|
||||
`POST /admin/fleet/h5/token` 入参新增**可选** `requestId`:
|
||||
|
||||
| 字段 | JSON 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| `requestId` | `String` | 否 | 前端稳定幂等键(1-64 位,仅字母数字与 `._-`,建议 UUID)。同 `requestId` **30s 窗口内**重复请求被拒(`100502 请勿重复提交`),防双击 / 弱网重试重复建链 |
|
||||
|
||||
**前端适配(推荐)**:生成按钮点击时生成稳定唯一值(如 UUID),**重试沿用同一值**;作废后重新生成属不同业务动作,应换新 `requestId`。不传 `requestId` 完全兼容(后端跳过幂等,行为与旧版一致)。
|
||||
|
||||
**错误码新增触发场景**:`100502`(同 requestId 30s 内重复提交)。
|
||||
|
||||
### 1.2 行程单 H5 契约补声明(无接口变更)
|
||||
|
||||
`GET /app/h5/itinerary/{token}` 出参中的 `contractVersion` / `segmentDays` / `serviceDates[]` / `segmentRoute` 四字段随 #5364 已上线并交接(frontend_status=verified),本次仅补全 API-SPEC §13.6 文档声明,**接口与实现均无变化**,前端无需任何改动。
|
||||
|
||||
## 2. 兼容性
|
||||
|
||||
- `requestId` 可选:旧前端不传时行为与旧版完全一致(线上实测验证)。
|
||||
- 线上旧版本收到含 `requestId` 的请求体时忽略未知字段、正常生成(实测 200),前后端可异步上线。
|
||||
|
||||
## 3. 验证证据
|
||||
|
||||
- 后端 PR:`#5940`,squash merge `0792b27c`。
|
||||
- 测试服部署:Deploy Panel 任务 `d0c1a1ef`,`hl-fleet-service` / `dev-v3`,状态 `success`。
|
||||
- 自动化:H5 定向测试 88/88、Fleet ArchTest 13/13、spotless 通过。
|
||||
- 网关实测:
|
||||
- 同 `requestId` 首次调用 → `200/成功`;
|
||||
- 同键 30s 内第二次调用 → `100502/生成处理中,请勿重复提交`;
|
||||
- 不同 `requestId` → 各自成功;
|
||||
- 不传 `requestId` 连续两次 → 均成功。
|
||||
|
||||
## 4. 验收要点
|
||||
|
||||
- 同 `requestId` 30s 内第二次调用 → `100502 生成处理中,请勿重复提交`(测试服网关已验证)。
|
||||
- 不同 `requestId` 各自成功(测试服网关已验证)。
|
||||
- 不传 `requestId` 连续两次调用均成功(兼容路径,测试服网关已验证)。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户