--- schema: "hl-changelog/v2" ticket: "6313" title: "景区资源列表增加供应商全称字段" consumer: "admin" author: "lc(GIT)" change_type: "修改接口" backend_status: "deployed" gateway_status: "verified" frontend_status: "verified" frontend_owner: "mmg" frontend_ref: "3c0edfd7" target_release: "" verified_at: "2026-08-25" status_note: "PR #6315 已合并 dev-v3,合并提交 ae76a3407 已随 Resource 双实例滚动部署到 TEST。管理端景区分页列表现固定返回 supplierFullName;有效关联返回供应商当前全称,未关联或关系主体缺失返回 null。管理端列表列展示仍待前端接入。" updated_at: "2026-08-25" base: "dev-v3" --- # 景区资源列表增加供应商全称字段 管理端景区分页列表新增供应商全称响应字段,供资源列表直接展示当前有效关联的供应商名称。字段只扩展管理端列表响应,不改变查询参数、分页、排序、权限或既有业务错误。 ## 变更接口 | 方法 | 路径 | 新增字段 | 类型 | 语义 | |---|---|---|---|---| | GET | `/admin/scenic/spots` | `data.records[].supplierFullName` | `String \| null` | 当前有效供应商关系对应的供应商全称;无有效关系或主体缺失时为 `null` | `supplierFullName` 在每条管理端景区记录中固定存在。客户端可按可空字符串处理,不需要根据字段是否存在做兼容分支。 ## 取值规则 - 只匹配当前未删除、`resourceModule=SCENIC` 且 `activeFlag=1` 的供应商资源关系。 - 返回供应商主体当前的 `fullName`,不保存名称快照;供应商改名后列表随当前值更新。 - 供应商处于暂停合作等非删除状态时仍显示全称。 - 景区未绑定供应商时返回 `null`。 - 有效关系指向已删除或缺失主体时记录服务端告警并返回 `null`,不会中断整页查询。 ## 性能、安全与兼容性 - 空页不追加供应商查询;非空页最多一次批量查询关系、一次批量查询供应商主体,不产生逐行查询。 - 供应商查询只投影标识和全称,不读取或返回税号、账户、联系人、资质等敏感字段。 - `/internal/mp/scenic/list`、景区详情及其他资源列表不新增该字段。 - 不新增筛选或排序能力,不修改请求参数、统一响应结构、权限、错误码、Gateway 路由或跨服务契约。 - 不涉及数据库 migration、配置、Redis、MQ 或数据回写。 - 管理端当前页面尚未增加“供应商全称”列;前端接入时直接读取 `supplierFullName`,并将 `null` 展示为空值占位即可。 ## 验证证据 - 自动化:定向测试 `24/24` 通过;Resource 全量 `1977` 项零失败、零错误(38 项仓库既有条件跳过);结构检查和独立合并后审计通过。 - 部署:TEST 任务 `447a06bc` 退出码 0,`hl-resource-service` 的 8182、8082 双实例依次健康;服务器 HEAD `29d7c011e` 明确包含合并提交 `ae76a3407`。 - 真实 Gateway:首屏 10 条记录全部包含 `supplierFullName`,其中同时覆盖非空名称与 `null`;无匹配条件返回 `total=0`、空 `records`;统一响应 `code=200`、`success=true`。 - 认证:不带 `Authorization` 的请求返回业务码 `401`、`success=false`、`data=null`。 - 清理:验收只执行只读 GET,查询条件已重置;未写入数据库、缓存、MQ、审批、派单或会话数据。 ## 撤回 1. 从最新 `dev-v3` 创建回退分支,执行 `git revert -m 1 --no-edit ae76a3407b5f1b2d50b0f347eb4420aaa7649435`,经独立 PR 合入。 2. 重新构建并滚动部署 `hl-resource-service`;无需恢复数据库、配置、Redis 或 MQ。 3. 撤回前调用方停止依赖 `supplierFullName`;撤回不会修改景区、供应商或关联数据。 4. 撤回后经 Gateway 复测 `/admin/scenic/spots` 恢复旧响应,并确认 `/internal/mp/scenic/list`、分页和筛选保持正常。 ## 关联 / 联系人 - **Issue**: [#6313](https://git.1814.love:8443/wx/HL/issues/6313) - **PR**: [#6315](https://git.1814.love:8443/wx/HL/pulls/6315) - **合并提交**: [ae76a3407](https://git.1814.love:8443/wx/HL/commit/ae76a3407b5f1b2d50b0f347eb4420aaa7649435) - **后端负责人**: @lc