http://jira.mfd.msk:8088/browse/BKI-3208 Added new Errors; Added catching new errors for report_list method

This commit is contained in:
Mikhail Trofimov 2025-09-16 15:39:27 +03:00
parent 26a1467af5
commit d84bdf608c
4 changed files with 25 additions and 8 deletions

View file

@ -2,7 +2,7 @@ package ru.nbch.credit_tracker.enums;
public enum SignalError implements IEnumKeyCode { public enum SignalError implements IEnumKeyCode {
ERROR_001("001", "Ошибка распаковки архива"), ERROR_001("001", "Ошибка распаковки архива"),
ERROR_002("002", "Отсутствует обязательный элемент: "), ERROR_002("002", "Отсутствует обязательный элемент: {}"),
ERROR_003("003", "Элемент ClientId не соответствует формату XXXXXXXXX"), ERROR_003("003", "Элемент ClientId не соответствует формату XXXXXXXXX"),
ERROR_005("005", "Неверный логин или пароль"), ERROR_005("005", "Неверный логин или пароль"),
ERROR_006("006", "Доступ к услуге закрыт, обратитесь к курирующему менеджеру"), ERROR_006("006", "Доступ к услуге закрыт, обратитесь к курирующему менеджеру"),
@ -11,13 +11,18 @@ public enum SignalError implements IEnumKeyCode {
ERROR_009("009", "Превышен допустимый размер пакета"), ERROR_009("009", "Превышен допустимый размер пакета"),
ERROR_010("010", "Идентификатор субъекта (Id) не соответствует допустимому формату"), ERROR_010("010", "Идентификатор субъекта (Id) не соответствует допустимому формату"),
ERROR_011("011", "Получен невалидный XML"), ERROR_011("011", "Получен невалидный XML"),
ERROR_012("012", "Пакет не найден"), ERROR_012("012", "Пакет {} не найден"),
ERROR_013("013", "На стороне сервиса произошла ошибка, попробуйте повторить запрос позже или сообщите в техническую поддержку"), ERROR_013("013", "На стороне сервиса произошла ошибка, попробуйте повторить запрос позже или сообщите в техническую поддержку"),
ERROR_014("014", "Файл не найден"), ERROR_014("014", "Файл не найден"),
ERROR_015("015", "У данного пользователя не найдено активных пакетов"), ERROR_015("015", "У данного пользователя не найдено активных пакетов"),
ERROR_016("016", "Нет активного пакета с именем "), ERROR_016("016", "Нет активного пакета с именем {}"),
ERROR_017("017", "При обработке запроса произошла ошибка. Повторите запрос позже или обратитесь в службу технической поддержки"), // TODO get rid of duplicate? ERROR_017("017", "При обработке запроса произошла ошибка. Повторите запрос позже или обратитесь в службу технической поддержки"), // TODO get rid of duplicate?
ERROR_019("019", "У данного пользователя не найдено ни одного пакета"); ERROR_018("018", "Пакет {} находится в обработке. Дождитесь его установки на мониторинг и повторите попытку позже."),
ERROR_019("019", "У данного пользователя не найдено ни одного пакета"),
ERROR_020("020", "Пакет {} был отклонён при установке на мониторинг. Отчеты не формируются."),
ERROR_021("021", "Обработка пакета {} завершилась с ошибкой, отчёты недоступны. Обратитесь в техническую поддержку."),
ERROR_022("022", "Пакет {} снят с мониторинга, отчёты больше недоступны.");
private final String code; private final String code;
private final String message; private final String message;

View file

@ -347,7 +347,19 @@ public class SignalFacade {
public ResponseEntity<MonitoringReportListResponse> getReportList(String username, String packageName) { public ResponseEntity<MonitoringReportListResponse> getReportList(String username, String packageName) {
try { try {
if (!signalService.hasActivePackages(username, packageName)) { if (signalService.isPackagesByStatusExist(username, packageName, Status.PROCESSING)) {
throw clientExcp(SignalError.ERROR_018, XmlErrorFormat.MonitoringReportListError, packageName);
}
if (signalService.isPackagesByStatusExist(username, packageName, Status.REJECTED)) {
throw clientExcp(SignalError.ERROR_020, XmlErrorFormat.MonitoringReportListError, packageName);
}
if (signalService.isPackagesByStatusExist(username, packageName, Status.ERROR)) {
throw clientExcp(SignalError.ERROR_021, XmlErrorFormat.MonitoringReportListError, packageName);
}
if (signalService.isPackagesByStatusExist(username, packageName, Status.DELETED)) {
throw clientExcp(SignalError.ERROR_022, XmlErrorFormat.MonitoringReportListError, packageName);
}
if (!signalService.isPackagesByStatusExist(username, packageName, Status.ON_MONITORING)) {
throw clientExcp(SignalError.ERROR_012, XmlErrorFormat.MonitoringReportListError, packageName); throw clientExcp(SignalError.ERROR_012, XmlErrorFormat.MonitoringReportListError, packageName);
} }

View file

@ -317,8 +317,8 @@ public class SignalService {
return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING); return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING);
} }
public boolean hasActivePackages(String username, String packageName) { public boolean isPackagesByStatusExist(String username, String packageName, Status status) {
return userPackageService.hasActivePackages(username, packageName, Status.ON_MONITORING, Status.PROCESSING); return userPackageService.hasActivePackages(username, packageName, status);
} }
public void deletePackage(String username, String packageName, LocalDateTime deactivatedAt) { public void deletePackage(String username, String packageName, LocalDateTime deactivatedAt) {

View file

@ -11,7 +11,7 @@ public class SimpleMessageResolver {
if(errorMessage.getArgs().length == 0) { if(errorMessage.getArgs().length == 0) {
return errorMessage.getSubject().getKey(); return errorMessage.getSubject().getKey();
} else { } else {
return String.format("%s %s", errorMessage.getSubject().getKey(), Arrays.toString(errorMessage.getArgs())); return errorMessage.getSubject().getKey().replace("{}", Arrays.toString(errorMessage.getArgs()));
} }
} }
} }