/
Sturon
/
Diplom
Обзор
Документация
Войти
/
Sturon
/
Diplom
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/src/main/java/ru/diplom/vision/service/SystemStatusService.java
74 строки
3 KB
Sturon
Initial
03 июн 2026, 15:01
03 июн 2026, 15:01
17b44a2
Код
Авторство
О чём код?
package ru.diplom.vision.service; import java.time.LocalDateTime; import org.springframework.stereotype.Service; import ru.diplom.vision.api.dto.SystemStatusResponse; import ru.diplom.vision.repository.CameraSourceRepository; import ru.diplom.vision.repository.InspectionProfileRepository; import ru.diplom.vision.repository.ReferenceImageRepository; @Service public class SystemStatusService { private final CameraSourceRepository cameraSourceRepository; private final InspectionProfileRepository inspectionProfileRepository; private final ReferenceImageRepository referenceImageRepository; private final StorageService storageService; public SystemStatusService( CameraSourceRepository cameraSourceRepository, InspectionProfileRepository inspectionProfileRepository, ReferenceImageRepository referenceImageRepository, StorageService storageService ) { this.cameraSourceRepository = cameraSourceRepository; this.inspectionProfileRepository = inspectionProfileRepository; this.referenceImageRepository = referenceImageRepository; this.storageService = storageService; } public SystemStatusResponse getStatus() { boolean storageWritable = storageService.isWritable(); try { long cameraCount = cameraSourceRepository.count(); long pointCount = inspectionProfileRepository.count(); long referenceCount = referenceImageRepository.count(); if (!storageWritable) { return new SystemStatusResponse( "ERROR", "Обнаружены сбои в работе системы", "Файловое хранилище недоступно для записи.", cameraCount, pointCount, referenceCount, false, LocalDateTime.now() ); } return new SystemStatusResponse( "OK", "Ошибок не обнаружено", "API, база данных и файловое хранилище работают штатно.", cameraCount, pointCount, referenceCount, true, LocalDateTime.now() ); } catch (Exception exception) { return new SystemStatusResponse( "ERROR", "Обнаружены сбои в работе системы", "Не удалось проверить базу данных или служебные компоненты.", 0, 0, 0, storageWritable, LocalDateTime.now() ); } } }