From 33193b97464855f6feab4f3aee700187a38fce6f Mon Sep 17 00:00:00 2001 From: ialbert Date: Tue, 13 Dec 2022 14:22:47 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-42 --- .../balance/service/Sdf08Service.java | 36 +++++++--- .../ru/spcex/platform/enumeration/Task.java | 2 +- .../domain/cud/balance/SDf08NewRequest.java | 67 ------------------- 3 files changed, 26 insertions(+), 79 deletions(-) delete mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/SDf08NewRequest.java diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java index b7b2143c4..d93076049 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java @@ -9,39 +9,53 @@ import ru.clearing.classes.statics.data.sdf.SDf08; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.domain.cud.balance.SDf08NewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.balance.ExportToFileRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; +import java.math.BigDecimal; +import java.time.Instant; + @Service public class Sdf08Service extends QueueConsumer implements InitializingBean { private final Logger log = LoggerFactory.getLogger(getClass()); private final Imdg sdf8Map; + private final ImdgId idGenerator; + private final KafkaSender kafkaReqProducer; - public Sdf08Service(Consumer kafkaQueue, ImdgProvider imdgProvider) { + public Sdf08Service(Consumer kafkaQueue, ImdgProvider imdgProvider, KafkaSender kafkaReqProducer) { super(kafkaQueue); this.sdf8Map = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf08, SDf08.class); + this.idGenerator = imdgProvider.getImdgIdGenerator(); + this.kafkaReqProducer = kafkaReqProducer; } @Override public void afterPropertiesSet() { - callback(SDf08NewRequest.class) + callback(Object.class) .setConsumer(this::newSDf08) - .forDestination(Consts.DESTINATION_SDF08_NEW, callbacks::put); + .forDestination(Task.getAllBalance.topic(), callbacks::put); init(); } - private void newSDf08(BaseRequest userRequest) { - SDf08NewRequest req = userRequest.getRequestPayload(); - log.debug("SDf08NewRequest received"); + private void newSDf08(BaseRequest userRequest) { + log.debug("getAllBalance request received"); SDf08 sDf08 = new SDf08(); - sDf08.setNumber(req.getNumber()); - sDf08.setDatetime(req.getDatetime()); - sDf08.setGenerationTime(req.getGenerationTime()); - sDf08.setGenerationId(req.getGenerationId()); + sDf08.setNumber(BigDecimal.valueOf(Math.random())); + Instant now = Instant.now(); + sDf08.setDatetime(now); + sDf08.setGenerationTime(now); + sDf08.setGenerationId(idGenerator.nextId()); sdf8Map.insert(sDf08); + ExportToFileRequest exportRequest = new ExportToFileRequest(); + exportRequest.setSdfGroupId(sDf08.getGenerationId()); + exportRequest.setNameOfTable("DF-08"); + kafkaReqProducer.sendRequestToQueue(Consts.EXPORT_PROCESS, exportRequest); log.debug("successfully processed, new id {}", sDf08.getId()); } } diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java index 762af41b4..bf4bbb5fa 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java @@ -3,7 +3,7 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum Task implements IEnumKey { - createOrder("CORD"), createOrderConfirm("CORC"); + createOrder("CORD"), createOrderConfirm("CORC"), getAllBalance("GALB"); private final String key; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/SDf08NewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/SDf08NewRequest.java deleted file mode 100644 index b0038e7f9..000000000 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/SDf08NewRequest.java +++ /dev/null @@ -1,67 +0,0 @@ -package ru.spcex.clearing.platform.messaging.domain.cud.balance; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDeserializer; -import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer; - -import java.math.BigDecimal; -import java.time.Instant; - -public class SDf08NewRequest { - @JsonProperty - private BigDecimal number; - @JsonSerialize(using = InstantSerializer.class) - @JsonDeserialize(using = InstantDeserializer.class) - @JsonProperty - private Instant datetime; - @JsonProperty - private String fileName; - @JsonSerialize(using = InstantSerializer.class) - @JsonDeserialize(using = InstantDeserializer.class) - @JsonProperty - private Instant generationTime; - @JsonProperty - private Long generationId; - - public BigDecimal getNumber() { - return number; - } - - public void setNumber(BigDecimal number) { - this.number = number; - } - - public Instant getDatetime() { - return datetime; - } - - public void setDatetime(Instant datetime) { - this.datetime = datetime; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public Instant getGenerationTime() { - return generationTime; - } - - public void setGenerationTime(Instant generationTime) { - this.generationTime = generationTime; - } - - public Long getGenerationId() { - return generationId; - } - - public void setGenerationId(Long generationId) { - this.generationId = generationId; - } -}