1
0
Fork 0
internet-everythings-agricu.../app/Http/Controllers/Api/WarningNoticeController.php

44 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Helpers\Paginator;
use App\Http\Controllers\Controller;
use App\Models\WarningNotice;
use Illuminate\Http\Request;
use App\Filters\WarningNoticeFilter;
use App\Http\Resources\WarningNoticeResource;
use DB;
class WarningNoticeController extends Controller
{
/**
* 获取警报数量
*/
public function warningLogNum(Request $request){
$list = WarningNotice::filter($request->input(), WarningNoticeFilter::class)
->select(DB::raw('lv, count(1) as num'))
->groupBy('lv')
->get()
->pluck('num', 'lv')->toArray();
for($i = 1; $i <= 4; $i++) {
$data[$i] = $list[$i] ?? 0;
}
return $this->json($data);
}
/**
* 获取警报记录
*
* @return void
*/
public function warningLog(Request $request)
{
$query = WarningNotice::with(['device.modes'])->filter($request->input(), WarningNoticeFilter::class)->orderBy('created_at', 'desc');
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));
return $this->json(WarningNoticeResource::collection($list));
}
}