Files
junhong_cmp_fiber/openspec/changes/archive/2026-01-28-add-card-device-series-bindng/proposal.md
huang a945a4f554
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m37s
feat: 实现卡和设备的套餐系列绑定功能
- 添加 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>
2026-01-28 19:49:45 +08:00

59 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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 2add-shop-package-allocation完成
- Phase 4订单与支付依赖本期