SUPPORT-9536: Fix
This commit is contained in:
parent
17b2469b2b
commit
b251439461
4 changed files with 25 additions and 5 deletions
|
|
@ -558,6 +558,9 @@ public class EmployeeInfoFileUploadService {
|
|||
throw new LocalizedException("mchd_cant_parse", MESSAGE_SOURCE);
|
||||
}
|
||||
MchdInfoModel mchdInfoModel = mchdService.getMchdInfoModel(mchdGuid);
|
||||
if (mchdInfoModel == null) {
|
||||
throw new LocalizedException("mchd_esia_error", MESSAGE_SOURCE);
|
||||
}
|
||||
LocalDate now = LocalDate.now();
|
||||
if (!mchdInfoModel.getStatus().equals("A")) {
|
||||
throw new LocalizedException("mchd_status_invalid", MESSAGE_SOURCE);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import java.net.http.HttpRequest;
|
|||
import java.net.http.HttpResponse;
|
||||
import java.time.Duration;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
|
|
@ -37,19 +38,22 @@ public class MchdService {
|
|||
}
|
||||
try {
|
||||
HttpResponse<String> response = executeRequest(accessToken, guid);
|
||||
|
||||
if (isEsiaMchdNotFoundError(response)) {
|
||||
return null;
|
||||
}
|
||||
if (response.statusCode() != 200) {
|
||||
if (isNewToken) {
|
||||
throw new EsiaException(response.statusCode() + " " + response.body());
|
||||
}
|
||||
accessToken = esiaAuthService.getSystemAccessToken();
|
||||
response = executeRequest(accessToken, guid);
|
||||
|
||||
if (isEsiaMchdNotFoundError(response)) {
|
||||
return null;
|
||||
}
|
||||
if (response.statusCode() != 200) {
|
||||
throw new EsiaException(response.statusCode() + " " + response.body());
|
||||
}
|
||||
}
|
||||
|
||||
return objectMapper.readValue(response.body(), MchdInfoModel.class);
|
||||
}
|
||||
catch (Exception e) {
|
||||
|
|
@ -70,4 +74,15 @@ public class MchdService {
|
|||
.build()
|
||||
.send(getReq, HttpResponse.BodyHandlers.ofString());
|
||||
}
|
||||
|
||||
private boolean isEsiaMchdNotFoundError(HttpResponse<String> response)
|
||||
throws JsonProcessingException {
|
||||
if (response.statusCode() == 400) {
|
||||
String errorCode = objectMapper.readTree(response.body())
|
||||
.get("code")
|
||||
.asText();
|
||||
return errorCode.equals("ESIA-044009");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,4 +18,5 @@ mchd_tree_issued_on_invalid=У одной из родительских дове
|
|||
mchd_tree_expired=У одной из родительских доверенностей не наступил срок действия. Номер доверенности: {0}
|
||||
mchd_validate_principal=Некорректная машиночитаемая доверенность. Доверенность выдана не той организацией, под которой была осуществлена загрузка файлов.
|
||||
av_file_infected=Файлы заражены вирусом
|
||||
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
||||
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
||||
mchd_esia_error=Некорректная машиночитаемая доверенность. Доверенность не найдена.
|
||||
|
|
@ -18,4 +18,5 @@ mchd_tree_issued_on_invalid=У одной из родительских дове
|
|||
mchd_tree_expired=У одной из родительских доверенностей не наступил срок действия. Номер доверенности: {0}
|
||||
mchd_validate_principal=Некорректная машиночитаемая доверенность. Доверенность выдана не той организацией, под которой была осуществлена загрузка файлов.
|
||||
av_file_infected=Файлы заражены вирусом
|
||||
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
||||
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
||||
mchd_esia_error=Некорректная машиночитаемая доверенность. Доверенность не найдена.
|
||||
Loading…
Add table
Add a link
Reference in a new issue