controlAlarmModel = $controlAlarmModel; } /** * 列表 * @time 2022年10月27日 15:33 * @param Request $request */ public function index(Request $request) : \think\Response { return CatchResponse::paginate($this->controlAlarmModel->getList()); } /** * 保存信息 * @time 2022年10月27日 15:33 * @param Request $request */ public function save(Request $request) : \think\Response { return CatchResponse::success($this->controlAlarmModel->storeBy($request->post())); } /** * 读取 * @time 2022年10月27日 15:33 * @param $id */ public function read($id) : \think\Response { return CatchResponse::success($this->controlAlarmModel->findBy($id)); } /** * 更新 * @time 2022年10月27日 15:33 * @param Request $request * @param $id */ public function update(Request $request, $id) : \think\Response { return CatchResponse::success($this->controlAlarmModel->updateBy($id, $request->post())); } /** * 删除 * @time 2022年10月27日 15:33 * @param $id */ public function delete($id) : \think\Response { return CatchResponse::success($this->controlAlarmModel->deleteBy($id)); } /** * 获取今日告警列 * @param Request $request */ public function getTodayAlarmlist(Request $request){ $start_time = date('Y-m-d 00:00:00',time()-7*24*3600); $end_time = date('Y-m-d 23:59:59',time()); $xAxisData=[]; $yAxisData=[]; $list=$this->controlAlarmModel ->catchSearch() ->append(['state_text']) ->whereBetweenTime('created_at', $start_time,$end_time) ->order('created_at', 'desc') ->select(); // return $rows; return CatchResponse::success($list); } /** * 报警点统计 * @param Request $request */ public function totalAlarmAddress(Request $request){ $start_time = date('Y-m-d 00:00:00',time()-7*24*3600); $end_time = date('Y-m-d 23:59:59',time()); $xAxisData=[]; $yAxisData=[]; $list=$this->controlAlarmModel ->field('address,count(*) as num') ->group('address') ->whereBetweenTime('created_at', $start_time,$end_time) ->order('num desc') ->select(); foreach($list as $val){ $xAxisData[]=$val['address']; $yAxisData[]=$val['num']; } // return $rows; return CatchResponse::success(['xAxisData'=>$xAxisData,'yAxisData'=>$yAxisData]); } }