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(); } $total = DealerManageSubsidyLog::where('order_completed_at', '>=', $startAt)->where('user_id', $dealer->user_id)->sum('total_amount'); return bcmul($total, '1', 2); } }