# Change: 清理旧 RBAC 系统和代码整理 ## Why 前三个提案完成后,系统将拥有新的用户组织模型和角色权限体系。需要清理旧的 RBAC 相关代码,更新中间件和埋点逻辑,确保新旧系统平滑过渡。 根据用户描述,当前系统是"完全是个架子",无实际业务数据需要迁移,主要工作是代码清理和中间件调整。 ## What Changes ### 代码清理 - **移除旧逻辑**: 清理基于 `tb_account.parent_id` 的递归查询逻辑 - **更新中间件**: 调整认证和权限校验中间件以适配新模型 - **更新埋点**: 调整日志和监控中的用户标识逻辑 ### 中间件调整 1. **认证中间件**: 适配新的用户类型(超级管理员/平台/代理/企业) 2. **权限中间件**: 使用新的角色权限体系和端口校验 3. **数据权限中间件**: 改为基于店铺层级的过滤逻辑 ### Store 层调整 - 移除 `account_store.go` 中基于 `parent_id` 的递归查询 - 使用新的 `shop_store.go` 中基于店铺层级的递归查询 - 更新 Redis 缓存 key(从账号下级改为店铺下级) ## Impact - **Affected specs**: auth, data-permission - **Affected code**: - `internal/store/postgres/account_store.go` - 移除旧的递归查询 - `internal/middleware/auth.go` - 适配新用户类型 - `internal/middleware/permission.go` - 适配新权限体系 - `pkg/constants/` - 清理旧常量,确保使用新定义 ## 依赖关系 本提案是最后执行的提案,依赖前三个提案全部完成: 1. ✓ add-user-organization-model 2. ✓ add-role-permission-system 3. ✓ add-personal-customer-wechat 4. → **remove-legacy-rbac-cleanup(本提案)** ## 风险评估 由于当前系统无实际业务数据: - **数据迁移风险**: 无(无需迁移) - **回滚风险**: 低(可以通过 Git 回滚代码) - **兼容性风险**: 无(无外部系统依赖当前 API) ## 验收标准 1. 所有旧的 `parent_id` 相关代码已移除或更新 2. 中间件正确使用新的用户类型和权限体系 3. 数据权限过滤正确基于店铺层级工作 4. 所有单元测试和集成测试通过 5. 应用启动无错误,核心 API 正常工作