input('email'); $status = $request->input('status'); $query = ReferralApply::with('user:id,email'); if(isset($email)){ $query->whereHas('user', static function($q) use ($email) { $q->where('email', 'like', '%'.$email.'%'); }); } if($status){ $query->whereStatus($status); } $view['applyList'] = $query->latest()->paginate(15)->appends($request->except('page')); return view('admin.affiliate.affiliateList', $view); } // 提现申请详情 public function affiliateDetail(Request $request) { $view['basic'] = ReferralApply::with('user:id,email')->find($request->input('id')); $view['commissions'] = []; if($view['basic'] && $view['basic']->link_logs){ $view['commissions'] = ReferralLog::with(['invitee:id,email', 'order.goods:id,name']) ->whereIn('id', $view['basic']->link_logs) ->paginate(15) ->appends($request->except('page')); } return view('admin.affiliate.affiliateDetail', $view); } // 设置提现申请状态 public function setAffiliateStatus(Request $request): JsonResponse { $id = $request->input('id'); $status = $request->input('status'); $ret = ReferralApply::whereId($id)->update(['status' => $status]); if($ret){ // 审核申请的时候将关联的 $referralApply = ReferralApply::findOrFail($id); if($referralApply && $status == 1){ ReferralLog::whereIn('id', $referralApply->link_logs)->update(['status' => 1]); }elseif($referralApply && $status == 2){ ReferralLog::whereIn('id', $referralApply->link_logs)->update(['status' => 2]); } } return Response::json(['status' => 'success', 'message' => '操作成功']); } // 用户返利流水记录 public function userRebateList(Request $request) { $invitee_email = $request->input('invitee_email'); $inviter_email = $request->input('inviter_email'); $status = $request->input('status'); $query = ReferralLog::with(['invitee:id,email', 'inviter:id,email'])->orderBy('status')->latest(); if(isset($invitee_email)){ $query->whereHas('invitee', static function($q) use ($invitee_email) { $q->where('email', 'like', '%'.$invitee_email.'%'); }); } if(isset($inviter_email)){ $query->whereHas('inviter', static function($q) use ($inviter_email) { $q->where('email', 'like', '%'.$inviter_email.'%'); }); } if(isset($status)){ $query->whereStatus($status); } $view['list'] = $query->paginate(15)->appends($request->except('page')); return view('admin.affiliate.userRebateList', $view); } }