Is the commission only paid at the first time

This commit is contained in:
Tokumeikoi 2020-03-13 01:52:34 +08:00
parent 6bf0d2d94e
commit c81cb8acca
3 changed files with 13 additions and 7 deletions

View File

@ -18,7 +18,8 @@ class ConfigController extends Controller
'invite_force' => (int)config('v2board.invite_force', 0), 'invite_force' => (int)config('v2board.invite_force', 0),
'invite_commission' => config('v2board.invite_commission', 10), 'invite_commission' => config('v2board.invite_commission', 10),
'invite_gen_limit' => config('v2board.invite_gen_limit', 5), 'invite_gen_limit' => config('v2board.invite_gen_limit', 5),
'invite_never_expire' => config('v2board.invite_never_expire', 0) 'invite_never_expire' => config('v2board.invite_never_expire', 0),
'commission_first_time_enable' => config('v2board.commission_first_time_enable', 1)
], ],
'site' => [ 'site' => [
'safe_mode_enable' => (int)config('v2board.safe_mode_enable', 0), 'safe_mode_enable' => (int)config('v2board.safe_mode_enable', 0),

View File

@ -206,12 +206,14 @@ class OrderController extends Controller
} }
// invite process // invite process
if ($user->invite_user_id && $order->total_amount > 0) { if ($user->invite_user_id && $order->total_amount > 0) {
$order->invite_user_id = $user->invite_user_id; if (!((int)config('v2board.commission_first_time', 1) && Order::where('user_id', $user->id)->first())) {
$inviter = User::find($user->invite_user_id); $order->invite_user_id = $user->invite_user_id;
if ($inviter && $inviter->commission_rate) { $inviter = User::find($user->invite_user_id);
$order->commission_balance = $order->total_amount * ($inviter->commission_rate / 100); if ($inviter && $inviter->commission_rate) {
} else { $order->commission_balance = $order->total_amount * ($inviter->commission_rate / 100);
$order->commission_balance = $order->total_amount * (config('v2board.invite_commission', 10) / 100); } else {
$order->commission_balance = $order->total_amount * (config('v2board.invite_commission', 10) / 100);
}
} }
} }
if (!$order->save()) { if (!$order->save()) {

View File

@ -7,11 +7,14 @@ use Illuminate\Foundation\Http\FormRequest;
class ConfigSave extends FormRequest class ConfigSave extends FormRequest
{ {
CONST RULES = [ CONST RULES = [
// invite & commission
'safe_mode_enable' => 'in:0,1', 'safe_mode_enable' => 'in:0,1',
'invite_force' => 'in:0,1', 'invite_force' => 'in:0,1',
'invite_commission' => 'integer', 'invite_commission' => 'integer',
'invite_gen_limit' => 'integer', 'invite_gen_limit' => 'integer',
'invite_never_expire' => 'in:0,1', 'invite_never_expire' => 'in:0,1',
'commission_first_time_enable' => 'in:0,1',
// site
'stop_register' => 'in:0,1', 'stop_register' => 'in:0,1',
'email_verify' => 'in:0,1', 'email_verify' => 'in:0,1',
'app_name' => '', 'app_name' => '',