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>
3.4 KiB
3.4 KiB
1. IotCard 模型调整
- 1.1 在
internal/model/iot_card.go中新增series_allocation_id字段(uint, index, 可空) - 1.2 新增
first_commission_paid字段(bool, 默认 false) - 1.3 新增
accumulated_recharge字段(bigint, 默认 0)
2. Device 模型调整
- 2.1 在
internal/model/device.go中新增series_allocation_id字段(uint, index, 可空) - 2.2 新增
first_commission_paid字段(bool, 默认 false) - 2.3 新增
accumulated_recharge字段(bigint, 默认 0)
3. 数据库迁移
- 3.1 创建迁移文件,为 tb_iot_card 添加 3 个新字段
- 3.2 为 tb_device 添加 3 个新字段
- 3.3 为 series_allocation_id 添加索引
- [~] 3.4 本地执行迁移验证 (已取消:需要数据库连接)
4. DTO 更新
- 4.1 更新 IotCard 相关 DTO,新增 series_allocation_id、first_commission_paid、accumulated_recharge 字段
- 4.2 更新 Device 相关 DTO,新增相同字段
- 4.3 创建 BatchSetSeriesBindngRequest(iccids/device_ids + series_allocation_id)
- 4.4 创建 BatchSetSeriesBindngResponse(成功数、失败列表)
5. IotCard Store 更新
- 5.1 在 IotCardStore 中添加 BatchUpdateSeriesAllocation 方法
- 5.2 添加 ListBySeriesAllocationID 方法(按系列筛选)
- 5.3 更新 List 方法支持 series_allocation_id 筛选
6. Device Store 更新
- 6.1 在 DeviceStore 中添加 BatchUpdateSeriesAllocation 方法
- 6.2 添加 ListBySeriesAllocationID 方法
- 6.3 更新 List 方法支持 series_allocation_id 筛选
7. IotCard Service 更新
- 7.1 在 IotCardService 中添加 BatchSetSeriesBindng 方法(验证权限、验证系列分配)
- 7.2 添加 ValidateSeriesAllocation 辅助方法(检查系列是否分配给店铺)
8. Device Service 更新
- 8.1 在 DeviceService 中添加 BatchSetSeriesBindng 方法
- 8.2 添加 ValidateSeriesAllocation 辅助方法
9. IotCard Handler 更新
- 9.1 在 IotCardHandler 中添加 BatchSetSeriesBindng 接口(PATCH /api/admin/iot-cards/series-bindng)
- 9.2 更新 List 接口支持 series_allocation_id 筛选参数
- 9.3 更新 Get 接口响应包含系列关联信息
10. Device Handler 更新
- 10.1 在 DeviceHandler 中添加 BatchSetSeriesBindng 接口(PATCH /api/admin/devices/series-bindng)
- 10.2 更新 List 接口支持 series_allocation_id 筛选参数
- 10.3 更新 Get 接口响应包含系列关联信息
11. 路由注册
- 11.1 注册
PATCH /api/admin/iot-cards/series-bindng路由 - 11.2 注册
PATCH /api/admin/devices/series-bindng路由
12. 文档生成器更新
- 12.1 更新 docs.go 和 gendocs/main.go(如有新 Handler)
- 12.2 执行文档生成验证
13. 测试
- 13.1 IotCardStore 批量更新方法单元测试
- 13.2 DeviceStore 批量更新方法单元测试
- 13.3 IotCardService BatchSetSeriesBindng 单元测试(覆盖权限验证)
- 13.4 DeviceService BatchSetSeriesBindng 单元测试
- 13.5 卡系列关联 API 集成测试
- 13.6 设备系列关联 API 集成测试
- 13.7 执行
go test ./...确认通过
14. 最终验证
- 14.1 执行
go build ./...确认编译通过 - [~] 14.2 启动服务,手动测试批量设置功能 (已取消:需要运行服务)
- [~] 14.3 验证列表筛选功能正常 (已取消:单元测试已验证)