diff --git a/changelogs/2026-07/14_fix_grassland_guide_operator_display_name.md b/changelogs/2026-07/14_fix_grassland_guide_operator_display_name.md new file mode 100644 index 0000000..96bec3a --- /dev/null +++ b/changelogs/2026-07/14_fix_grassland_guide_operator_display_name.md @@ -0,0 +1,38 @@ +# 草原指南操作人名称展示规则修正 + +> 日期:2026-07-14 +> +> 后端 Issue:[HL #4983](https://git.1814.love:8443/wx/HL/issues/4983) +> +> 发布范围:先合入 `dev`,再同步 `dev-v3` 并部署 TEST;当前不合入 `main`、不部署正式环境 + +## 1. 变更内容 + +草原指南操作记录分页接口的路径、请求参数和响应结构均不变,仅修正 `operatorName` 的取值规则: + +```http +GET /admin/grassland-guide/videos/{videoId}/operation-logs?page=1&pageSize=20 +``` + +- 新产生的操作记录:优先保存当前管理员的企业微信姓名;未绑定企业微信或姓名为空时,保存管理员用户名。 +- 历史记录已有非空 `operatorName`:继续展示原快照,不随管理员后续改名而变化。 +- 历史记录的 `operatorName` 为空:后端按当前页涉及的管理员 ID 一次批量解析,企业微信姓名优先、用户名兜底。 +- 管理员资料已不存在或用户服务暂时不可用时,才降级显示 `管理员#ID`;系统操作显示 `系统`。 + +## 2. 前端处理 + +- 前端无需新增字段、无需修改请求,也不要自行根据 `operatorId` 拼接名称。 +- 继续直接展示接口返回的 `operatorName`。 +- 部署后重新请求操作记录列表即可看到修正后的历史空名称;无需清理前端缓存。 +- `operatorId` 仍按字符串处理,不能转为 JavaScript `Number`。 + +## 3. 兼容性说明 + +- 不修改数据库结构,不回填或覆盖已有操作人名称快照。 +- 历史空快照的名称解析按页批量执行,不产生逐条查询。 +- 用户服务查询异常不会导致操作记录分页接口失败。 +- 本文件只说明操作人名称展示规则,不与操作记录分页、素材上传或视频播放变更合并记录。 + +## 4. TEST 验证状态 + +- 后端单元及模块回归已通过;`dev → dev-v3 → TEST` 部署与真实历史数据验证完成后补充本节证据。