update: commission type and opt knowledge sort timestamp

This commit is contained in:
tokumeikoi
2021-07-14 20:08:30 +09:00
parent 88948eb8ee
commit 77aec7d553
7 changed files with 32 additions and 10 deletions

View File

@ -132,13 +132,26 @@ class OrderService
$order->total_amount = $order->total_amount - $order->discount_amount;
}
public function setInvite(User $user)
public function setInvite(User $user):void
{
$order = $this->order;
if ($user->invite_user_id && $order->total_amount > 0) {
$order->invite_user_id = $user->invite_user_id;
$commissionFirstTime = (int)config('v2board.commission_first_time_enable', 1);
if (!$commissionFirstTime || ($commissionFirstTime && !$this->haveValidOrder($user))) {
$isCommission = false;
switch ((int)$user->commission_type) {
case 0:
$commissionFirstTime = (int)config('v2board.commission_first_time_enable', 1);
$isCommission = (!$commissionFirstTime || ($commissionFirstTime && !$this->haveValidOrder($user)));
break;
case 1:
$isCommission = true;
break;
case 2:
$isCommission = !$this->haveValidOrder($user);
break;
}
if ($isCommission) {
$inviter = User::find($user->invite_user_id);
if ($inviter && $inviter->commission_rate) {
$order->commission_balance = $order->total_amount * ($inviter->commission_rate / 100);