diff --git a/app/Models/Dealer.php b/app/Models/Dealer.php index 5106a54f..53c75acf 100644 --- a/app/Models/Dealer.php +++ b/app/Models/Dealer.php @@ -6,7 +6,6 @@ use App\Casts\JsonArray; use App\Enums\DealerLvl; use Dcat\Admin\Traits\HasDateTimeFormatter; use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Facades\DB; class Dealer extends Model { @@ -87,23 +86,18 @@ class Dealer extends Model { $tz = now(); - $tz = now(); - if ($tz->day >= 20) { - // 结算当月5号-19号的管理津贴 - $startAt = $tz->copy()->setDay(5)->startOfDay(); - $endAt = $tz->copy()->setDay(19)->endOfDay(); + // 结算当月20号开始的业绩 + $startAt = $tz->copy()->setDay(20)->startOfDay(); } elseif ($tz->day >= 5) { - // 结算上月20号-到当月4号的管理津贴 - $startAt = $tz->copy()->subMonthNoOverflow()->set('day', 20)->startOfDay(); - $endAt = $tz->copy()->set('day', 4)->endOfDay(); + // 结算当月5号开始的的业绩 + $startAt = $tz->copy()->setDay(5)->startOfDay(); } else { - // 结算上月5号-到19号的管理津贴 - $startAt = $tz->copy()->subMonthNoOverflow()->setDay(5)->startOfDay(); - $endAt = $startAt->copy()->setDay(19)->endOfDay(); + // 结算上月20号开始的业绩 + $startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay(); } - return DealerPurchaseLog::query()->whereBetween('order_completed_at', [$startAt, $endAt]) + return DealerPurchaseLog::query()->where('order_completed_at', '>=', $startAt) ->where('path', 'like', "{$this->userInfo->full_path}%") ->sum('total_amount'); } @@ -112,40 +106,20 @@ class Dealer extends Model { $tz = now(); - $tz = now(); - if ($tz->day >= 20) { - // 结算当月5号-19号的管理津贴 - $startAt = $tz->copy()->setDay(5)->startOfDay(); - $endAt = $tz->copy()->setDay(19)->endOfDay(); + // 结算当月20号开始的管理津贴 + $startAt = $tz->copy()->setDay(20)->startOfDay(); } elseif ($tz->day >= 5) { - // 结算上月20号-到当月4号的管理津贴 - $startAt = $tz->copy()->subMonthNoOverflow()->set('day', 20)->startOfDay(); - $endAt = $tz->copy()->set('day', 4)->endOfDay(); + // 结算当月5号开始的管理津贴 + $startAt = $tz->copy()->setDay(5)->startOfDay(); } else { - // 结算上月5号-到19号的管理津贴 - $startAt = $tz->copy()->subMonthNoOverflow()->setDay(5)->startOfDay(); - $endAt = $startAt->copy()->setDay(19)->endOfDay(); + // 结算上月20号开始的管理津贴 + $startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay(); } - $subsidyLogs = DealerManageSubsidyLog::select([ - 'product_id', - DB::raw('sum(sales_volume) as sales_volume'), - DB::raw('sum(total_amount) as total_amount'), - ])->where( + return DealerManageSubsidyLog::where( 'user_id', $this->user_id - )->whereBetween( - 'order_completed_at', [$startAt, $endAt] - )->groupBy('product_id')->get(); - - // 补贴总金额 - $totalAmount = 0; - - foreach ($subsidyLogs as $subsidyLog) { - $totalAmount = bcadd($totalAmount, $subsidyLog->total_amount, 2); - } - - return $totalAmount; + )->where('order_completed_at', '>=', $startAt)->sum('total_amount'); } /**