perf(finance): 补齐财务仪表盘覆盖索引
This commit is contained in:
@@ -27,7 +27,7 @@ func (r *Repository) disbursementSummary(ctx context.Context, query DashboardQue
|
||||
AmountCent int64
|
||||
Count int64
|
||||
}
|
||||
if err := db.Table("rental_orders").
|
||||
if err := db.Table("rental_orders USE INDEX (idx_rental_orders_dashboard_offline_settlement)").
|
||||
Select(`COALESCE(SUM(offline_settlement_amount_cent), 0) AS amount_cent, COUNT(id) AS count`).
|
||||
Where("settlement_mode = ?", "platform_managed").
|
||||
Where("offline_settlement_status = ?", "settled").
|
||||
@@ -39,7 +39,7 @@ func (r *Repository) disbursementSummary(ctx context.Context, query DashboardQue
|
||||
AmountCent int64
|
||||
Count int64
|
||||
}
|
||||
if err := db.Table("admin_pickups").
|
||||
if err := db.Table("admin_pickups USE INDEX (idx_admin_pickups_dashboard_offline_settlement)").
|
||||
Select(`COALESCE(SUM(settle_amount_cent), 0) AS amount_cent, COUNT(id) AS count`).
|
||||
Where("settlement_mode = ?", "platform_managed").
|
||||
Where("offline_settlement_status = ?", "settled").
|
||||
@@ -65,7 +65,7 @@ func (r *Repository) disbursementSummary(ctx context.Context, query DashboardQue
|
||||
AmountCent int64
|
||||
Count int64
|
||||
}
|
||||
if err := db.Table("rental_orders").
|
||||
if err := db.Table("rental_orders USE INDEX (idx_rental_orders_dashboard_offline_settlement)").
|
||||
Select(`COALESCE(SUM(offline_settlement_amount_cent), 0) AS amount_cent, COUNT(id) AS count`).
|
||||
Where("settlement_mode = ?", "platform_managed").
|
||||
Where("offline_settlement_status = ?", "pending").
|
||||
@@ -77,7 +77,7 @@ func (r *Repository) disbursementSummary(ctx context.Context, query DashboardQue
|
||||
AmountCent int64
|
||||
Count int64
|
||||
}
|
||||
if err := db.Table("admin_pickups").
|
||||
if err := db.Table("admin_pickups USE INDEX (idx_admin_pickups_dashboard_offline_settlement)").
|
||||
Select(`COALESCE(SUM(settle_amount_cent), 0) AS amount_cent, COUNT(id) AS count`).
|
||||
Where("settlement_mode = ?", "platform_managed").
|
||||
Where("offline_settlement_status = ?", "pending").
|
||||
@@ -161,7 +161,7 @@ func (r *Repository) disbursementSummary(ctx context.Context, query DashboardQue
|
||||
func (r *Repository) dailyDisbursements(ctx context.Context, query DashboardQuery) ([]dailyDisbursementRow, error) {
|
||||
db := r.db.WithContext(ctx)
|
||||
offlineRows := make([]dailyDisbursementSourceRow, 0)
|
||||
if err := db.Table("rental_orders").
|
||||
if err := db.Table("rental_orders USE INDEX (idx_rental_orders_dashboard_offline_settlement)").
|
||||
Select(`DATE_FORMAT(offline_settled_at, '%Y-%m-%d') AS date,
|
||||
COALESCE(SUM(offline_settlement_amount_cent), 0) AS amount_cent,
|
||||
COUNT(id) AS count`).
|
||||
@@ -173,7 +173,7 @@ func (r *Repository) dailyDisbursements(ctx context.Context, query DashboardQuer
|
||||
return nil, err
|
||||
}
|
||||
pickupOfflineRows := make([]dailyDisbursementSourceRow, 0)
|
||||
if err := db.Table("admin_pickups").
|
||||
if err := db.Table("admin_pickups USE INDEX (idx_admin_pickups_dashboard_offline_settlement)").
|
||||
Select(`DATE_FORMAT(offline_settled_at, '%Y-%m-%d') AS date,
|
||||
COALESCE(SUM(settle_amount_cent), 0) AS amount_cent,
|
||||
COUNT(id) AS count`).
|
||||
|
||||
Reference in New Issue
Block a user