From 3c75f9ac9f24b1e1b13a73d84f316396e621dae3 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Wed, 19 Jan 2022 11:40:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=8F=E9=94=80=E5=95=86?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E8=A1=A5=E8=B4=B4=E8=BF=94=E5=9B=9E=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Resources/Dealer/DealerResource.php | 4 +- app/Models/Dealer.php | 43 ++++++++++++++++++- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/app/Endpoint/Api/Http/Resources/Dealer/DealerResource.php b/app/Endpoint/Api/Http/Resources/Dealer/DealerResource.php index d64f3f5b..651ec61c 100644 --- a/app/Endpoint/Api/Http/Resources/Dealer/DealerResource.php +++ b/app/Endpoint/Api/Http/Resources/Dealer/DealerResource.php @@ -17,8 +17,8 @@ class DealerResource extends JsonResource return [ 'lvl' => $this->lvl, 'lvl_name'=> $this->lvl_text, - 'sale_values'=> '0.00', //todo-当前团队业绩 - 'guanli_values'=> '0.00', //todo-预计管理津贴 + 'sale_values'=> $this->sale_values, //团队销售业绩基数 + 'guanli_values'=> $this->calculate_total_amount, //预计管理津贴 'pay_info'=>$this->pay_info ?: null, ]; } diff --git a/app/Models/Dealer.php b/app/Models/Dealer.php index f1402002..3bebba6a 100644 --- a/app/Models/Dealer.php +++ b/app/Models/Dealer.php @@ -6,6 +6,7 @@ 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 { @@ -81,7 +82,7 @@ class Dealer extends Model * * @return void */ - public function getSalePriceAttribute() + public function getSaleValuesAttribute() { $tz = now(); @@ -106,6 +107,46 @@ class Dealer extends Model ->sum('total_amount'); } + public function getCalculateTotalAmountAttribute() + { + $tz = now(); + + $tz = now(); + + if ($tz->day >= 20) { + // 结算当月5号-19号的管理津贴 + $startAt = $tz->copy()->setDay(5)->startOfDay(); + $endAt = $tz->copy()->setDay(19)->endOfDay(); + } elseif ($tz->day >= 5) { + // 结算上月20号-到当月4号的管理津贴 + $startAt = $tz->copy()->subMonthNoOverflow()->set('day', 20)->startOfDay(); + $endAt = $tz->copy()->set('day', 4)->endOfDay(); + } else { + // 结算上月5号-到19号的管理津贴 + $startAt = $tz->copy()->subMonthNoOverflow()->setDay(5)->startOfDay(); + $endAt = $startAt->copy()->setDay(19)->endOfDay(); + } + + $subsidyLogs = DealerManageSubsidyLog::select([ + 'product_id', + DB::raw('sum(sales_volume) as sales_volume'), + DB::raw('sum(total_amount) as total_amount'), + ])->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; + } + /** * 确认此经销商是否是金牌经销商 *