新建生产商时由服务端固定写入 admin,编辑时忽略并禁止修改角色。平台页面将 admin 只读显示为‘生产商管理员’,历史未知角色保持原值,不修改数据库或历史数据。补充后端回归测试、操作日志和项目文档。
44 lines
2.0 KiB
Markdown
44 lines
2.0 KiB
Markdown
# 生产商角色固定操作日志
|
||
|
||
操作时间:2026-08-13
|
||
操作类型:修改
|
||
影响模块:平台总后台生产商管理、平台管理 API
|
||
|
||
## 操作前状态
|
||
|
||
生产商角色字段为自由文本。客户端提交 `1` 等任意字符串时,服务端会直接写入 `producer_account.role_code`,但系统并没有对应的生产商多角色权限实现。
|
||
|
||
## 具体操作
|
||
|
||
1. 新建生产商时忽略客户端角色,服务端固定写入 `admin`。
|
||
2. 编辑生产商时忽略客户端角色,并从更新白名单移除 `role_code`。
|
||
3. 新建和编辑页面将角色设为只读,`admin` 显示为“生产商管理员”。
|
||
4. 历史未知角色继续按数据库原值展示,不修改数据库及历史数据。
|
||
5. 增加新建角色固定和编辑角色忽略测试。
|
||
|
||
## 操作后状态
|
||
|
||
- 新生产商角色固定为 `admin`。
|
||
- 编辑生产商不会改变已有角色。
|
||
- `admin` 在页面显示为“生产商管理员”。
|
||
- 历史值(如 `1`)保持原样,不执行迁移或数据修正。
|
||
|
||
## 代码变更
|
||
|
||
- `backend/api/internal/logic/platform/product/producer.go`:固定新建角色并禁止编辑角色。
|
||
- `backend/api/internal/logic/platform/product/producer_test.go`:新增角色规则测试。
|
||
- `frontend/platform_admin/src/api/resources.ts`:新增生产商管理员中文只读选项。
|
||
- `frontend/platform_admin/src/api/resource-page-rules.ts`:移除角色编辑能力。
|
||
|
||
## 验证结果
|
||
|
||
- `go test ./internal/logic/platform/product`:通过。
|
||
- `npm.cmd run resource-pages:check`:通过,详情 46 类、新建 25 类、编辑 23 类。
|
||
- `npm.cmd run build`:通过,TypeScript 检查与 Vite 生产构建成功。
|
||
- 本地后端重新编译并重启,健康接口返回 `platform-api`、`ok`。
|
||
- `git diff --check`:通过。
|
||
|
||
## 风险评估
|
||
|
||
不修改数据库结构或历史数据,接口继续兼容旧客户端提交的 `role_code` 字段。历史非法角色与新数据会暂时存在显示差异,这是明确保留历史原值的结果。
|