mobile; $nickname = $request->nickname; $start = $request->start; $end = $request->end; $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $accounts = UserAccount::when($mobile, function ($query) use ($mobile) { $query->whereHas('user', function ($query) use ($mobile) { $query->where('mobile', 'like', "%{$mobile}%"); }); })->when($nickname, function ($query) use ($nickname) { $query->whereHas('user.info', function ($query) use ($nickname) { $query->where('nickname', 'like', "%{$nickname}%"); }); })->when($start && $end, function ($query) use ($start, $end) { return $query->whereBetween('created_at', [$start, date('Y-m-d', strtotime("+1 days", strtotime($end)))]); })->when($start && !$end, function ($query) use ($start) { return $query->where('created_at', '>=', $start); })->when(!$start && $end, function ($query) use ($end) { return $query->where('created_at', '<=', date('Y-m-d', strtotime("+1 days", strtotime($end)))); })->when($orderField, function ($query) use ($orderField, $orderDirection) { $query->orderBy($orderField, $orderDirection); })->with(['user'])->latest()->paginate($numPerPage); return view('Admin::accounts.index', compact('accounts')); } public function rules(Request $request) { $title = $request->title; $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $rules = UserAccountRule::when($title, function ($query) use ($title) { $query->where('title', 'like', "%{$title}%"); })->when($orderField, function ($query) use ($orderField, $orderDirection) { $query->orderBy($orderField, $orderDirection); })->latest()->paginate($numPerPage); return view('Admin::accounts.rules', compact('rules')); } public function logs(Request $request) { $mobile = $request->mobile; $rule_id = $request->rule_id; $nickname = $request->nickname; $start = $request->start; $end = $request->end; $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $logs = UserAccountLog::when($mobile, function ($query) use ($mobile) { $query->whereHas('user', function ($query) use ($mobile) { $query->where('mobile', 'like', "%{$mobile}%"); }); })->when($nickname, function ($query) use ($nickname) { $query->whereHas('user.info', function ($query) use ($nickname) { $query->where('nickname', 'like', "%{$nickname}%"); }); })->when($rule_id, function ($query) use ($rule_id) { return $query->where('rule_id', $rule_id); })->when($start && $end, function ($query) use ($start, $end) { return $query->whereBetween('created_at', [$start, date('Y-m-d', strtotime("+1 days", strtotime($end)))]); })->when($start && !$end, function ($query) use ($start) { return $query->where('created_at', '>=', $start); })->when(!$start && $end, function ($query) use ($end) { return $query->where('created_at', '<=', date('Y-m-d', strtotime("+1 days", strtotime($end)))); })->when($orderField, function ($query) use ($orderField, $orderDirection) { $query->orderBy($orderField, $orderDirection); })->with(['user.info', 'rule'])->latest()->orderBy('id', 'desc')->paginate($numPerPage); $rules = UserAccountRule::get(); return view('Admin::accounts.logs', compact('logs', 'rules')); } /** * 提现申请 * @Author: * @Date:2018-11-08T16:48:31+0800 * @param Request $request [description] * @return [type] [description] */ public function withdraws(Request $request) { $mobile = $request->mobile; $nickname = $request->nickname; $start = $request->start; $end = $request->end; $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $withdraws = Withdraw::when($mobile, function ($query) use ($mobile) { $query->whereHas('user', function ($query) use ($mobile) { $query->where('mobile', 'like', "%{$mobile}%"); }); })->when($nickname, function ($query) use ($nickname) { $query->whereHas('user.info', function ($query) use ($nickname) { $query->where('nickname', 'like', "%{$nickname}%"); }); })->when($start && $end, function ($query) use ($start, $end) { return $query->whereBetween('created_at', [$start, date('Y-m-d', strtotime("+1 days", strtotime($end)))]); })->when($start && !$end, function ($query) use ($start) { return $query->where('created_at', '>=', $start); })->when(!$start && $end, function ($query) use ($end) { return $query->where('created_at', '<=', date('Y-m-d', strtotime("+1 days", strtotime($end)))); })->when($orderField, function ($query) use ($orderField, $orderDirection) { $query->orderBy($orderField, $orderDirection); })->with(['user.info'])->latest()->paginate($numPerPage); return view('Admin::accounts.withdraws', compact('withdraws')); } /** * 通过提现申请 * @Author: * @Date:2018-11-08T16:48:10+0800 * @param Request $request [description] * @param Withdraw $withdraw [description] * @return [type] [description] */ public function approve(Request $request, Withdraw $withdraw) { } /** * 驳回提现申请 * @Author: * @Date:2018-11-08T16:48:19+0800 * @param Request $request [description] * @param Withdraw $withdraw [description] * @return [type] [description] */ public function reject(Request $request, Withdraw $withdraw) { if ($request->isMethod('POST')) { # code... } else { return view('Admin::accounts.reject', compact('withdraw')); } } }