修正数据
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s

This commit is contained in:
2026-04-27 18:10:08 +08:00
parent bb33232b1b
commit fe4c545308
57 changed files with 4477 additions and 226 deletions

View File

@@ -212,6 +212,28 @@ func (s *PackageUsageStore) GetActiveOrDepletedByCarrier(ctx context.Context, ca
return &pkg, nil
}
// ListActiveOrDepletedByCarrier 查询载体下所有生效中或已用完套餐。
func (s *PackageUsageStore) ListActiveOrDepletedByCarrier(ctx context.Context, carrierType string, carrierID uint) ([]*model.PackageUsage, error) {
var packages []*model.PackageUsage
query := s.db.WithContext(ctx).Model(&model.PackageUsage{}).
Where("status IN ?", []int{
constants.PackageUsageStatusActive,
constants.PackageUsageStatusDepleted,
}).
Order("CASE WHEN master_usage_id IS NOT NULL THEN 0 ELSE 1 END, priority ASC, activated_at ASC")
if carrierType == "device" {
query = query.Where("device_id = ?", carrierID)
} else {
query = query.Where("iot_card_id = ?", carrierID)
}
if err := query.Find(&packages).Error; err != nil {
return nil, err
}
return packages, nil
}
// ListByCarrier 查询载体的套餐使用记录(可按状态筛选)
func (s *PackageUsageStore) ListByCarrier(ctx context.Context, carrierType string, carrierID uint, status *int) ([]*model.PackageUsage, error) {
var usages []*model.PackageUsage