这个提交包含在:
@@ -0,0 +1,69 @@
|
||||
---
|
||||
schema: "hl-changelog/v2"
|
||||
ticket: "6313"
|
||||
title: "景区资源列表增加供应商全称字段"
|
||||
consumer: "admin"
|
||||
author: "lc(GIT)"
|
||||
change_type: "修改接口"
|
||||
backend_status: "deployed"
|
||||
gateway_status: "verified"
|
||||
frontend_status: "pending"
|
||||
frontend_owner: ""
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: ""
|
||||
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
|
||||
在新工单中引用
屏蔽一个用户