diff --git a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/config/KafkaConfig.java b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/config/KafkaConfig.java index bb9abc2af..d12d1aaa7 100644 --- a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/config/KafkaConfig.java +++ b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/config/KafkaConfig.java @@ -13,6 +13,7 @@ import org.springframework.kafka.core.ProducerFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory; import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory; +import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; import ru.spcex.clearing.platform.messaging.service.RequestInfo; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.utility.config.settings.UtilityServiceSettings; @@ -35,6 +36,11 @@ public class KafkaConfig { return KafkaProducerFactory.producer(settings.getKafkaProducer()); } + @Bean + public ProducerFactory pf(UtilityServiceSettings settings) { + KafkaProducerSettings kafkaSettings = settings.getKafkaProducer(); + return KafkaProducerFactory.producerFactory(kafkaSettings); + } @Bean("kafkaTemplate") public KafkaTemplate kafkaTemplate(ProducerFactory pf) { diff --git a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/NotificationService.java b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/NotificationService.java index cb5b13b60..cc50660cb 100644 --- a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/NotificationService.java +++ b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/NotificationService.java @@ -9,7 +9,9 @@ import org.springframework.stereotype.Service; import ru.clearing.classes.statics.data.misc.Notification; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; -import ru.spcex.clearing.platform.messaging.domain.cud.utilities.*; +import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationFeedbackRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationUpdateRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.platform.imdg.api.Imdg; @@ -57,9 +59,13 @@ public class NotificationService extends QueueConsumer implements InitializingBe } private void notificationUpdateRequest(BaseRequest notificationUpdateRequestBaseRequest) { - log.info("Starting notificationUpdateRequest processing..."); NotificationUpdateRequest request = notificationUpdateRequestBaseRequest.getRequestPayload(); - Notification notification = notificationMap.getSingleObjectByID(request.getId()); + Long id = request.getId(); + log.info("Starting notificationUpdateRequest processing by id: {} ...", id); + Notification notification = notificationMap.getSingleObjectByID(id); + if (notification == null) { + throw new NullPointerException("Notification by id:{" + id + "} is null!"); + } notification.setNotificationStatus(request.getNotificationStatus()); notification.setUpdated(Instant.now()); notificationMap.update(notification); @@ -80,13 +86,15 @@ public class NotificationService extends QueueConsumer implements InitializingBe return notification; } - private void sendFeedbackString(String objectType, String status){ - if (objectType.equalsIgnoreCase(statement.getKey())){ + private void sendFeedbackString(String objectType, String status) { + if (objectType.equalsIgnoreCase(statement.getKey())) { kafkaSender.sendRequestToQueue(CLEARING_NOTIFICATION_FEEDBACK, buildFeedbackRequest(status)); + } else { + log.warn("Unsupported notification type {}", objectType); } } - private NotificationFeedbackRequest buildFeedbackRequest(String status){ + private NotificationFeedbackRequest buildFeedbackRequest(String status) { NotificationFeedbackRequest request = new NotificationFeedbackRequest(); request.setNotificationStatus(status); return request;