All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m39s
- 新增企业设备授权模块(Model、DTO、Service、Handler、Store) - 实现设备授权的创建、查询、更新、删除等完整业务逻辑 - 添加企业卡授权与设备授权的关联关系 - 新增 2 个数据库迁移脚本 - 同步 OpenSpec delta specs 到 main specs - 归档 add-enterprise-device-authorization 变更 - 更新 API 文档和路由配置 - 新增完整的集成测试和单元测试覆盖
2.6 KiB
2.6 KiB
Why
企业用户目前只能管理被授权的单卡,但实际业务中设备(绑定 1-4 张卡)是更常见的授权单位。企业需要以设备为维度查看和管理被授权的资产,包括查看设备列表、设备详情及其绑定的卡,以及对卡进行停机/复机操作。这与"分销设备给代理"的模式类似,但目标是企业而非店铺。
What Changes
- 新增设备授权表:
tb_enterprise_device_authorization,记录设备与企业的授权关系 - 修改卡授权表:
tb_enterprise_card_authorization新增device_auth_id字段,关联设备授权记录 - 新增设备授权 API(后台):授权设备给企业、回收设备授权、企业设备列表
- 新增企业端设备管理 API(H5):设备列表、设备详情(含卡)、停机/复机
- 修改单卡授权逻辑:BREAKING 禁止通过单卡授权入口授权已绑定设备的卡,移除 DeviceBundle 支持
- 授权联动:授权设备时自动授权设备下所有已绑定的卡,回收时同步回收
Capabilities
New Capabilities
enterprise-device-authorization: 设备授权企业用户功能,包含设备授权/回收、设备授权记录管理、企业端设备列表和管理
Modified Capabilities
enterprise-card-authorization: 禁止授权已绑定设备的卡,移除 DeviceBundle 确认流程,强制使用设备授权入口
Impact
数据库:
- 新增表
tb_enterprise_device_authorization - 修改表
tb_enterprise_card_authorization(新增字段 + 索引)
后台 API:
- 新增
POST /api/admin/enterprises/:id/allocate-devices - 新增
POST /api/admin/enterprises/:id/recall-devices - 新增
GET /api/admin/enterprises/:id/devices - 修改
POST /api/admin/enterprises/:id/allocate-cards(禁止设备卡)
H5 API:
- 新增
GET /api/h5/enterprise/devices - 新增
GET /api/h5/enterprise/devices/:device_id - 新增
POST /api/h5/enterprise/devices/:device_id/cards/:card_id/suspend - 新增
POST /api/h5/enterprise/devices/:device_id/cards/:card_id/resume
代码模块:
- Model: 新增
EnterpriseDeviceAuthorization,修改EnterpriseCardAuthorization - Store: 新增
EnterpriseDeviceAuthorizationStore - Service: 新增
enterprise_device服务,修改enterprise_card服务 - Handler: 新增
admin/enterprise_device.go,新增h5/enterprise_device.go - Routes: 新增设备授权路由注册
- DTO: 新增设备授权相关 DTO
前端影响:
- 后台管理系统需要新增设备授权功能页面
- 企业端 H5 需要新增设备列表和管理页面
- 单卡授权页面行为变更(不再支持授权设备卡)