SUPPORT-9339: Fix

This commit is contained in:
Eduard Tihomirov 2025-09-05 15:09:52 +03:00
parent 007a06258b
commit c512f99e32
7 changed files with 43 additions and 11 deletions

View file

@ -13,7 +13,12 @@ import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;

View file

@ -0,0 +1,19 @@
package ervu.exception;
/**
* @author Eduard Tihomirov
*/
public class FileUploadException extends RuntimeException{
public FileUploadException(String message) {
super(message);
}
public FileUploadException(String message, Throwable cause) {
super(message, cause);
}
public FileUploadException(Throwable cause) {
super(cause);
}
}

View file

@ -15,6 +15,7 @@ import javax.xml.parsers.DocumentBuilderFactory;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import ervu.client.fileupload.WebDavClient;
import ervu.exception.FileUploadException;
import ervu.model.fileupload.DownloadResponse;
import ervu.model.fileupload.EmployeeInfoFileFormType;
import ervu.model.fileupload.EmployeeInfoKafkaMessage;
@ -218,7 +219,7 @@ public class EmployeeInfoFileUploadService {
uploadOrgInfo.getOrgId()
);
auditService.processUploadEvent(uploadOrgInfo, fileInfos);
throw new RuntimeException(e);
throw new FileUploadException(e);
}
VerifyDocumentSignResponse verifyDocumentSignResponse;
@ -471,13 +472,13 @@ public class EmployeeInfoFileUploadService {
throw new LocalizedException("crl_certificate_expired", MESSAGE_SOURCE);
}
if (statusCode != 200) {
throw new RuntimeException("Unknown error in verify module. Error code " + errorCode);
throw new FileUploadException("Unknown error in verify module. Error code " + errorCode);
}
return objectMapper.readValue(body, VerifyDocumentSignResponse.class);
}
}
catch (IOException e) {
throw new RuntimeException("Failed to process sign module response ", e);
throw new FileUploadException("Failed to process sign module response ", e);
}
}
@ -571,7 +572,6 @@ public class EmployeeInfoFileUploadService {
catch (Exception exception) {
LOGGER.error("Failed to clear s3", exception);
}
}
private DownloadResponse processMessageFromAv(String response) throws JsonProcessingException {
@ -591,7 +591,7 @@ public class EmployeeInfoFileUploadService {
interactionService.updateStatus(avFile.getFileId(), avFile.getFileStatus().getStatus(),
downloadResponse.orgInfo().getOrgId());
auditService.processUploadEvent(downloadResponse.orgInfo(), downloadResponse.filesInfo());
throw new RuntimeException("File not checked: " + avFile.getFileName());
throw new FileUploadException("File not checked: " + avFile.getFileName());
}
return downloadResponse;
}

View file

@ -12,7 +12,10 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.*;
import org.springframework.kafka.core.ConsumerFactory;
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
import org.springframework.kafka.core.ProducerFactory;
import org.springframework.kafka.listener.ConcurrentMessageListenerContainer;
import org.springframework.kafka.requestreply.CorrelationKey;
import org.springframework.kafka.requestreply.ReplyingKafkaTemplate;

View file

@ -16,8 +16,13 @@ import ru.micord.ervu.security.esia.config.EsiaConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Service;
import ru.micord.ervu.security.esia.exception.EsiaException;
import ru.micord.ervu.security.esia.model.*;
import ru.micord.ervu.security.esia.model.BrhsModel;
import ru.micord.ervu.security.esia.model.EmployeeModel;
import ru.micord.ervu.security.esia.model.EsiaAccessToken;
import ru.micord.ervu.security.esia.model.EsiaHeader;
import ru.micord.ervu.security.esia.model.MchdInfoModel;
import ru.micord.ervu.security.esia.model.OrganizationModel;
import ru.micord.ervu.security.esia.model.PersonModel;
/**
* @author Eduard Tihomirov

View file

@ -6,7 +6,7 @@ file_sign_validate=Ошибка проверки файлов. Некоррек
mchd_validate_agent=Ошибка проверки файлов. Некорректная машиночитаемая доверенность. Представитель не совпадает с подписантом
mchd_null=Ошибка проверки файлов. Отсутствует машиночитаемая доверенность. Подписант не является руководителем организации
mchd_expired=Ошибка проверки файлов. Недействующая машиночитаемая доверенность.
mchd_tree_expired=Ошибка проверки файлов. Одна из родительский доверенностей недействующая.
mchd_tree_expired=Ошибка проверки файлов. Одна из родительских доверенностей недействующая.
mchd_validate_principal=Ошибка проверки файлов. Некорректная машиночитаемая доверенность. Доверитель не совпадает с руководителем организации
av_file_infected=Ошибка проверки файлов. Файлы заражены вирусом
mchd_cant_parse=Ошибка проверки файлов. Некорректный формат машиночитаемой доверенности

View file

@ -6,7 +6,7 @@ file_sign_validate=Ошибка проверки файлов. Некоррек
mchd_validate_agent=Ошибка проверки файлов. Некорректная машиночитаемая доверенность. Представитель не совпадает с подписантом
mchd_null=Ошибка проверки файлов. Отсутствует машиночитаемая доверенность. Подписант не является руководителем организации
mchd_expired=Ошибка проверки файлов. Недействующая машиночитаемая доверенность.
mchd_tree_expired=Ошибка проверки файлов. Одна из родительский доверенностей недействующая.
mchd_tree_expired=Ошибка проверки файлов. Одна из родительских доверенностей недействующая.
mchd_validate_principal=Ошибка проверки файлов. Некорректная машиночитаемая доверенность. Доверитель не совпадает с руководителем организации
av_file_infected=Ошибка проверки файлов. Файлы заражены вирусом
mchd_cant_parse=Ошибка проверки файлов. Некорректный формат машиночитаемой доверенности