'hint', 2 => 'support' ]; private static array $msgTypeArr = [ 1 => 'touch', 2 => 'illegal', 3 => 'offline', 4 => 'vip', 5 => 'task' ]; public function __construct(OperationLogService $logService) { parent::__construct($logService); $this->logService->menuTitle = 'alarm_notice'; } /** * @return array|string[] */ public static function getAlarmType(): array { $alarmTypeArr = self::$alarmTypeArr; foreach ($alarmTypeArr as $key => $value) { $alarmTypeArr[$key] = __('service.notice.' . $value); } return $alarmTypeArr; } /** * @return array|string[] */ public static function getMsgType(): array { $msgTypeArr = self::$msgTypeArr; foreach ($msgTypeArr as $key => $value) { $msgTypeArr[$key] = __('service.notice.' . $value); } return $msgTypeArr; } public function getItem($item) { $alarmTypeArr = self::getAlarmType(); $msgTypeArr = self::getMsgType(); $item['alarm_type'] = $alarmTypeArr[$item['alarm_type']]; $item['msg_type'] = $msgTypeArr[$item['msg_type']]; $item['parking_space_number'] = ''; $item['license_plate'] = ''; $ParkingSpace = ParkingSpace::query()->findOrFail( $item['space_id'], ['number', 'license_plate_id'] ); if ($ParkingSpace) { $item['parking_space_number'] = $ParkingSpace['number']; $item['license_plate'] = ParkingLicensePlate::getNumber( $ParkingSpace['license_plate_id'] ); } if (isset($item['floor_id'])) { $item['floor'] = AdminFloor::getName($item['floor_id']); unset($item['floor_id']); } if (isset($item['camera_id'])) { $item['camera_number'] = ParkingCamera::getNumber($item['camera_id']); unset($item['camera_id']); } unset($item['space_id']); return $item; } public function updateConfig($data) { try { DB::beginTransaction(); $content = [ 'close_alert' => $data['close_alert'], 'close_all_alert' => $data['close_all_alert'] ]; $model = AdminConfigs::query()->where('name', 'information_setting') ->first(); $oldValues = $model->toArray(); $model->update([ 'content' => $content, 'updated_at' => get_datetime() ]); $this->logService->logUpdated($model, $oldValues, 'config.update'); DB::commit(); return $model; } catch (Exception $e) { DB::rollBack(); throw $e; } } public static function createData($data, $user_id) { $alarm_type = $data['alarm_type']; $camera_ip = $data['camera_ip']; $msg_type = $data['msg_type']; $create = [ 'alarm_time' => get_datetime(), 'alarm_type' => $alarm_type, 'camera_ip' => $camera_ip, 'msg_type' => $msg_type, 'is_read' => 0, 'admin_user_id' => $user_id, 'created_at' => get_datetime() ]; if (isset($data['space_id']) && $data['space_id']) { $create['space_id'] = $data['space_id']; } if (isset($data['floor_id']) && $data['floor_id']) { $create['floor_id'] = $data['floor_id']; } if (isset($data['camera_id']) && $data['camera_id']) { $create['camera_id'] = $data['camera_id']; } if (isset($data['msg_content']) && $data['msg_content']) { $create['msg_content'] = $data['msg_content']; } AdminNotice::query()->create($create); } }