162 lines
6.8 KiB
PHP
162 lines
6.8 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Models\Withdraw;
|
|
use Illuminate\Http\Request;
|
|
use RuLong\UserAccount\Models\UserAccount;
|
|
use RuLong\UserAccount\Models\UserAccountLog;
|
|
use RuLong\UserAccount\Models\UserAccountRule;
|
|
|
|
class AccountController extends Controller
|
|
{
|
|
|
|
public function index(Request $request)
|
|
{
|
|
$mobile = $request->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:<C.Jason>
|
|
* @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:<C.Jason>
|
|
* @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:<C.Jason>
|
|
* @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'));
|
|
}
|
|
}
|
|
}
|