diff --git a/changelogs/2026-05/18_fix_product_v2_snapshot_created_by_and_dialog_text.md b/changelogs/2026-05/18_fix_product_v2_snapshot_created_by_and_dialog_text.md new file mode 100644 index 0000000..1c18661 --- /dev/null +++ b/changelogs/2026-05/18_fix_product_v2_snapshot_created_by_and_dialog_text.md @@ -0,0 +1,86 @@ +# product-v2: 快照列表「创建人」回填 + 还原弹窗文案中文化(mmg 必看) + +> **服务**: hl-product-service-v2 (端口 8083) +> **PR**: #2529 +> **Issue**: #2528 +> **日期**: 2026-05-18 +> **影响范围**: 版本管理列表展示 + 还原版本弹窗文案 + +--- + +## ⚠️ mmg 必看 - 两件事 + +### 1. 后端 RespVO 加了 `createdByName` 字段 — 列表展示绑这个 + +接口 URL / Method 不变,出参新增字段: + +```json +GET /admin/product/item/{id}/snapshots?pageNum=1&pageSize=10 +{ + "code": 200, + "data": { + "records": [ + { + "id": "...", + "name": "v1-行程定稿", + "description": "...", + "fileSize": 67890, + "keepForever": false, + "createdBy": 1001, + "createdByName": "张三", ← 🆕 新增字段,前端「创建人」列绑这个 + "createTime": "2026-05-18 14:30:00" + } + ] + } +} +``` + +**展示规则**: +- 历史 5 条 created_by=NULL 的快照, createdByName 也是 null → 前端展示「—」(已知,接受) +- 新保存的快照, createdByName 优先企微昵称, fallback username + +### 2. 「创建时间」列前端字段绑错请改 + +如果前端模板绑的是 `createdAt`, 改成 `createTime` (后端返的字段名是 `createTime`, 历史也一直是这个)。 + +### 3. 还原版本弹窗文案中文化(用户截图反馈) + +旧文案(英文/技术词,用户看不懂): + +``` +还原后: +- 产品所有字段(含价格、行程、备品等)会回到该版本 +- 产品状态会强制设回「草稿」, 原 publishedAt / approvalNo 会被清空 +- 已有订单(活跃报名)或处于「已上架」状态的产品无法还原 +- 操作日志会记录一条还原(RESTORE) +``` + +新文案建议: + +``` +还原后: +- 产品所有字段(含价格、行程、备品等)会回到该版本 +- 产品状态会强制设回「草稿」, 上架时间和审批编号会被清空 +- 已有订单(活跃报名)或处于「已上架」状态的产品无法还原 +- 操作日志会记录一条「还原版本」 +``` + +去掉 `publishedAt` / `approvalNo` / `RESTORE` 三个英文字段名/枚举值,改用中文业务术语。 + +--- + +## 服务端改动 + +- saveSnapshot 显式 setCreatedBy(AdminContextUtil.getAdminId()) 兜底 OperatorHolderFilter 未生效场景 +- ProductSnapshotRespVO 加 createdByName String 字段 +- ProductSnapshotService 加 enrichCreatedByName: 批量调 UserFeignClient.batchGetAdminInfo 回填, 与 ProductQueryService 同方案 +- 注入 UserFeignClient (@Nullable, 单测兼容) +- ProductSnapshotServiceTest 21/21 全绿 + +--- + +## 部署 + +- 测试服: 等待 PR #2529 后续部署 +- 正式服: 等下一次 release 合 main 后部署 +- nacos / DB: 无变化