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);
|
throw new LocalizedException("mchd_cant_parse", MESSAGE_SOURCE);
|
||||||
}
|
}
|
||||||
MchdInfoModel mchdInfoModel = mchdService.getMchdInfoModel(mchdGuid);
|
MchdInfoModel mchdInfoModel = mchdService.getMchdInfoModel(mchdGuid);
|
||||||
|
if (mchdInfoModel == null) {
|
||||||
|
throw new LocalizedException("mchd_esia_error", MESSAGE_SOURCE);
|
||||||
|
}
|
||||||
LocalDate now = LocalDate.now();
|
LocalDate now = LocalDate.now();
|
||||||
if (!mchdInfoModel.getStatus().equals("A")) {
|
if (!mchdInfoModel.getStatus().equals("A")) {
|
||||||
throw new LocalizedException("mchd_status_invalid", MESSAGE_SOURCE);
|
throw new LocalizedException("mchd_status_invalid", MESSAGE_SOURCE);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import java.net.http.HttpRequest;
|
||||||
import java.net.http.HttpResponse;
|
import java.net.http.HttpResponse;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
|
|
@ -37,19 +38,22 @@ public class MchdService {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
HttpResponse<String> response = executeRequest(accessToken, guid);
|
HttpResponse<String> response = executeRequest(accessToken, guid);
|
||||||
|
if (isEsiaMchdNotFoundError(response)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (response.statusCode() != 200) {
|
if (response.statusCode() != 200) {
|
||||||
if (isNewToken) {
|
if (isNewToken) {
|
||||||
throw new EsiaException(response.statusCode() + " " + response.body());
|
throw new EsiaException(response.statusCode() + " " + response.body());
|
||||||
}
|
}
|
||||||
accessToken = esiaAuthService.getSystemAccessToken();
|
accessToken = esiaAuthService.getSystemAccessToken();
|
||||||
response = executeRequest(accessToken, guid);
|
response = executeRequest(accessToken, guid);
|
||||||
|
if (isEsiaMchdNotFoundError(response)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (response.statusCode() != 200) {
|
if (response.statusCode() != 200) {
|
||||||
throw new EsiaException(response.statusCode() + " " + response.body());
|
throw new EsiaException(response.statusCode() + " " + response.body());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return objectMapper.readValue(response.body(), MchdInfoModel.class);
|
return objectMapper.readValue(response.body(), MchdInfoModel.class);
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
|
|
@ -70,4 +74,15 @@ public class MchdService {
|
||||||
.build()
|
.build()
|
||||||
.send(getReq, HttpResponse.BodyHandlers.ofString());
|
.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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,3 +19,4 @@ mchd_tree_expired=У одной из родительских доверенно
|
||||||
mchd_validate_principal=Некорректная машиночитаемая доверенность. Доверенность выдана не той организацией, под которой была осуществлена загрузка файлов.
|
mchd_validate_principal=Некорректная машиночитаемая доверенность. Доверенность выдана не той организацией, под которой была осуществлена загрузка файлов.
|
||||||
av_file_infected=Файлы заражены вирусом
|
av_file_infected=Файлы заражены вирусом
|
||||||
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
||||||
|
mchd_esia_error=Некорректная машиночитаемая доверенность. Доверенность не найдена.
|
||||||
|
|
@ -19,3 +19,4 @@ mchd_tree_expired=У одной из родительских доверенно
|
||||||
mchd_validate_principal=Некорректная машиночитаемая доверенность. Доверенность выдана не той организацией, под которой была осуществлена загрузка файлов.
|
mchd_validate_principal=Некорректная машиночитаемая доверенность. Доверенность выдана не той организацией, под которой была осуществлена загрузка файлов.
|
||||||
av_file_infected=Файлы заражены вирусом
|
av_file_infected=Файлы заражены вирусом
|
||||||
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
mchd_cant_parse=Некорректный формат машиночитаемой доверенности
|
||||||
|
mchd_esia_error=Некорректная машиночитаемая доверенность. Доверенность не найдена.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue