Files
junhong_cmp_fiber/openspec/changes/archive/2026-04-11-fix-status-convention-comments/tasks.md
2026-04-11 12:21:02 +08:00

2.8 KiB
Raw Blame History

1. 修正 model GORM comment 注释

  • 1.1 修改 internal/model/package.goPackageSeries.Status 和 Package.Status 的 comment 从 1-启用 2-禁用 改为 0=禁用 1=启用
  • 1.2 修改 internal/model/shop_package_allocation.goShopPackageAllocation.Status 的 comment 从 1-启用 2-禁用 改为 0=禁用 1=启用
  • 1.3 修改 internal/model/shop_series_allocation.goShopSeriesAllocation.Status 的 comment 从 1-启用 2-禁用 改为 0=禁用 1=启用
  • 1.4 修改 internal/model/system.goDevCapabilityConfig.Status 的 comment 从 1-启用 2-禁用 改为 0=禁用 1=启用
  • 1.5 修改 internal/model/financial.goPaymentMerchantSetting.Status 的 comment 从 1-启用 2-禁用 改为 0=禁用 1=启用
  • 1.6 验证:go vet ./internal/model/... 无报错

2. 删除僵尸常量

  • 2.1 删除 pkg/constants/iot.go 中的 DevCapabilityStatusEnabled = 1DevCapabilityStatusDisabled = 2 两行
  • 2.2 验证:go build ./... 编译通过,证明无代码依赖这两个常量

3. 修正 DTO validate 标签和 description关键修复 API 层约定冲突)

当前 DTO 有 validate:"oneof=1 2" 但 service 层用 StatusDisabled=0,二者不兼容。 修复方向:将 DTO 对齐到全局约定 oneof=0 1

  • 3.1 修改 internal/model/dto/package_dto.go
    • UpdatePackageStatusRequest.Status 的 validate 从 oneof=1 2 改为 oneof=0 1description 从 (1:启用, 2:禁用) 改为 (0:禁用, 1:启用)
    • PackageListRequest.Status 的 description 同步修正
    • PackageResponse.Status 的 description 同步修正
  • 3.2 修改 internal/model/dto/package_series_dto.go
    • UpdatePackageSeriesStatusRequest.Status 的 validate 从 oneof=1 2 改为 oneof=0 1description 修正
    • PackageSeriesListRequest.Status 的 description 修正
    • PackageSeriesResponse.Status 的 description 修正
  • 3.3 修改 internal/model/dto/shop_series_grant_dto.gostatus 相关字段 description 全部修正为 0=禁用 1=启用
  • 3.4 修改 internal/model/dto/my_package.gostatus 相关字段 description 全部修正
  • 3.5 验证:go vet ./internal/model/dto/... 无报错

4. 修正 service 层语义混用

  • 4.1 修改 internal/service/shop_series_grant/service.go:将所有 ShelfStatus: constants.StatusEnabled 改为 ShelfStatus: constants.ShelfStatusOn(两处,行约 342、676
  • 4.2 验证:go vet ./internal/service/shop_series_grant/... 无报错

5. 最终验证

  • 5.1 执行 go build ./... 确认全项目编译通过
  • 5.2 执行 go vet ./... 无报错
  • 5.3 执行 go test ./internal/service/package/... ./internal/service/package_series/... ./internal/service/shop_series_grant/... 确认测试通过