day >= 20) { $startAt = $tz->copy()->setDay(20)->startOfDay(); } elseif ($tz->day >= 5) { $startAt = $tz->copy()->setDay(5)->startOfDay(); } else { $startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay(); } return DealerManageSubsidyLog::where('order_completed_at', '>=', $startAt)->where('user_id', $dealer->user_id)->sum('total_amount'); } }