新建生产商时由服务端固定写入 admin,编辑时忽略并禁止修改角色。平台页面将 admin 只读显示为‘生产商管理员’,历史未知角色保持原值,不修改数据库或历史数据。补充后端回归测试、操作日志和项目文档。
2.0 KiB
2.0 KiB
生产商角色固定操作日志
操作时间:2026-08-13
操作类型:修改
影响模块:平台总后台生产商管理、平台管理 API
操作前状态
生产商角色字段为自由文本。客户端提交 1 等任意字符串时,服务端会直接写入 producer_account.role_code,但系统并没有对应的生产商多角色权限实现。
具体操作
- 新建生产商时忽略客户端角色,服务端固定写入
admin。 - 编辑生产商时忽略客户端角色,并从更新白名单移除
role_code。 - 新建和编辑页面将角色设为只读,
admin显示为“生产商管理员”。 - 历史未知角色继续按数据库原值展示,不修改数据库及历史数据。
- 增加新建角色固定和编辑角色忽略测试。
操作后状态
- 新生产商角色固定为
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 字段。历史非法角色与新数据会暂时存在显示差异,这是明确保留历史原值的结果。