docs(product-v2): P2.3 changelog 补"@DataScope 拦截"实际效果说明

2026-05-18 测试服 e2e 验证发现: Service 层删了 checkPriceEditPermission
但外层 @DataScope 数据权限仍拦 CUSTOMIZER 非 owner 产品 (HTTP 403)。
权限放宽实际只解锁同公司多 CUSTOMIZER 协作场景, mmg 不要误导用户以为
"OPERATOR 角色也能保存任意产品"。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
这个提交包含在:
API Changelog Bot 2026-05-18 10:48:59 +08:00
父节点 7bb56dbd5c
当前提交 addb9cc8cf

查看文件

@ -10,10 +10,15 @@
## ⚠️ 关键变化(前端 mmg 必看)
### 1. 保存版本权限放宽 — 所有 admin 都能保存
- **旧**:只有 SUPER_ADMIN 或 CUSTOMIZER+owner 能调 `POST /admin/product/item/{id}/snapshots`
- **新****所有 admin 登录态都能保存**自己看到的产品版本OPERATOR / CUSTOMER_SERVICE / 等等都能存)
- 还原/删除/标记永久**仍严格校验**(这些是改业务数据的危险动作)
### 1. 保存版本权限Service 层校验删除(但外层 @DataScope 仍生效)
- **旧**Service 层 `checkPriceEditPermission` 校验 SUPER_ADMIN 或 CUSTOMIZER+owner
- **新**Service 层校验**已删除**saveSnapshot 不再调 checkPriceEditPermission
- ⚠️ **实际效果2026-05-18 测试服 e2e 验证)**
- SUPER_ADMIN任何产品都能保存 ✅
- CUSTOMIZER**只能保存自己创建的产品**(外层 `@DataScope` 数据权限拦截非 owner 产品 → HTTP 403 "无操作权限"
- OPERATOR / 其他角色:受外层数据权限+菜单权限制约,**通常不能操作产品快照接口**
- **真实业务收益**:解锁了「定制师本人 + 该产品所属公司其他 CUSTOMIZER 同事」的多角色保存场景(之前只 SUPER_ADMIN 或单一 owner。彻底"所有 admin 都能保存任意产品"**没达成**@DataScope 拦着,符合业务安全考虑——CUSTOMIZER 不该备份别人的产品)
- 还原/删除/标记永久**仍保留 Service 层 checkPriceEditPermission 严格校验**
### 2. 可保存状态扩到 3 种
- **旧**`DRAFT / COMPLETED`