love_php/app/Http/Controllers/Admin/AuditController.php
2026-04-02 09:20:51 +08:00

60 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Audit;
use App\Services\AuditService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AuditController extends Controller
{
/**
* 审核列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|string
*/
public function list(Request $request)
{
try {
$keyword = $request->input('keyword');
$type = $request->input('type');
$status = $request->input('status', 0);
$data = Audit::with('user','operator')
->whereHas('user', function ($query) use ($keyword) {
if ($keyword) {
$query->where(DB::raw('concat(id,nickname,mobile)'), 'like', "%{$keyword}%");
}
})
->where(compact('type', 'status'))
->orderBy('id', 'desc')
->paginate();
return $this->success('ok', $data);
} catch (\Exception $e) {
return $this->failure($e->getMessage());
}
}
/**
* 审核操作
* @param Request $request
* @param AuditService $s
* @return \Illuminate\Http\JsonResponse|string
*/
public function operate(Request $request,AuditService $s)
{
try {
$s->id = $request->input('id');
$s->status = $request->input('status');
DB::beginTransaction();
$s->handle();
DB::commit();
return $this->success('ok');
} catch (\Exception $e) {
DB::rollback();
return $this->failure($e->getMessage());
}
}
}