|
|
03a0960c4d
|
refactor: 数据权限过滤从 GORM Callback 改为 Store 层显式调用
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m2s
- 移除 RegisterDataPermissionCallback 和 SkipDataPermission 机制
- 在 Auth 中间件预计算 SubordinateShopIDs 并注入 Context
- 新增 ApplyShopFilter/ApplyEnterpriseFilter/ApplyOwnerShopFilter 等 Helper 函数
- 所有 Store 层查询方法显式调用数据权限过滤函数
- 权限检查函数 CanManageShop/CanManageEnterprise 改为从 Context 获取数据
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-26 16:38:52 +08:00 |
|
|
|
fdcff33058
|
feat: 实现企业卡授权和授权记录管理功能
构建并部署到测试环境(无 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),保留内部方法
- 完善单元测试和集成测试覆盖
|
2026-01-26 15:07:03 +08:00 |
|
|
|
194078674a
|
feat: 实现单卡资产分配与回收功能
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m45s
- 新增单卡分配/回收 API(支持 ICCID 列表、号段范围、筛选条件三种选卡方式)
- 新增资产分配记录查询 API(支持多条件筛选和分页)
- 新增 AssetAllocationRecord 模型、Store、Service、Handler 完整实现
- 扩展 IotCardStore 新增批量更新、号段查询、筛选查询等方法
- 修复 GORM Callback 处理 slice 类型(BatchCreate)的问题
- 新增完整的单元测试和集成测试
- 同步 OpenSpec 规范并归档 change
|
2026-01-24 15:46:15 +08:00 |
|
|
|
1489abe668
|
修复上次错误的提交
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m20s
|
2026-01-21 14:51:08 +08:00 |
|
|
|
3b1fd91709
|
全局软删除
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m21s
|
2026-01-21 14:37:02 +08:00 |
|
|
|
2570269c8d
|
feat(wallet,tag): 钱包和标签系统多租户改造
核心变更:
- 钱包表:删除 user_id,添加 resource_type/resource_id(绑定资源而非用户)
- 标签表:添加 enterprise_id/shop_id(实现三级隔离:全局/企业/店铺)
- GORM Callback:自动数据权限过滤
- 迁移脚本:可重复执行,已验证回滚功能
钱包归属重构原因:
- 旧设计:钱包绑定用户账号,个人客户卡/设备转手后新用户无法使用余额
- 新设计:钱包绑定资源(卡/设备/店铺),余额随资源流转
标签三级隔离:
- 平台全局标签:所有用户可见
- 企业标签:仅该企业可见(企业内唯一)
- 店铺标签:该店铺及下级可见(店铺内唯一)
测试覆盖:
- 9 个单元测试验证标签多租户过滤(全部通过)
- 迁移和回滚功能测试通过(测试环境)
- OpenSpec 验证通过
变更 ID: fix-wallet-tag-multi-tenant
迁移版本: 000008
参考: openspec/changes/archive/2026-01-13-fix-wallet-tag-multi-tenant/
|
2026-01-13 16:52:37 +08:00 |
|
|
|
743db126f7
|
重构数据权限模型并清理旧RBAC代码
核心变更:
- 数据权限过滤从基于账号层级改为基于用户类型的多策略过滤
- 移除 AccountStore 中的 GetSubordinateIDs 等旧方法
- 重构认证中间件,支持 enterprise_id 和 customer_id
- 更新 GORM Callback,根据用户类型自动选择过滤策略(代理/企业/个人客户)
- 更新所有集成测试以适配新的 API 签名
- 添加功能总结文档和 OpenSpec 归档
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-01-10 15:08:11 +08:00 |
|
|
|
478e37903b
|
添加callback,迁移文件
|
2025-12-15 14:37:34 +08:00 |
|
|
|
d66323487b
|
refactor: align framework cleanup with new bootstrap flow
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
2025-11-19 12:47:25 +08:00 |
|