| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- <?php
 
- namespace App\Http\Controllers\User;
 
- use App\Http\Controllers\Controller;
 
- use App\Models\CommissionLog;
 
- use Illuminate\Http\Request;
 
- use App\Models\User;
 
- use App\Models\Order;
 
- use App\Models\InviteCode;
 
- use App\Utils\Helper;
 
- class InviteController extends Controller
 
- {
 
-     public function save(Request $request)
 
-     {
 
-         if (InviteCode::where('user_id', $request->user['id'])->where('status', 0)->count() >= config('v2board.invite_gen_limit', 5)) {
 
-             abort(500, __('The maximum number of creations has been reached'));
 
-         }
 
-         $inviteCode = new InviteCode();
 
-         $inviteCode->user_id = $request->user['id'];
 
-         $inviteCode->code = Helper::randomChar(8);
 
-         return response([
 
-             'data' => $inviteCode->save()
 
-         ]);
 
-     }
 
-     public function details(Request $request)
 
-     {
 
-         $current = $request->input('current') ? $request->input('current') : 1;
 
-         $pageSize = $request->input('page_size') >= 10 ? $request->input('page_size') : 10;
 
-         $builder = CommissionLog::where('invite_user_id', $request->user['id'])
 
-             ->where('get_amount', '>', 0)
 
-             ->select([
 
-                 'id',
 
-                 'trade_no',
 
-                 'order_amount',
 
-                 'get_amount',
 
-                 'created_at'
 
-             ])
 
-             ->orderBy('created_at', 'DESC');
 
-         $total = $builder->count();
 
-         $details = $builder->forPage($current, $pageSize)
 
-             ->get();
 
-         return response([
 
-             'data' => $details,
 
-             'total' => $total
 
-         ]);
 
-     }
 
-     public function fetch(Request $request)
 
-     {
 
-         $codes = InviteCode::where('user_id', $request->user['id'])
 
-             ->where('status', 0)
 
-             ->get();
 
-         $commission_rate = config('v2board.invite_commission', 10);
 
-         $user = User::find($request->user['id']);
 
-         if ($user->commission_rate) {
 
-             $commission_rate = $user->commission_rate;
 
-         }
 
-         $uncheck_commission_balance = (int)Order::where('status', 3)
 
-             ->where('commission_status', 0)
 
-             ->where('invite_user_id', $request->user['id'])
 
-             ->sum('commission_balance');
 
-         if (config('v2board.commission_distribution_enable', 0)) {
 
-             $uncheck_commission_balance = $uncheck_commission_balance * (config('v2board.commission_distribution_l1') / 100);
 
-         }
 
-         $stat = [
 
-             //已注册用户数
 
-             (int)User::where('invite_user_id', $request->user['id'])->count(),
 
-             //有效的佣金
 
-             (int)CommissionLog::where('invite_user_id', $request->user['id'])
 
-                 ->sum('get_amount'),
 
-             //确认中的佣金
 
-             $uncheck_commission_balance,
 
-             //佣金比例
 
-             (int)$commission_rate,
 
-             //可用佣金
 
-             (int)$user->commission_balance
 
-         ];
 
-         return response([
 
-             'data' => [
 
-                 'codes' => $codes,
 
-                 'stat' => $stat
 
-             ]
 
-         ]);
 
-     }
 
- }
 
 
  |