fix: harden competitor create and batch kol stats
Backend CI / Backend (push) Failing after 6m48s

This commit is contained in:
2026-05-13 17:31:22 +08:00
parent 7aa786fbf4
commit 18cdbf25f8
5 changed files with 195 additions and 28 deletions
@@ -111,19 +111,18 @@ func (s *KolDashboardService) PerPackage(ctx context.Context, actor auth.Actor)
usageByPackage[stat.PackageID] = stat
}
subscriberCounts, err := s.subRepo.CountActiveSubscriberTenantsByPackages(ctx, packageIDs)
if err != nil {
return nil, response.ErrInternal(50123, "kol_dashboard_subscriber_query_failed", err.Error())
}
result := make([]DashboardPackageStat, 0, len(packages))
for _, pkg := range packages {
subscribers, err := s.subRepo.ListActiveSubscribersForPackage(ctx, pkg.ID)
if err != nil {
return nil, response.ErrInternal(50123, "kol_dashboard_subscriber_query_failed", err.Error())
}
subscriberTenants := uniqueSubscriberTenants(subscribers)
usage := usageByPackage[pkg.ID]
result = append(result, DashboardPackageStat{
PackageID: pkg.ID,
PackageName: pkg.Name,
SubscriberTenants: subscriberTenants,
SubscriberTenants: subscriberCounts[pkg.ID],
UsageCount: usage.Total,
FailureRate: float64(usage.Failed) / float64(maxDashboardBase(usage.Total)),
})