From ef1f72e19547efb1cfd41f6eae67dcbeee212150 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sat, 13 Jun 2026 17:37:46 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E8=A1=A5/list=E5=88=AB=E5=90=8D=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=85=B3=E8=81=94=E8=AE=A2=E5=8D=95=E4=B8=8B=E6=8B=89id=3Dlist?= =?UTF-8?q?=E6=8A=A5=E9=94=99(PR#3798=E5=90=8E=E7=AB=AF=E5=B7=B2=E4=BF=AE?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E6=97=A0=E9=9C=80=E6=94=B9)+=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E4=B8=8A=E6=9D=A1=E6=88=BF=E9=A3=8E=E6=A0=BC=E8=AF=B4?= =?UTF-8?q?=E6=B3=95=20[=E5=89=8D=E7=AB=AF=E9=80=9A=E7=9F=A5]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- ...联订单下拉id-list报错-后端已修前端无需改-管理后台.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 changelogs-v2/2026-06/13_3798_订单列表补list别名修复关联订单下拉id-list报错-后端已修前端无需改-管理后台.md diff --git a/changelogs-v2/2026-06/13_3798_订单列表补list别名修复关联订单下拉id-list报错-后端已修前端无需改-管理后台.md b/changelogs-v2/2026-06/13_3798_订单列表补list别名修复关联订单下拉id-list报错-后端已修前端无需改-管理后台.md new file mode 100644 index 0000000..ebd311b --- /dev/null +++ b/changelogs-v2/2026-06/13_3798_订单列表补list别名修复关联订单下拉id-list报错-后端已修前端无需改-管理后台.md @@ -0,0 +1,38 @@ +# 【后端已修·管理后台】投保下单「关联订单」下拉报「参数类型错误: id='list'」——后端给订单列表补了 `/list` 别名,前端无需再改 + +> 服务:hl-order-service-v3(OrderController) | 分支:dev-v3 | PR:#3798(已合并、已部署测试服双实例 8086/8186、网关 9443 往返实测通过) | 2026-06-13 +> 背景:前端按上一条 changelog 把保险订单**列表**改成 `/v3/admin/insurance/list` 后,「保险订单」页投保下单弹窗里的**「关联订单」下拉**仍报红条 `参数类型错误: id='list'(需要 Long 类型)`,实际失败请求是 `GET /v3/admin/order/list?page=1&pageSize=20`。 + +## ⚠️ 关键说明 + +1. **这是和保险列表不同的另一个调用**:「关联订单」下拉搜的是**业务订单**,调的是 `GET /v3/admin/order/list`(order 模块),不是保险列表。 +2. **根因**:order 模块的订单列表原本只挂在 RESTful 集合根 `GET /v3/admin/order`(没有 `/list`),详情是 `GET /v3/admin/order/{id}`;前端按「{模块}/list」习惯调 `/order/list` 时,`list` 落到 `/{id}` 上当 Long 解析失败 → 报 `id='list'`。order 模块是各 admin 列表里唯一用集合根的「异类」,所以前端必踩。 +3. **后端已修(PR #3798)**:给订单列表同时挂载根 + `/list` 两条路径。**前端那条现成的 `GET /v3/admin/order/list` 调用现在直接返回 200,无需任何前端改动**,部署后刷新页面红条即消失。 + +## ⚠️ 对上一条 changelog 的修正 + +上一条(`13_前端修复_保险订单列表调错路径...`)我说「v3 全站 admin 列表统一 `{模块}/list`」——这对保险/合同/退款/评价/支付成立,但 **order 模块当时是个例外(用集合根)**,所以才有这次的 `/order/list` 报错。本次 PR #3798 把 order 也补上了 `/list`,**现在 `{模块}/list` 这个习惯对订单也成立了**,前端可放心统一用 `{base}/list`。 + +## 路径现状(部署后) + +| 用途 | 可用路径 | 说明 | +|---|---|---| +| 保险订单列表 | `GET /v3/admin/insurance/list` | 上条已说明 | +| **业务订单列表(关联订单下拉用)** | `GET /v3/admin/order/list` ✅ 与 `GET /v3/admin/order` ✅ | 本次新增 `/list` 别名,两者等价 | +| 业务订单详情 | `GET /v3/admin/order/{id}`(id 为 Long) | 不变 | +| 订单关键词搜索 | `GET /v3/admin/order/list?keyword=xxx` | `keyword` 匹配 团号/客户姓名/产品名/订单号 任一字段 LIKE | + +## 实测(测试服网关 https://api.test.1814.love:9443,PR #3798 部署后) + +``` +GET /v3/admin/order/list?page=1&pageSize=20 → {"code":200,"message":"成功","data":{"records":[],"total":0,...}} ✅ 不再报 id=list +GET /v3/admin/order?page=1&pageSize=20 → {"code":200,...} ✅ 回归正常 +GET /v3/admin/order/list?page=1&pageSize=20&keyword=张 → {"code":200,...} ✅ 关键词搜索可用 +GET /v3/admin/order/123 → {"code":581007,"message":"订单不存在"} ✅ 数字 id 仍正确解析(详情未受影响) +``` + +> 注:返回 `records:[] / total:0` 是测试库当前没有该 admin 可见的业务订单(数据条件,非接口问题);有真实订单时「关联订单」下拉即有数据。 + +## 影响面 + +仅 `OrderController.listOrders` 的 `@GetMapping` 由根改为 `@GetMapping({"", "/list"})`,单 handler 双路径;**零新增方法、零行为变化、无 DDL、无 Flyway、无新增错误码**,网关 `/v3/admin/order/**` 通配已覆盖。