## 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 需要新增设备列表和管理页面 - 单卡授权页面行为变更(不再支持授权设备卡)