This commit is contained in:
2025-09-12 13:29:03 +08:00
parent c46c1e23a1
commit a0fc9dc246
3 changed files with 48 additions and 26 deletions

View File

@@ -2356,6 +2356,7 @@ func (s *StatisticsApplicationServiceImpl) AdminGetConsumptionDomainStatistics(c
} }
var consumptionTrend []map[string]interface{} var consumptionTrend []map[string]interface{}
if !startTime.IsZero() && !endTime.IsZero() {
if period == "day" { if period == "day" {
consumptionTrend, err = s.walletTransactionRepo.GetSystemDailyStats(ctx, startTime, endTime) consumptionTrend, err = s.walletTransactionRepo.GetSystemDailyStats(ctx, startTime, endTime)
} else if period == "month" { } else if period == "month" {
@@ -2366,6 +2367,16 @@ func (s *StatisticsApplicationServiceImpl) AdminGetConsumptionDomainStatistics(c
s.logger.Error("获取消费趋势数据失败", zap.Error(err)) s.logger.Error("获取消费趋势数据失败", zap.Error(err))
return nil, err return nil, err
} }
} else {
// 如果没有指定时间范围获取最近7天的数据
defaultEndDate := time.Now()
defaultStartDate := defaultEndDate.AddDate(0, 0, -7)
consumptionTrend, err = s.walletTransactionRepo.GetSystemDailyStats(ctx, defaultStartDate, defaultEndDate)
if err != nil {
s.logger.Error("获取消费每日趋势失败", zap.Error(err))
return nil, err
}
}
result := map[string]interface{}{ result := map[string]interface{}{
"total_consumption": totalConsumption, "total_consumption": totalConsumption,
@@ -2433,6 +2444,7 @@ func (s *StatisticsApplicationServiceImpl) AdminGetRechargeDomainStatistics(ctx
} }
var rechargeTrend []map[string]interface{} var rechargeTrend []map[string]interface{}
if !startTime.IsZero() && !endTime.IsZero() {
if period == "day" { if period == "day" {
rechargeTrend, err = s.rechargeRecordRepo.GetSystemDailyStats(ctx, startTime, endTime) rechargeTrend, err = s.rechargeRecordRepo.GetSystemDailyStats(ctx, startTime, endTime)
} else if period == "month" { } else if period == "month" {
@@ -2443,6 +2455,16 @@ func (s *StatisticsApplicationServiceImpl) AdminGetRechargeDomainStatistics(ctx
s.logger.Error("获取充值趋势数据失败", zap.Error(err)) s.logger.Error("获取充值趋势数据失败", zap.Error(err))
return nil, err return nil, err
} }
} else {
// 如果没有指定时间范围获取最近7天的数据
defaultEndDate := time.Now()
defaultStartDate := defaultEndDate.AddDate(0, 0, -7)
rechargeTrend, err = s.rechargeRecordRepo.GetSystemDailyStats(ctx, defaultStartDate, defaultEndDate)
if err != nil {
s.logger.Error("获取充值每日趋势失败", zap.Error(err))
return nil, err
}
}
result := map[string]interface{}{ result := map[string]interface{}{
"total_recharge": totalRecharge, "total_recharge": totalRecharge,

View File

@@ -287,9 +287,9 @@ func (r *GormRechargeRecordRepository) GetSystemDailyStats(ctx context.Context,
DATE(created_at) as date, DATE(created_at) as date,
COALESCE(SUM(amount), 0) as amount COALESCE(SUM(amount), 0) as amount
FROM recharge_records FROM recharge_records
WHERE status = $1 WHERE status = ?
AND DATE(created_at) >= $2 AND DATE(created_at) >= ?
AND DATE(created_at) <= $3 AND DATE(created_at) <= ?
GROUP BY DATE(created_at) GROUP BY DATE(created_at)
ORDER BY date ASC ORDER BY date ASC
` `
@@ -311,9 +311,9 @@ func (r *GormRechargeRecordRepository) GetSystemMonthlyStats(ctx context.Context
TO_CHAR(created_at, 'YYYY-MM') as month, TO_CHAR(created_at, 'YYYY-MM') as month,
COALESCE(SUM(amount), 0) as amount COALESCE(SUM(amount), 0) as amount
FROM recharge_records FROM recharge_records
WHERE status = $1 WHERE status = ?
AND created_at >= $2 AND created_at >= ?
AND created_at <= $3 AND created_at <= ?
GROUP BY TO_CHAR(created_at, 'YYYY-MM') GROUP BY TO_CHAR(created_at, 'YYYY-MM')
ORDER BY month ASC ORDER BY month ASC
` `

View File

@@ -581,8 +581,8 @@ func (r *GormWalletTransactionRepository) GetSystemDailyStats(ctx context.Contex
DATE(created_at) as date, DATE(created_at) as date,
COALESCE(SUM(amount), 0) as amount COALESCE(SUM(amount), 0) as amount
FROM wallet_transactions FROM wallet_transactions
WHERE DATE(created_at) >= $1 WHERE DATE(created_at) >= ?
AND DATE(created_at) <= $2 AND DATE(created_at) <= ?
GROUP BY DATE(created_at) GROUP BY DATE(created_at)
ORDER BY date ASC ORDER BY date ASC
` `
@@ -604,8 +604,8 @@ func (r *GormWalletTransactionRepository) GetSystemMonthlyStats(ctx context.Cont
TO_CHAR(created_at, 'YYYY-MM') as month, TO_CHAR(created_at, 'YYYY-MM') as month,
COALESCE(SUM(amount), 0) as amount COALESCE(SUM(amount), 0) as amount
FROM wallet_transactions FROM wallet_transactions
WHERE created_at >= $1 WHERE created_at >= ?
AND created_at <= $2 AND created_at <= ?
GROUP BY TO_CHAR(created_at, 'YYYY-MM') GROUP BY TO_CHAR(created_at, 'YYYY-MM')
ORDER BY month ASC ORDER BY month ASC
` `