0
0
Files
Babyclass/app/Admin/Controllers/ProfitController.php
2020-08-04 10:09:42 +08:00

47 lines
1.6 KiB
PHP

<?php
namespace App\Admin\Controllers;
use App\Models\ProfitLog;
use Illuminate\Http\Request;
use RuLong\UserAccount\Models\UserAccountLog;
class ProfitController extends Controller
{
public function index(Request $request)
{
$status = $request->status;
$start = $request->start;
$end = $request->end;
$numPerPage = $request->numPerPage ?: 30;
$profits = ProfitLog::when($status, function ($query) use ($status) {
if ($status == 'one') {
$query->where('status', 1);
} elseif ($status == 'zero') {
$query->where('status', 0);
}
})->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))));
})->orderBy('created_at', 'desc')->paginate($numPerPage);
return view('Admin::profit.index', compact('profits'));
}
public function logs(Request $request, ProfitLog $profit)
{
$numPerPage = $request->numPerPage ?: 30;
$logs = UserAccountLog::whereJsonContains('source->no', $profit->end_at->format('Ymd'))
->orderBy('user_id', 'asc')
->paginate($numPerPage);
return view('Admin::profit.logs', compact('logs', 'profit'));
}
}