--- schema: "hl-changelog/v2" ticket: "7042" title: "设置供应商列表按资源类型过滤" consumer: "admin" author: "lc(GIT)" change_type: "前端缺陷" backend_status: "not_required" gateway_status: "not_required" frontend_status: "pending" frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "" status_note: "后端现有 typeCode 筛选与关系类型门禁正确;首次设置供应商时前端未传资源对应类型。当前状态:待前端处理。" updated_at: "2026-09-03" base: "dev-v3" --- # 设置供应商列表按资源类型过滤 后端接口、字段和错误码均无变化。本条仅明确管理端资源页面调用现有供应商接口的正确方式;当前状态:**待前端处理**。 ## 接口与字段 - 列表接口:`GET /admin/supplier/items/list` - 请求参数:`status=ACTIVE`、`typeCode=<当前资源要求的供应商类型>`、`limit=200`;搜索时继续传 `keyword`。 - 响应:`data[]` 中每个供应商都具有请求的有效 `typeCode` 关系;`types[]` 仍返回该供应商的有效类型列表。 - 关系写接口:`PUT /admin/supplier/resource-relations/{resourceModule}/{resourceId}/update`。对必须显式指定或允许覆盖类型的模块,`requiredTypeCode` 应与列表请求的 `typeCode` 一致。 ## 资源类型口径 | `resourceModule` | 列表 `typeCode` | | --- | --- | | `SCENIC` | `SCENIC` | | `RESTAURANT` | `RESTAURANT` | | `HOTEL` | `HOTEL` | | `VEHICLE` | `FLEET` | | `SUPPLIES_COMBO` | `SUPPLIES` | | `SUPPLIES` | 默认 `SUPPLIES`;存在明确的有效要求类型时使用该类型 | | `SERVICE` | 默认 `SERVICE`;存在明确的有效要求类型时使用该类型 | | `ACTIVITY`、`COST_ITEM`、`STAFF` | 使用当前资源业务上下文明确的要求类型,不得省略 | 景区管理的调用示例:`GET /admin/supplier/items/list?status=ACTIVE&typeCode=SCENIC&limit=200`。该列表不得显示仅具有 `FLEET` 类型、没有 `SCENIC` 类型的供应商。 ## 前端处理要求 1. 在首次设置供应商和已有关系改绑两种入口打开选择器前,先从资源模块或资源业务上下文确定要求类型,再把该值作为列表接口的 `typeCode`;不得只从已有关系的 `requiredTypeCode` 取值。 2. 查询当前关系返回业务码 `395038` 只表示尚未绑定,不能据此清空类型并请求全部 `ACTIVE` 供应商;无法确定要求类型时不要展示未过滤列表。 3. 统一响应可能使用 HTTP 200 表达业务失败,继续判断 `code`、`success` 和 `data`。关系写入返回 `395037` 时表示目标供应商类型不满足资源要求。 ## 变更与撤回 - 后端源码、前端源码、接口、数据库、配置、Redis 和 MQ 均无变更。 - 如需撤回联调说明,精确回退本 Changelog 提交并推送 `main`;既有运行契约不受影响。 ## 关联 - Issue:[#7042](https://git.1814.love:8443/wx/HL/issues/7042) - 后端联系人:@lc