All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m37s
- 添加 Device 和 IotCard 模型的 SeriesID 字段 - 实现 DeviceService 和 IotCardService 的套餐系列绑定逻辑 - 添加 DeviceStore 和 IotCardStore 的数据库操作方法 - 更新 API 接口和路由支持套餐系列绑定 - 创建数据库迁移脚本(000027_add_series_binding_fields) - 添加完整的单元测试和集成测试 - 更新 OpenAPI 文档 - 归档 OpenSpec 变更文档 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
## 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(订单与支付)依赖本期
|