## Why Phase 2 完成了代理套餐分配,但卡和设备还没有关联到具体的套餐系列分配。需要在卡/设备上记录其所属的套餐系列分配,以便后续购买套餐时验证权限、计算佣金。同时需要记录一次性佣金状态和累计充值金额,为 Phase 5 的佣金计算做准备。 ## What Changes **IotCard 模型调整:** - 新增 `series_allocation_id`:关联的套餐系列分配 ID - 新增 `first_commission_paid`:一次性佣金是否已发放(bool) - 新增 `accumulated_recharge`:累计充值金额(分) **Device 模型调整:** - 新增 `series_allocation_id`:关联的套餐系列分配 ID - 新增 `first_commission_paid`:一次性佣金是否已发放(bool) - 新增 `accumulated_recharge`:累计充值金额(分) **新增 API:** - 批量设置卡的套餐系列分配 - 批量设置设备的套餐系列分配 - 查询卡/设备的套餐系列分配信息 **业务规则:** - 卡/设备只能关联当前所属店铺被分配的套餐系列 - 设备关联后,其绑定的所有卡共享该套餐系列 - 关联后可购买该系列下的套餐 ## Capabilities ### New Capabilities - `card-series-bindng`: 卡套餐系列关联 - 为 IoT 卡设置套餐系列分配,记录佣金状态 - `device-series-bindng`: 设备套餐系列关联 - 为设备设置套餐系列分配,设备下所有卡共享 ### Modified Capabilities ## Impact **代码影响:** - `internal/model/iot_card.go` - 新增 3 个字段 - `internal/model/device.go` - 新增 3 个字段 - `migrations/` - 修改 tb_iot_card 和 tb_device 表 - `internal/handler/admin/` - 扩展卡/设备 Handler - `internal/service/` - 扩展卡/设备 Service - `internal/model/dto/` - 新增请求 DTO **API 影响:** - 新增 `PATCH /api/admin/iot-cards/series-bindng` 批量设置卡系列 - 新增 `PATCH /api/admin/devices/series-bindng` 批量设置设备系列 **数据库影响:** - 修改表:`tb_iot_card` 新增 3 个字段 - 修改表:`tb_device` 新增 3 个字段 **依赖关系:** - 依赖 Phase 2(add-shop-package-allocation)完成 - Phase 4(订单与支付)依赖本期