fix(dashboard): correct overview data and states

This commit is contained in:
2026-08-05 09:29:34 +08:00
parent 14a2ed7df8
commit d88e18bd09
8 changed files with 77 additions and 42 deletions

View File

@@ -126,10 +126,7 @@ func GetDashboardOverview() (DashboardStatistics, error) {
}
result.ProductStatuses = namedStatuses(productStatuses, productStatusNames)
if err := impl.DBService.Model(&models.PaymentOrder{}).
Select("pay_channel AS name, COALESCE(SUM(amount), 0) AS value").
Where("status = ? AND payment_status = ?", common.StatusEnable, 23).
Group("pay_channel").Order("value DESC").Scan(&result.PaymentChannels).Error; err != nil {
if err := loadPaymentChannels(&result.PaymentChannels); err != nil {
return DashboardStatistics{}, err
}
@@ -144,6 +141,13 @@ func GetDashboardOverview() (DashboardStatistics, error) {
return result, nil
}
func loadPaymentChannels(result *[]MetricSlice) error {
return impl.DBService.Model(&models.PaymentOrder{}).
Select("channel AS name, COALESCE(SUM(amount), 0) AS value").
Where("status = ? AND payment_status = ?", common.StatusEnable, 23).
Group("channel").Order("value DESC").Scan(result).Error
}
func namedStatuses(rows []statusAggregate, names map[int]string) []MetricSlice {
result := make([]MetricSlice, 0, len(rows))
for _, row := range rows {