6
0
Fork 0

添加经销商管理补贴返回】

release
vine_liutk 2022-01-19 11:40:06 +08:00 committed by 李静
parent cdb96c79e5
commit 3c75f9ac9f
2 changed files with 44 additions and 3 deletions

View File

@ -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,
];
}

View File

@ -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;
}
/**
* 确认此经销商是否是金牌经销商
*