Files
junhong_cmp_fiber/openspec/changes/archive/2026-01-29-add-enterprise-device-authorization/proposal.md
huang b02175271a
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m39s
feat: 实现企业设备授权功能并归档 OpenSpec 变更
- 新增企业设备授权模块(Model、DTO、Service、Handler、Store)
- 实现设备授权的创建、查询、更新、删除等完整业务逻辑
- 添加企业卡授权与设备授权的关联关系
- 新增 2 个数据库迁移脚本
- 同步 OpenSpec delta specs 到 main specs
- 归档 add-enterprise-device-authorization 变更
- 更新 API 文档和路由配置
- 新增完整的集成测试和单元测试覆盖
2026-01-29 13:18:49 +08:00

2.6 KiB
Raw Blame History

Why

企业用户目前只能管理被授权的单卡,但实际业务中设备(绑定 1-4 张卡)是更常见的授权单位。企业需要以设备为维度查看和管理被授权的资产,包括查看设备列表、设备详情及其绑定的卡,以及对卡进行停机/复机操作。这与"分销设备给代理"的模式类似,但目标是企业而非店铺。

What Changes

  • 新增设备授权表tb_enterprise_device_authorization,记录设备与企业的授权关系
  • 修改卡授权表tb_enterprise_card_authorization 新增 device_auth_id 字段,关联设备授权记录
  • 新增设备授权 API(后台):授权设备给企业、回收设备授权、企业设备列表
  • 新增企业端设备管理 APIH5设备列表、设备详情含卡、停机/复机
  • 修改单卡授权逻辑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 需要新增设备列表和管理页面
  • 单卡授权页面行为变更(不再支持授权设备卡)