feat: 实现企业卡授权和授权记录管理功能
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m9s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m9s
主要功能: - 添加企业卡授权/回收接口 (POST /enterprises/:id/allocate-cards, recall-cards) - 添加授权记录管理接口 (GET/PUT /authorizations) - 实现代理用户数据权限过滤(只能查看自己店铺下企业的授权记录) - 添加 GORM callback 支持授权记录表的数据权限过滤 技术改进: - 原生 SQL 查询手动添加数据权限过滤(ListWithJoin, GetByIDWithJoin) - 移除卡授权预检接口(allocate-cards/preview),保留内部方法 - 完善单元测试和集成测试覆盖
This commit is contained in:
@@ -22,6 +22,18 @@ TBD - created by archiving change refactor-framework-cleanup. Update Purpose aft
|
||||
- **WHEN** 表不包含 owner_id 字段
|
||||
- **THEN** 不添加数据权限过滤条件
|
||||
|
||||
#### Scenario: 授权记录表特殊处理
|
||||
- **WHEN** 查询 `tb_enterprise_card_authorization` 表
|
||||
- **AND** 当前用户是代理用户
|
||||
- **THEN** 自动添加 WHERE enterprise_id IN (SELECT id FROM tb_enterprise WHERE owner_shop_id = 当前店铺ID) 条件
|
||||
- **AND** 不包含下级店铺的数据
|
||||
|
||||
#### Scenario: 平台用户查询授权记录
|
||||
- **WHEN** 查询 `tb_enterprise_card_authorization` 表
|
||||
- **AND** 当前用户是平台用户或超级管理员
|
||||
- **THEN** 不添加数据权限过滤条件
|
||||
- **AND** 可查询所有授权记录
|
||||
|
||||
### Requirement: Skip Data Permission
|
||||
|
||||
系统 SHALL 支持通过 Context 绕过数据权限过滤。
|
||||
|
||||
Reference in New Issue
Block a user