$params['ip'], 'port' => $params['port'], 'com_number' => $params['com_number'], ] )->first(); if ($query) { $result['status'] = false; $result['msg'] = AdminEnum::RECORD_ALREADY_EXIST; return $result; } $camera_url = self::makeCameraUrl($params); //入库动作 $res = CameraList::insert( [ 'mine_id' => $params['mine_id'], 'ip' => $params['ip'], 'port' => $params['port'], 'user_name' => $params['user_name'], 'password' => $params['password'], 'com_number' => $params['com_number'], 'camera_name' => $params['camera_name'], 'revert_id' => CameraEnum::CAMERA_DEFAULT_REVERT_ID, // 'status' => $params['status'], 'camera_url' => $camera_url, 'sort' => $params['sort'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), ] ); if (!$res) { $result['status'] = false; $result['msg'] = AdminEnum::DATABASE_ERROR; } return $result; } //生成摄像头请求链接 public static function makeCameraUrl($params) { $url = 'rtsp://' . $params['user_name'] . ':' . $params['password'] . '@'; $url .= $params['ip'] . ':' . $params['port'] . '/' . 'h264' . '/' . 'ch' . $params['com_number'] . '/'; $url .= 'sub/av_stream'; //sub 子码流 // $url .= 'main/av_stream'; //main 主码流 return $url; } //编辑摄像头链接 public static function editCameraList($params) { $result['status'] = true; $result['msg'] = AdminEnum::RETURN_SUCCESS; $camera_url = self::makeCameraUrl($params); //判断记录是否存在 $query = CameraList::find($params['id']); if (!$query) { $result['status'] = false; $result['msg'] = AdminEnum::RECORD_NOT_EXIST; return $result; } //通过ip+端口+通道号作为唯一标识判断数据是否存在 $query = CameraList::where( [ 'ip' => $params['ip'], 'port' => $params['port'], 'com_number' => $params['com_number'], ] )->where('id', '!=', $params['id'])->first(); if ($query) { $result['status'] = false; $result['msg'] = AdminEnum::RECORD_ALREADY_EXIST; return $result; } //更新动作 $res = CameraList::where('id', $params['id'])->update( [ 'mine_id' => $params['mine_id'], 'ip' => $params['ip'], 'port' => $params['port'], 'user_name' => $params['user_name'], 'password' => $params['password'], 'com_number' => $params['com_number'], 'camera_name' => $params['camera_name'], // 'status' => $params['status'], 'camera_url' => $camera_url, 'sort' => $params['sort'], 'updated_at' => date('Y-m-d H:i:s'), ] ); if (!$res) { $result['status'] = false; $result['msg'] = AdminEnum::DATABASE_ERROR; } return $result; } //删除摄像头列表记录 public static function delCameraList($params) { $result['status'] = true; $result['msg'] = AdminEnum::RETURN_SUCCESS; //判断字段是否存在 $query = CameraList::find($params['id']); if (!$query) { $result['status'] = false; $result['msg'] = AdminEnum::RECORD_NOT_EXIST; return $result; } $res = CameraList::where('id', $params['id'])->delete(); if (!$res) { $result['status'] = false; $result['msg'] = AdminEnum::DATABASE_ERROR; } return $result; } //添加摄像头链接生成字段 public static function addCameraFieldList($params) { $result['status'] = true; $result['msg'] = AdminEnum::RETURN_SUCCESS; //判断字段是否已存在 $query = CameraFieldList::where('field_name', $params['field_name'])->first(); if ($query) { $result['status'] = false; $result['msg'] = AdminEnum::RECORD_ALREADY_EXIST; return $result; } //入库动作 $res = CameraFieldList::insert( [ 'field_name' => $params['field_name'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), ] ); if (!$res) { $result['status'] = false; $result['msg'] = AdminEnum::DATABASE_ERROR; } return $result; } //编辑摄像头链接生成字段 public static function editCameraFieldList($params) { $result['status'] = true; $result['msg'] = AdminEnum::RETURN_SUCCESS; //判断字段是否存在 $query = CameraFieldList::find($params['id']); if (!$query) { $result['status'] = false; $result['msg'] = AdminEnum::RECORD_NOT_EXIST; return $result; } $res = CameraFieldList::where('id', $params['id'])->update( [ 'field_name' => $params['field_name'], 'updated_at' => date('Y-m-d H:i:s'), ] ); if (!$res) { $result['status'] = false; $result['msg'] = AdminEnum::DATABASE_ERROR; } return $result; } //删除摄像头链接生成字段 public static function delCameraFieldList($params) { $result['status'] = true; $result['msg'] = AdminEnum::RETURN_SUCCESS; //判断字段是否存在 $query = CameraFieldList::find($params['id']); if (!$query) { $result['status'] = false; $result['msg'] = AdminEnum::RECORD_NOT_EXIST; return $result; } $res = CameraFieldList::where('id', $params['id'])->delete(); if (!$res) { $result['status'] = false; $result['msg'] = AdminEnum::DATABASE_ERROR; } return $result; } }