固定生产商管理员角色

新建生产商时由服务端固定写入 admin,编辑时忽略并禁止修改角色。平台页面将 admin 只读显示为‘生产商管理员’,历史未知角色保持原值,不修改数据库或历史数据。补充后端回归测试、操作日志和项目文档。
This commit is contained in:
czl231
2026-08-13 02:07:55 +08:00
parent 6b5f2cb103
commit 27733b313e
6 changed files with 155 additions and 11 deletions

View File

@@ -0,0 +1,43 @@
# 生产商角色固定操作日志
操作时间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` 字段。历史非法角色与新数据会暂时存在显示差异,这是明确保留历史原值的结果。

View File

@@ -0,0 +1,39 @@
# 项目文档:生产商角色固定 v1.0
## 1. 项目概述
当前系统尚未实现生产商端及其多角色权限体系,因此生产商账户仅支持稳定角色编码 `admin`,平台页面显示为“生产商管理员”。本次修改不改变数据库结构和历史数据。
## 2. 目录结构说明
```text
platforms/
├── backend/api/internal/logic/platform/product/
│ ├── producer.go # 生产商创建与编辑角色规则
│ └── producer_test.go # 生产商角色回归测试
├── frontend/platform_admin/src/api/
│ ├── resources.ts # 生产商管理员中文展示配置
│ └── resource-page-rules.ts # 生产商编辑字段白名单
└── docs/
├── 项目文档_生产商角色固定_v1.0.md
└── 操作日志_生产商角色固定_20260813.md
```
## 3. 核心文件说明
- `producer.go``newProducerAccount` 固定角色为 `admin``producerAccountUpdateValues` 不生成角色更新值。
- `producer_test.go`:验证客户端提交其他角色不会影响新建和编辑结果。
- `resources.ts`:将 `admin` 映射为“生产商管理员”,新建时只读。
- `resource-page-rules.ts`:角色不属于生产商可编辑字段。
## 4. 变更记录
- 新建生产商固定使用 `admin`
- 编辑生产商不能修改角色。
- 新建、详情和编辑页面支持“生产商管理员”中文展示。
- 历史未知角色保持数据库原值,不执行 SQL 或迁移。
## 5. 维护指南
未来若建设生产商端多角色体系,应先设计独立角色、菜单权限、登录鉴权和企业账户关系,再开放角色编辑。不得仅通过放开 `role_code` 文本输入实现权限扩展。