diff --git a/internal/api/admin/dashboard_admin.go b/internal/api/admin/dashboard_admin.go index 4ec72d8..62fc2ed 100755 --- a/internal/api/admin/dashboard_admin.go +++ b/internal/api/admin/dashboard_admin.go @@ -736,6 +736,10 @@ func parseRange(rangeType, startS, endS string) (time.Time, time.Time) { e := now s := e.Add(-30 * 24 * time.Hour) return s, e + case "all": + e := now + s := time.Date(2000, 1, 1, 0, 0, 0, 0, now.Location()) + return s, e case "custom": if startS != "" && endS != "" { if st, err := time.Parse("2006-01-02", startS); err == nil { @@ -1854,7 +1858,7 @@ type productPerformanceItem struct { func (h *handler) OperationsProductPerformance() core.HandlerFunc { return func(ctx core.Context) { - s, e := parseRange(ctx.Request().URL.Query().Get("rangeType"), "", "") + s, e := parseRange(ctx.Request().URL.Query().Get("rangeType"), ctx.Request().URL.Query().Get("start"), ctx.Request().URL.Query().Get("end")) db := h.repo.GetDbR().WithContext(ctx.RequestContext()) type performanceRow struct { @@ -1898,8 +1902,9 @@ func (h *handler) OperationsProductPerformance() core.HandlerFunc { Joins("LEFT JOIN orders ON orders.id = activity_draw_logs.order_id"). Joins("LEFT JOIN user_item_cards ON user_item_cards.id = orders.item_card_id"). Joins("LEFT JOIN system_item_cards ON system_item_cards.id = user_item_cards.card_id"). - Where("activity_draw_logs.created_at >= ?", s). - Where("activity_draw_logs.created_at <= ?", e). + Where("orders.status = ?", 2). + Where("COALESCE(orders.paid_at, orders.created_at) >= ?", s). + Where("COALESCE(orders.paid_at, orders.created_at) <= ?", e). Group("activity_issues.activity_id"). Order("sales_count DESC"). Limit(10).