Merge branch 'feature/SUPPORT-9568' into develop

This commit is contained in:
Eduard Tihomiorv 2025-11-19 11:08:56 +03:00
commit 97caae0262
3 changed files with 16 additions and 14 deletions

View file

@ -142,9 +142,9 @@ public class EmployeeInfoFileUploadService {
UserIdsPair userIdsPair = SecurityUtil.getUserIdsPair();
LocalDateTime now = LocalDateTime.now();
String departureDateTime = DateUtils.convertToString(now);
if (userIdsPair == null || !isValidCsvWithSig(multipartFile, signFile)) {
return false;
validateCsvWithSigFormat(multipartFile, signFile);
if (userIdsPair == null) {
throw new FileUploadException("userIdsPair is null");
}
String esiaUserId = userIdsPair.getEsiaUserId();
String ervuId = userIdsPair.getErvuId();
@ -424,10 +424,11 @@ public class EmployeeInfoFileUploadService {
clearS3(response);
}
private boolean isValidCsvWithSig(MultipartFile file, MultipartFile signFile) {
private void validateCsvWithSigFormat(MultipartFile file, MultipartFile signFile) {
if (file == null || signFile == null || file.getOriginalFilename() == null
|| signFile.getOriginalFilename() == null) {
return false;
throw new FileUploadException("Failed to process files: " + file + ", " +
signFile);
}
Tika tika = new Tika();
MimeTypes defaultMimeTypes = MimeTypes.getDefaultMimeTypes();
@ -449,19 +450,18 @@ public class EmployeeInfoFileUploadService {
".sig");
if (!isCsv) {
LOGGER.info("Invalid main file: name={}, mimeType={}", fileName, fileMimeType);
LOGGER.error("Invalid main file: name={}, mimeType={}", fileName, fileMimeType);
throw new LocalizedException("file_format_invalid", MESSAGE_SOURCE, fileName);
}
if (!isSig) {
LOGGER.info("Invalid signature file: name={}, mimeType={}", signFileName, signMimeType);
LOGGER.error("Invalid signature file: name={}, mimeType={}", signFileName, signMimeType);
throw new LocalizedException("file_format_invalid", MESSAGE_SOURCE, fileName);
}
return isCsv && isSig;
}
catch (MimeTypeException | IOException e) {
LOGGER.error("Failed to process files: {}, {}", file.getOriginalFilename(),
throw new FileUploadException("Failed to process files: " + file.getOriginalFilename() + ", " +
signFile.getOriginalFilename(), e
);
return false;
}
}

View file

@ -7,7 +7,7 @@ cert_untrusted_root=Сертификат или цепочка сертифик
cert_is_not_time_valid=Этот сертификат или один из сертификатов в цепочке сертификатов является недопустимым по времени
file_sign_validate=Некорректная электронная подпись
mchd_validate_agent=Некорректная машиночитаемая доверенность. Представитель не совпадает с подписантом
mchd_null=Отсутствует машиночитаемая доверенность. Подписант не является руководителем организации.
mchd_null=Подписант не является руководителем организации и отсутствует машиночитаемая доверенность.
sign_ogrn_null=Приложена электронная подпись физического лица.
sign_ogrn_invalid=Файл подписан не той организацией, под которой была осуществлена загрузка.
mchd_status_invalid=Недействующая машиночитаемая доверенность.
@ -21,3 +21,4 @@ av_file_infected=Файлы заражены вирусом
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
mchd_esia_error=Некорректная машиночитаемая доверенность. Доверенность не найдена.
mchd_no_sign_rights=В доверенности (МЧД) нет полномочия "Подписание сведений о воинском учете организации для загрузки в личный кабинет юридических лиц ГИС ЕРВУ"
file_format_invalid=Неверный формат или расширения файла {0}

View file

@ -21,3 +21,4 @@ av_file_infected=Файлы заражены вирусом
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
mchd_esia_error=Некорректная машиночитаемая доверенность. Доверенность не найдена.
mchd_no_sign_rights=В доверенности (МЧД) нет полномочия "Подписание сведений о воинском учете организации для загрузки в личный кабинет юридических лиц ГИС ЕРВУ"
file_format_invalid=Неверный формат или расширения файла {0}