diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java index 698d281a6..b5a795465 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java @@ -14,6 +14,10 @@ import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; +/** + * Сервис для сигнализирования результатов запросов клиентов. Ассинхронное обновление статуса. + * Клиент запрашивает периодически (или по событию) таблицу Map_RequestInfo и видит результат выполнения запросов. + */ @Service public class RequestInfoAccepter extends QueueConsumer implements InitializingBean { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -37,9 +41,15 @@ public class RequestInfoAccepter extends QueueConsumer implements InitializingBe private void updateRequestInfo(BaseRequest requestInfoUpdateBaseRequest) { //will throw exception for any class other than RequestInfoUpdate RequestInfoUpdate statusInfo = requestInfoUpdateBaseRequest.getRequestPayload(); + if (statusInfo == null || statusInfo.getId() == null) { + log.warn("BaseRequest id={}, RequestPayload={}: requestInfo id was null", + requestInfoUpdateBaseRequest.getId(), statusInfo); + return; + } RequestInfo requestInfo = requestInfoImdg.getSingleObjectByID(statusInfo.getId()); if (requestInfo == null) { - log.warn("unknown requestInfo id={}", statusInfo.getId()); + log.warn("unknown requestInfo id={}; statusInfo: {}", + statusInfo.getId(), statusInfo); return; } requestInfo.setStatus(statusInfo.getStatus());