更新代码
This commit is contained in:
78
app/Admin/Controllers/PaymentController.php
Normal file
78
app/Admin/Controllers/PaymentController.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use App\Models\Payment;
|
||||
use App\Models\VipPament;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PaymentController extends Controller
|
||||
{
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
|
||||
$orderid = $request->orderid;
|
||||
$trade_no = $request->trade_no;
|
||||
$start = $request->start;
|
||||
$end = $request->end;
|
||||
$orderField = $request->orderField;
|
||||
$orderDirection = $request->orderDirection;
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
|
||||
$payments = Payment::when($trade_no, function ($query) use ($trade_no) {
|
||||
$query->where('trade_no', 'like', "%{$trade_no}%");
|
||||
})->when($orderid, function ($query) use ($orderid) {
|
||||
$query->whereHas('order', function ($query) use ($orderid) {
|
||||
$query->where('orderid', 'like', "%{$orderid}%");
|
||||
});
|
||||
})->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(['order'])->latest()->paginate($numPerPage);
|
||||
|
||||
return view('Admin::payments.index', compact('payments'));
|
||||
}
|
||||
public function vip(Request $request)
|
||||
{
|
||||
$user_id = $request->user_id;
|
||||
$nickname = $request->nickname;
|
||||
$trade_no = $request->trade_no;
|
||||
$start = $request->start;
|
||||
$end = $request->end;
|
||||
$pay_type = $request->pay_type;
|
||||
$orderField = $request->orderField;
|
||||
$orderDirection = $request->orderDirection;
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
|
||||
$payments = VipPament::when($trade_no, function ($query) use ($trade_no) {
|
||||
$query->where('trade_no', 'like', "%{$trade_no}%");
|
||||
})->when($user_id, function ($query) use($user_id){
|
||||
return $query->where('user_id',$user_id);
|
||||
})->when($nickname, function ($query) use ($nickname) {
|
||||
$query->whereHas('user', function ($query) use ($nickname) {
|
||||
$query->whereHas('info', function ($query) use ($nickname) {
|
||||
$query->where('nickname', 'like', "%{$nickname}%");
|
||||
});
|
||||
});
|
||||
})->when($pay_type, function ($query) use($pay_type){
|
||||
return $query->where('type',$pay_type);
|
||||
})->when($start && $end, function ($query) use ($start, $end) {
|
||||
return $query->whereBetween('paid_at', [$start, date('Y-m-d', strtotime("+1 days", strtotime($end)))]);
|
||||
})->when($start && !$end, function ($query) use ($start) {
|
||||
return $query->where('paid_at', '>=', $start);
|
||||
})->when(!$start && $end, function ($query) use ($end) {
|
||||
return $query->where('paid_at', '<=', date('Y-m-d', strtotime("+1 days", strtotime($end))));
|
||||
})->when($orderField, function ($query) use ($orderField, $orderDirection) {
|
||||
$query->orderBy($orderField, $orderDirection);
|
||||
})->where('state', 'SUCCESS')->latest()->paginate($numPerPage);
|
||||
|
||||
return view('Admin::payments.vip', compact('payments'));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user