From b5dee6c1de491c273626bf39266b64485170ed80 Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 26 Jan 2023 12:05:00 +0300 Subject: [PATCH 1/7] http://jira.mfd.msk:8088/browse/CLS-90 --- OrderRegisterService --- .../service/OrderRegisterService.java | 56 +++++++ .../platform/messaging/domain/Consts.java | 1 + .../cud/registry/OrderRegisterNewRequest.java | 143 ++++++++++++++++++ 3 files changed, 200 insertions(+) create mode 100644 clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/OrderRegisterService.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/OrderRegisterNewRequest.java diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/OrderRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/OrderRegisterService.java new file mode 100644 index 000000000..af076b9dc --- /dev/null +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/OrderRegisterService.java @@ -0,0 +1,56 @@ +package ru.spcex.clearing.registry.service; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.producer.Producer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.register.OrderRegister; +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.registry.OrderRegisterNewRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + +@Service +public class OrderRegisterService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final Imdg orderRegisterMap; + + @Autowired + public OrderRegisterService(Consumer kafkaQueue, Producer kafkaProducer, + ImdgProvider imdgProvider) { + super(kafkaQueue, kafkaProducer); + this.orderRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_OrderRegister, OrderRegister.class); + } + + @Override + public void afterPropertiesSet() { + callback(OrderRegisterNewRequest.class) + .setConsumer(this::orderRegisterNew) + .forDestination(Consts.REGISTRY_ORDER_REGISTER_NEW, callbacks::put); + init(); + } + + public void orderRegisterNew(BaseRequest userRequest) { + OrderRegisterNewRequest req = userRequest.getRequestPayload(); + log.debug("OrderRegisterNewRequest received"); + OrderRegister register = new OrderRegister(); + register.setCreditLegAccount(req.getCreditLegAccount()); + register.setCreditLegAmount(req.getCreditLegAmount()); + register.setCreditLegCurrencyCode(req.getCreditLegCurrencyCode()); + register.setCreditLegDirection(req.getCreditLegDirection()); + register.setDebitLegAccount(req.getDebitLegAccount()); + register.setSender(req.getSender()); + register.setAddressee(req.getAddressee()); + register.setDocumentNumber(req.getDocumentNumber()); + register.setClearingDate(req.getClearingDate()); + orderRegisterMap.insert(register); + log.debug("successfully processed, id {}", register.getId()); + } +} diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index 657259582..e1365fb4e 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -57,4 +57,5 @@ public interface Consts { String REGISTRY_COVERED_DEAL_REGISTER_NEW = "registry-covered-deal-register-new"; String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new"; + String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new"; } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/OrderRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/OrderRegisterNewRequest.java new file mode 100644 index 000000000..9d1022cc9 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/OrderRegisterNewRequest.java @@ -0,0 +1,143 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.registry; + + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +public class OrderRegisterNewRequest { + + @JsonProperty + private String creditLegAccount; + + @JsonProperty + private BigDecimal creditLegAmount; + + @JsonProperty + private String creditLegCurrencyCode; + + @JsonProperty + private Long creditLegDirection; + + @JsonProperty + private String debitLegAccount; + + @JsonProperty + private String sender; + + @JsonProperty + private String addressee; + + @JsonProperty + private String documentNumber; + + @JsonProperty + private Long id; + + @JsonProperty + private Instant createdAt; + + @JsonProperty + private Instant updatedAt; + + @JsonProperty + private LocalDate clearingDate; + + public String getCreditLegAccount() { + return creditLegAccount; + } + + public void setCreditLegAccount(String creditLegAccount) { + this.creditLegAccount = creditLegAccount; + } + + public BigDecimal getCreditLegAmount() { + return creditLegAmount; + } + + public void setCreditLegAmount(BigDecimal creditLegAmount) { + this.creditLegAmount = creditLegAmount; + } + + public String getCreditLegCurrencyCode() { + return creditLegCurrencyCode; + } + + public void setCreditLegCurrencyCode(String creditLegCurrencyCode) { + this.creditLegCurrencyCode = creditLegCurrencyCode; + } + + public Long getCreditLegDirection() { + return creditLegDirection; + } + + public void setCreditLegDirection(Long creditLegDirection) { + this.creditLegDirection = creditLegDirection; + } + + public String getDebitLegAccount() { + return debitLegAccount; + } + + public void setDebitLegAccount(String debitLegAccount) { + this.debitLegAccount = debitLegAccount; + } + + public String getSender() { + return sender; + } + + public void setSender(String sender) { + this.sender = sender; + } + + public String getAddressee() { + return addressee; + } + + public void setAddressee(String addressee) { + this.addressee = addressee; + } + + public String getDocumentNumber() { + return documentNumber; + } + + public void setDocumentNumber(String documentNumber) { + this.documentNumber = documentNumber; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public LocalDate getClearingDate() { + return clearingDate; + } + + public void setClearingDate(LocalDate clearingDate) { + this.clearingDate = clearingDate; + } +} From 5cd4531638c59bc1dfa1ce756ba20b90775d3348 Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 26 Jan 2023 12:34:12 +0300 Subject: [PATCH 2/7] http://jira.mfd.msk:8088/browse/CLS-91 --- ContractRegisterService --- .../service/ContractRegisterService.java | 63 ++++++ .../platform/messaging/domain/Consts.java | 1 + .../registry/ContractRegisterNewRequest.java | 196 ++++++++++++++++++ 3 files changed, 260 insertions(+) create mode 100644 clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ContractRegisterService.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ContractRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ContractRegisterService.java new file mode 100644 index 000000000..7b52e2ccb --- /dev/null +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ContractRegisterService.java @@ -0,0 +1,63 @@ +package ru.spcex.clearing.registry.service; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.producer.Producer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.register.ContractRegister; +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.registry.ContractRegisterNewRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + + +@Service +public class ContractRegisterService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final Imdg contractRegisterMap; + + @Autowired + public ContractRegisterService(Consumer kafkaQueue, Producer kafkaProducer, + ImdgProvider imdgProvider) { + super(kafkaQueue, kafkaProducer); + this.contractRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ContractRegister, ContractRegister.class); + } + + @Override + public void afterPropertiesSet() { + callback(ContractRegisterNewRequest.class) + .setConsumer(this::contractRegisterNew) + .forDestination(Consts.REGISTRY_CONTRACT_REGISTER_NEW, callbacks::put); + init(); + } + + public void contractRegisterNew(BaseRequest userRequest) { + ContractRegisterNewRequest req = userRequest.getRequestPayload(); + log.debug("ContractRegisterNewRequest received"); + ContractRegister register = new ContractRegister(); + register.setName(req.getName()); + register.setNumber(req.getNumber()); + register.setIssueDate(req.getIssueDate()); + register.setCompanyFullName(req.getCompanyFullName()); + register.setCompanyId(req.getCompanyId()); + register.setDocumentType(req.getDocumentType()); + register.setIssuePlace(req.getIssuePlace()); + register.setIssuer(req.getIssuer()); + register.setIssuerCode(req.getIssuerCode()); + register.setPlace(req.getPlace()); + register.setValidFromDate(req.getValidFromDate()); + register.setValidToDate(req.getValidToDate()); + register.setCloseDate(req.getCloseDate()); + register.setComment(req.getComment()); + + contractRegisterMap.insert(register); + log.debug("successfully processed, id {}", register.getId()); + } +} \ No newline at end of file diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index e1365fb4e..26c8436c5 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -58,4 +58,5 @@ public interface Consts { String REGISTRY_COVERED_DEAL_REGISTER_NEW = "registry-covered-deal-register-new"; String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new"; String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new"; + String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new"; } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java new file mode 100644 index 000000000..579b37e19 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java @@ -0,0 +1,196 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.registry; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.time.Instant; +import java.time.LocalDate; + +public class ContractRegisterNewRequest { + + @JsonProperty + private String name; + + @JsonProperty + private String number; + + @JsonProperty + private LocalDate issueDate; + + @JsonProperty + private Long companyFullName; + + @JsonProperty + private Long companyId; + + @JsonProperty + private String documentType; + + @JsonProperty + private String issuePlace; + + @JsonProperty + private String issuer; + + @JsonProperty + private String issuerCode; + + @JsonProperty + private String place; + + @JsonProperty + private LocalDate validFromDate; + + @JsonProperty + private LocalDate validToDate; + + @JsonProperty + private LocalDate closeDate; + + @JsonProperty + private String comment; + + @JsonProperty + private Long id; + + @JsonProperty + private Instant createdAt; + + @JsonProperty + private Instant updatedAt; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public LocalDate getCloseDate() { + return closeDate; + } + + public void setCloseDate(LocalDate closeDate) { + this.closeDate = closeDate; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public LocalDate getIssueDate() { + return issueDate; + } + + public void setIssueDate(LocalDate issueDate) { + this.issueDate = issueDate; + } + + public Long getCompanyFullName() { + return companyFullName; + } + + public void setCompanyFullName(Long companyFullName) { + this.companyFullName = companyFullName; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getDocumentType() { + return documentType; + } + + public void setDocumentType(String documentType) { + this.documentType = documentType; + } + + public String getIssuePlace() { + return issuePlace; + } + + public void setIssuePlace(String issuePlace) { + this.issuePlace = issuePlace; + } + + public String getIssuer() { + return issuer; + } + + public void setIssuer(String issuer) { + this.issuer = issuer; + } + + public String getIssuerCode() { + return issuerCode; + } + + public void setIssuerCode(String issuerCode) { + this.issuerCode = issuerCode; + } + + public String getPlace() { + return place; + } + + public void setPlace(String place) { + this.place = place; + } + + public LocalDate getValidFromDate() { + return validFromDate; + } + + public void setValidFromDate(LocalDate validFromDate) { + this.validFromDate = validFromDate; + } + + public LocalDate getValidToDate() { + return validToDate; + } + + public void setValidToDate(LocalDate validToDate) { + this.validToDate = validToDate; + } +} From b3c7ec99d36c23a03f1f16967aef15eee1361141 Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 26 Jan 2023 13:15:56 +0300 Subject: [PATCH 3/7] http://jira.mfd.msk:8088/browse/CLS-86 --- BalanceRegisterService --- .../service/BalanceRegisterService.java | 62 ++++++ .../platform/messaging/domain/Consts.java | 1 + .../registry/BalanceRegisterNewRequest.java | 196 ++++++++++++++++++ 3 files changed, 259 insertions(+) create mode 100644 clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/BalanceRegisterService.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/BalanceRegisterNewRequest.java diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/BalanceRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/BalanceRegisterService.java new file mode 100644 index 000000000..21c639fe6 --- /dev/null +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/BalanceRegisterService.java @@ -0,0 +1,62 @@ +package ru.spcex.clearing.registry.service; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.producer.Producer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.misc.BalanceRegister; +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.registry.BalanceRegisterNewRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + + +@Service +public class BalanceRegisterService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final Imdg balanceRegisterMap; + + @Autowired + public BalanceRegisterService(Consumer kafkaQueue, Producer kafkaProducer, + ImdgProvider imdgProvider) { + super(kafkaQueue, kafkaProducer); + this.balanceRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_BalanceRegister, BalanceRegister.class); + } + + @Override + public void afterPropertiesSet() { + callback(BalanceRegisterNewRequest.class) + .setConsumer(this::balanceRegisterNew) + .forDestination(Consts.REGISTRY_BALANCE_REGISTER_NEW, callbacks::put); + init(); + } + + public void balanceRegisterNew(BaseRequest userRequest) { + BalanceRegisterNewRequest req = userRequest.getRequestPayload(); + log.debug("BalanceRegisterNewRequest received"); + BalanceRegister register = new BalanceRegister(); + register.setsDf01Date(req.getsDf01Date()); + register.setCurrencyCode(req.getCurrencyCode()); + register.setSetHouseName(req.getSetHouseName()); + register.setAccount(req.getAccount()); + register.setInfoAccount(req.getInfoAccount()); + register.setRemainderSum(req.getRemainderSum()); + register.setBlockedSum(req.getBlockedSum()); + register.setUnblockedSum(req.getUnblockedSum()); + register.setInn(req.getInn()); + register.setMarket(req.getMarket()); + register.setFullName(req.getFullName()); + register.setTypeRemains(req.getTypeRemains()); + register.setDocNumber(req.getDocNumber()); + register.setCompanyId(req.getCompanyId()); + balanceRegisterMap.insert(register); + log.debug("successfully processed, id {}", register.getId()); + } +} \ No newline at end of file diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index 26c8436c5..ef689737a 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -59,4 +59,5 @@ public interface Consts { String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new"; String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new"; String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new"; + String REGISTRY_BALANCE_REGISTER_NEW = "registry-balance-register-new"; } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/BalanceRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/BalanceRegisterNewRequest.java new file mode 100644 index 000000000..1b8db037c --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/BalanceRegisterNewRequest.java @@ -0,0 +1,196 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.registry; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.math.BigDecimal; +import java.time.Instant; + +public class BalanceRegisterNewRequest { + + @JsonProperty + private Instant sDf01Date; + + @JsonProperty + private String currencyCode; + + @JsonProperty + private String setHouseName; + + @JsonProperty + private String account; + + @JsonProperty + private String infoAccount; + + @JsonProperty + private BigDecimal remainderSum; + + @JsonProperty + private BigDecimal blockedSum; + + @JsonProperty + private BigDecimal unblockedSum; + + @JsonProperty + private String inn; + + @JsonProperty + private Long market; + + @JsonProperty + private String fullName; + + @JsonProperty + private String typeRemains; + + @JsonProperty + private String docNumber; + + @JsonProperty + private Long companyId; + + @JsonProperty + private Long id; + + @JsonProperty + private Instant createdAt; + + @JsonProperty + private Instant updatedAt; + + public Instant getsDf01Date() { + return sDf01Date; + } + + public void setsDf01Date(Instant sDf01Date) { + this.sDf01Date = sDf01Date; + } + + public String getCurrencyCode() { + return currencyCode; + } + + public void setCurrencyCode(String currencyCode) { + this.currencyCode = currencyCode; + } + + public String getSetHouseName() { + return setHouseName; + } + + public void setSetHouseName(String setHouseName) { + this.setHouseName = setHouseName; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getInfoAccount() { + return infoAccount; + } + + public void setInfoAccount(String infoAccount) { + this.infoAccount = infoAccount; + } + + public BigDecimal getRemainderSum() { + return remainderSum; + } + + public void setRemainderSum(BigDecimal remainderSum) { + this.remainderSum = remainderSum; + } + + public BigDecimal getBlockedSum() { + return blockedSum; + } + + public void setBlockedSum(BigDecimal blockedSum) { + this.blockedSum = blockedSum; + } + + public BigDecimal getUnblockedSum() { + return unblockedSum; + } + + public void setUnblockedSum(BigDecimal unblockedSum) { + this.unblockedSum = unblockedSum; + } + + public String getInn() { + return inn; + } + + public void setInn(String inn) { + this.inn = inn; + } + + public Long getMarket() { + return market; + } + + public void setMarket(Long market) { + this.market = market; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getTypeRemains() { + return typeRemains; + } + + public void setTypeRemains(String typeRemains) { + this.typeRemains = typeRemains; + } + + public String getDocNumber() { + return docNumber; + } + + public void setDocNumber(String docNumber) { + this.docNumber = docNumber; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } +} From 3eeab23360c6757dea7cd12169080532f89ecf85 Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 26 Jan 2023 14:32:48 +0300 Subject: [PATCH 4/7] http://jira.mfd.msk:8088/browse/CLS-89 --- UncoveredDealRegisterService --- .../service/UncoveredDealRegisterService.java | 63 +++++ .../platform/messaging/domain/Consts.java | 1 + .../UncoveredDealRegisterNewRequest.java | 219 ++++++++++++++++++ 3 files changed, 283 insertions(+) create mode 100644 clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/UncoveredDealRegisterService.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/UncoveredDealRegisterNewRequest.java diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/UncoveredDealRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/UncoveredDealRegisterService.java new file mode 100644 index 000000000..f9b0d6580 --- /dev/null +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/UncoveredDealRegisterService.java @@ -0,0 +1,63 @@ +package ru.spcex.clearing.registry.service; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.producer.Producer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.register.UncoveredDealRegister; +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.registry.UncoveredDealRegisterNewRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + +@Service +public class UncoveredDealRegisterService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final Imdg uncoveredDealRegisterMap; + + @Autowired + public UncoveredDealRegisterService(Consumer kafkaQueue, Producer kafkaProducer, + ImdgProvider imdgProvider) { + super(kafkaQueue, kafkaProducer); + this.uncoveredDealRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_UncoveredDealRegister, UncoveredDealRegister.class); + } + + @Override + public void afterPropertiesSet() { + callback(UncoveredDealRegisterNewRequest.class) + .setConsumer(this::uncoveredDealRegisterNew) + .forDestination(Consts.REGISTRY_UNCOVERED_DEAL_REGISTER_NEW, callbacks::put); + init(); + } + + public void uncoveredDealRegisterNew(BaseRequest userRequest) { + UncoveredDealRegisterNewRequest req = userRequest.getRequestPayload(); + log.debug("UncoveredDealRegisterNewRequest received"); + UncoveredDealRegister register = new UncoveredDealRegister(); + register.setExecutionId(req.getExecutionId()); + register.setCompanyFullName(req.getCompanyFullName()); + register.setTradingDate(req.getTradingDate()); + register.setExchangeExecutionId(req.getExchangeExecutionId()); + register.setExchangeExecutionTime(req.getExchangeExecutionTime()); + register.setSecuritySymbol(req.getSecuritySymbol()); + register.setSecurityFullName(req.getSecurityFullName()); + register.setSellerFullName(req.getSellerFullName()); + register.setSellerClearingCode(req.getSellerClearingCode()); + register.setSellerAccount(req.getSellerAccount()); + register.setBuyerFullName(req.getBuyerFullName()); + register.setBuyerClearingCode(req.getBuyerClearingCode()); + register.setBuyerAccount(req.getBuyerAccount()); + register.setAmount(req.getAmount()); + register.setResultStatus(req.getResultStatus()); + register.setClearingDate(req.getClearingDate()); + uncoveredDealRegisterMap.insert(register); + log.debug("successfully processed, id {}", register.getId()); + } +} diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index ef689737a..b5e7b027a 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -60,4 +60,5 @@ public interface Consts { String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new"; String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new"; String REGISTRY_BALANCE_REGISTER_NEW = "registry-balance-register-new"; + String REGISTRY_UNCOVERED_DEAL_REGISTER_NEW = "registry-uncovered-deal-register-new"; } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/UncoveredDealRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/UncoveredDealRegisterNewRequest.java new file mode 100644 index 000000000..656ae8748 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/UncoveredDealRegisterNewRequest.java @@ -0,0 +1,219 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.registry; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +public class UncoveredDealRegisterNewRequest { + + @JsonProperty + private Long executionId; + + @JsonProperty + private String companyFullName; + + @JsonProperty + private LocalDate tradingDate; + + @JsonProperty + private Long exchangeExecutionId; + + @JsonProperty + private Instant exchangeExecutionTime; + + @JsonProperty + private String securitySymbol; + + @JsonProperty + private String securityFullName; + + @JsonProperty + private String sellerFullName; + + @JsonProperty + private String sellerClearingCode; + + @JsonProperty + private String sellerAccount; + + @JsonProperty + private String buyerFullName; + + @JsonProperty + private String buyerClearingCode; + + @JsonProperty + private String buyerAccount; + + @JsonProperty + private BigDecimal amount; + + @JsonProperty + private String resultStatus; + + @JsonProperty + private Long id; + + @JsonProperty + private Instant createdAt; + + @JsonProperty + private Instant updatedAt; + + @JsonProperty + private LocalDate clearingDate; + + public Long getExecutionId() { + return executionId; + } + + public void setExecutionId(Long executionId) { + this.executionId = executionId; + } + + public String getCompanyFullName() { + return companyFullName; + } + + public void setCompanyFullName(String companyFullName) { + this.companyFullName = companyFullName; + } + + public LocalDate getTradingDate() { + return tradingDate; + } + + public void setTradingDate(LocalDate tradingDate) { + this.tradingDate = tradingDate; + } + + public Long getExchangeExecutionId() { + return exchangeExecutionId; + } + + public void setExchangeExecutionId(Long exchangeExecutionId) { + this.exchangeExecutionId = exchangeExecutionId; + } + + public Instant getExchangeExecutionTime() { + return exchangeExecutionTime; + } + + public void setExchangeExecutionTime(Instant exchangeExecutionTime) { + this.exchangeExecutionTime = exchangeExecutionTime; + } + + public String getSecuritySymbol() { + return securitySymbol; + } + + public void setSecuritySymbol(String securitySymbol) { + this.securitySymbol = securitySymbol; + } + + public String getSecurityFullName() { + return securityFullName; + } + + public void setSecurityFullName(String securityFullName) { + this.securityFullName = securityFullName; + } + + public String getSellerFullName() { + return sellerFullName; + } + + public void setSellerFullName(String sellerFullName) { + this.sellerFullName = sellerFullName; + } + + public String getSellerClearingCode() { + return sellerClearingCode; + } + + public void setSellerClearingCode(String sellerClearingCode) { + this.sellerClearingCode = sellerClearingCode; + } + + public String getSellerAccount() { + return sellerAccount; + } + + public void setSellerAccount(String sellerAccount) { + this.sellerAccount = sellerAccount; + } + + public String getBuyerFullName() { + return buyerFullName; + } + + public void setBuyerFullName(String buyerFullName) { + this.buyerFullName = buyerFullName; + } + + public String getBuyerClearingCode() { + return buyerClearingCode; + } + + public void setBuyerClearingCode(String buyerClearingCode) { + this.buyerClearingCode = buyerClearingCode; + } + + public String getBuyerAccount() { + return buyerAccount; + } + + public void setBuyerAccount(String buyerAccount) { + this.buyerAccount = buyerAccount; + } + + public BigDecimal getAmount() { + return amount; + } + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } + + public String getResultStatus() { + return resultStatus; + } + + public void setResultStatus(String resultStatus) { + this.resultStatus = resultStatus; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public LocalDate getClearingDate() { + return clearingDate; + } + + public void setClearingDate(LocalDate clearingDate) { + this.clearingDate = clearingDate; + } +} From 3071a4457aacb33b507096b29d743815049deeec Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 26 Jan 2023 17:56:08 +0300 Subject: [PATCH 5/7] http://jira.mfd.msk:8088/browse/CLS-84 --- ClearMemberRegisterService --- .../service/ClearMemberRegisterService.java | 73 ++++ .../platform/messaging/domain/Consts.java | 1 + .../ClearMemberRegisterNewRequest.java | 317 ++++++++++++++++++ 3 files changed, 391 insertions(+) create mode 100644 clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterService.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterNewRequest.java diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterService.java new file mode 100644 index 000000000..aeaab9ced --- /dev/null +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterService.java @@ -0,0 +1,73 @@ +package ru.spcex.clearing.registry.service; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.producer.Producer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.misc.ClearMemberRegister; +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.registry.ClearMemberRegisterNewRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + + +@Service +public class ClearMemberRegisterService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final Imdg clearMemberRegisterMap; + + @Autowired + public ClearMemberRegisterService(Consumer kafkaQueue, Producer kafkaProducer, + ImdgProvider imdgProvider) { + super(kafkaQueue, kafkaProducer); + this.clearMemberRegisterMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearMemberRegister, ClearMemberRegister.class); + } + + @Override + public void afterPropertiesSet() { + callback(ClearMemberRegisterNewRequest.class) + .setConsumer(this::clearMemberRegisterNew) + .forDestination(Consts.REGISTRY_CLEAR_MEMBER_REGISTER_NEW, callbacks::put); + init(); + } + + public void clearMemberRegisterNew(BaseRequest userRequest) { + ClearMemberRegisterNewRequest req = userRequest.getRequestPayload(); + log.debug("ClearMemberRegisterNewRequest received"); + ClearMemberRegister register = new ClearMemberRegister(); + register.setTradingCode(req.getTradingCode()); + register.setClearingCode(req.getClearingCode()); + register.setFullName(req.getFullName()); + register.setShortName(req.getShortName()); + register.setCategoryList(req.getCategoryList()); + register.setCorporationSole(req.getCorporationSole()); + register.setAccount(req.getAccount()); + register.setBank(req.getBank()); + register.setBankName(req.getBankName()); + register.setInn(req.getInn()); + register.setBic(req.getBic()); + register.setOgrn(req.getOgrn()); + register.setCpp(req.getCpp()); + register.setOcpo(req.getOcpo()); + register.setContractNumber(req.getContractNumber()); + register.setContractDate(req.getContractDate()); + register.setRegistrationDate(req.getRegistrationDate()); + register.setSystemDate(req.getSystemDate()); + register.setAccessDate(req.getAccessDate()); + register.setSuspentionDate(req.getSuspentionDate()); + register.setReopeningDate(req.getReopeningDate()); + register.setCloseDate(req.getCloseDate()); + register.setExclusionDate(req.getExclusionDate()); + register.setAddress(req.getAddress()); + register.setEmail(req.getEmail()); + clearMemberRegisterMap.insert(register); + log.debug("successfully processed, id {}", register.getId()); + } +} \ No newline at end of file diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index b5e7b027a..66eb3bc8b 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -61,4 +61,5 @@ public interface Consts { String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new"; String REGISTRY_BALANCE_REGISTER_NEW = "registry-balance-register-new"; String REGISTRY_UNCOVERED_DEAL_REGISTER_NEW = "registry-uncovered-deal-register-new"; + String REGISTRY_CLEAR_MEMBER_REGISTER_NEW = "registry-clear-member-register-new"; } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterNewRequest.java new file mode 100644 index 000000000..21656ecab --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterNewRequest.java @@ -0,0 +1,317 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.registry; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.time.Instant; +import java.time.LocalDate; + +public class ClearMemberRegisterNewRequest { + + @JsonProperty + private String tradingCode; + + @JsonProperty + private String clearingCode; + + @JsonProperty + private String fullName; + + @JsonProperty + private String shortName; + + @JsonProperty + private String categoryList; + + @JsonProperty + private String corporationSole; + + @JsonProperty + private String account; + + @JsonProperty + private Long bank; + + @JsonProperty + private String bankName; + + @JsonProperty + private String inn; + + @JsonProperty + private String bic; + + @JsonProperty + private String ogrn; + + @JsonProperty + private String cpp; + + @JsonProperty + private String ocpo; + + @JsonProperty + private String contractNumber; + + @JsonProperty + private LocalDate contractDate; + + @JsonProperty + private LocalDate registrationDate; + + @JsonProperty + private LocalDate systemDate; + + @JsonProperty + private Instant accessDate; + + @JsonProperty + private Instant suspentionDate; + + @JsonProperty + private Instant reopeningDate; + + @JsonProperty + private Instant closeDate; + + @JsonProperty + private Instant exclusionDate; + + @JsonProperty + private String address; + + @JsonProperty + private String email; + + @JsonProperty + private Long id; + + @JsonProperty + private Instant createdAt; + + @JsonProperty + private Instant updatedAt; + + public String getTradingCode() { + return tradingCode; + } + + public void setTradingCode(String tradingCode) { + this.tradingCode = tradingCode; + } + + public String getClearingCode() { + return clearingCode; + } + + public void setClearingCode(String clearingCode) { + this.clearingCode = clearingCode; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getShortName() { + return shortName; + } + + public void setShortName(String shortName) { + this.shortName = shortName; + } + + public String getCategoryList() { + return categoryList; + } + + public void setCategoryList(String categoryList) { + this.categoryList = categoryList; + } + + public String getCorporationSole() { + return corporationSole; + } + + public void setCorporationSole(String corporationSole) { + this.corporationSole = corporationSole; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public Long getBank() { + return bank; + } + + public void setBank(Long bank) { + this.bank = bank; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getInn() { + return inn; + } + + public void setInn(String inn) { + this.inn = inn; + } + + public String getBic() { + return bic; + } + + public void setBic(String bic) { + this.bic = bic; + } + + public String getOgrn() { + return ogrn; + } + + public void setOgrn(String ogrn) { + this.ogrn = ogrn; + } + + public String getCpp() { + return cpp; + } + + public void setCpp(String cpp) { + this.cpp = cpp; + } + + public String getOcpo() { + return ocpo; + } + + public void setOcpo(String ocpo) { + this.ocpo = ocpo; + } + + public String getContractNumber() { + return contractNumber; + } + + public void setContractNumber(String contractNumber) { + this.contractNumber = contractNumber; + } + + public LocalDate getContractDate() { + return contractDate; + } + + public void setContractDate(LocalDate contractDate) { + this.contractDate = contractDate; + } + + public LocalDate getRegistrationDate() { + return registrationDate; + } + + public void setRegistrationDate(LocalDate registrationDate) { + this.registrationDate = registrationDate; + } + + public LocalDate getSystemDate() { + return systemDate; + } + + public void setSystemDate(LocalDate systemDate) { + this.systemDate = systemDate; + } + + public Instant getAccessDate() { + return accessDate; + } + + public void setAccessDate(Instant accessDate) { + this.accessDate = accessDate; + } + + public Instant getSuspentionDate() { + return suspentionDate; + } + + public void setSuspentionDate(Instant suspentionDate) { + this.suspentionDate = suspentionDate; + } + + public Instant getReopeningDate() { + return reopeningDate; + } + + public void setReopeningDate(Instant reopeningDate) { + this.reopeningDate = reopeningDate; + } + + public Instant getCloseDate() { + return closeDate; + } + + public void setCloseDate(Instant closeDate) { + this.closeDate = closeDate; + } + + public Instant getExclusionDate() { + return exclusionDate; + } + + public void setExclusionDate(Instant exclusionDate) { + this.exclusionDate = exclusionDate; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } +} From f147d1cd1c54df186dc16bbd2b2a9a7ccf057f67 Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 26 Jan 2023 18:17:31 +0300 Subject: [PATCH 6/7] http://jira.mfd.msk:8088/browse/CLS-85 --- ClearMemberRegisterChangeService --- .../register/ClearMemberRegisterChange.java | 41 +++++++++++++++ .../ClearMemberRegisterChangeService.java | 51 +++++++++++++++++++ .../clearing/imdg/IMDGDistributedNames.java | 1 + .../platform/messaging/domain/Consts.java | 3 ++ .../ClearMemberRegisterChangeNewRequest.java | 38 ++++++++++++++ 5 files changed, 134 insertions(+) create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ClearMemberRegisterChange.java create mode 100644 clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterChangeService.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterChangeNewRequest.java diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ClearMemberRegisterChange.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ClearMemberRegisterChange.java new file mode 100644 index 000000000..b87973543 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ClearMemberRegisterChange.java @@ -0,0 +1,41 @@ +package ru.clearing.classes.statics.data.register; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +import java.time.Instant; + +/** + * Журнал изменений информации участников клиринга + **/ +public class ClearMemberRegisterChange extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Instant date; + private String comment; + private String clearingCode; + + public Instant getDate() { + return date; + } + + public void setDate(Instant date) { + this.date = date; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public String getClearingCode() { + return clearingCode; + } + + public void setClearingCode(String clearingCode) { + this.clearingCode = clearingCode; + } +} diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterChangeService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterChangeService.java new file mode 100644 index 000000000..40bd281ef --- /dev/null +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ClearMemberRegisterChangeService.java @@ -0,0 +1,51 @@ +package ru.spcex.clearing.registry.service; + + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.producer.Producer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.register.ClearMemberRegisterChange; +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.registry.ClearMemberRegisterChangeNewRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + +@Service +public class ClearMemberRegisterChangeService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final Imdg clearMemberRegisterChangeMap; + + @Autowired + public ClearMemberRegisterChangeService(Consumer kafkaQueue, Producer kafkaProducer, + ImdgProvider imdgProvider) { + super(kafkaQueue, kafkaProducer); + this.clearMemberRegisterChangeMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearMemberRegisterChange, ClearMemberRegisterChange.class); + } + + @Override + public void afterPropertiesSet() { + callback(ClearMemberRegisterChangeNewRequest.class) + .setConsumer(this::clearMemberRegisterChangeNew) + .forDestination(Consts.REGISTRY_CLEAR_MEMBER_REGISTER_CHANGE_NEW, callbacks::put); + init(); + } + + public void clearMemberRegisterChangeNew(BaseRequest userRequest) { + ClearMemberRegisterChangeNewRequest req = userRequest.getRequestPayload(); + log.debug("ClearMemberRegisterChangeNewRequest received"); + ClearMemberRegisterChange register = new ClearMemberRegisterChange(); + register.setDate(req.getDate()); + register.setComment(req.getComment()); + register.setClearingCode(req.getClearingCode()); + clearMemberRegisterChangeMap.insert(register); + log.debug("successfully processed, id {}", register.getId()); + } +} \ No newline at end of file diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index ed239339f..f4773bb43 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -110,6 +110,7 @@ public final class IMDGDistributedNames { public static final String Map_LiabilitiesClaimsAssets = "Map_LiabilitiesClaimsAssets"; public static final String Map_LiabilitiesClaimsMoney = "Map_LiabilitiesClaimsMoney"; public static final String Map_ClearMemberRegister = "Map_ClearMemberRegister"; + public static final String Map_ClearMemberRegisterChange = "Map_ClearMemberRegisterChange"; public static final String Map_BalanceRegister = "Map_BalanceRegister"; public static final String Map_ExecutionDeposit = "Map_ExecutionDeposit"; public static final String Map_DealRegister = "Map_DealRegister"; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index 66eb3bc8b..b4132fa0a 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -57,9 +57,12 @@ public interface Consts { String REGISTRY_COVERED_DEAL_REGISTER_NEW = "registry-covered-deal-register-new"; String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new"; + String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new"; String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new"; String REGISTRY_BALANCE_REGISTER_NEW = "registry-balance-register-new"; String REGISTRY_UNCOVERED_DEAL_REGISTER_NEW = "registry-uncovered-deal-register-new"; String REGISTRY_CLEAR_MEMBER_REGISTER_NEW = "registry-clear-member-register-new"; + String REGISTRY_CLEAR_MEMBER_REGISTER_CHANGE_NEW = "registry-clear-member-register-change-new"; + } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterChangeNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterChangeNewRequest.java new file mode 100644 index 000000000..d3ccd715f --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ClearMemberRegisterChangeNewRequest.java @@ -0,0 +1,38 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.registry; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.time.Instant; + +public class ClearMemberRegisterChangeNewRequest { + @JsonProperty + private Instant date; + @JsonProperty + private String clearingCode; + @JsonProperty + private String comment; + + public Instant getDate() { + return date; + } + + public void setDate(Instant date) { + this.date = date; + } + + public String getClearingCode() { + return clearingCode; + } + + public void setClearingCode(String clearingCode) { + this.clearingCode = clearingCode; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} From d36eefdfb78f45b4b76a6d89b1de9e48a795e61e Mon Sep 17 00:00:00 2001 From: AKurakin Date: Fri, 27 Jan 2023 14:20:05 +0300 Subject: [PATCH 7/7] =?UTF-8?q?reports-service=20http://jira.mfd.msk:8088/?= =?UTF-8?q?browse/CLS-92=20http://jira.mfd.msk:8088/browse/CLS-102=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D0=BA=20=D0=B4=D0=BD=D0=B5=D0=B2=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D0=BE=D1=82=D1=87=D1=91=D1=82=D0=BE=D0=B2=20(INDOCUME?= =?UTF-8?q?NT,OUTDOCUMENT)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spcex/clearing/reports/services/ReportsServiceCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java index 659a9a131..260a368d0 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java @@ -28,7 +28,7 @@ import java.util.Map; @Service public class ReportsServiceCommand implements InitializingBean { public static final String QUEUE_RUN_REPORT_COMMAND = "GREP"; // см. Task.createReport - public static final String QUEUE_RUN_DAILY_REPORT_COMMAND = "DAILY"; + public static final String QUEUE_RUN_DAILY_REPORT_COMMAND = QUEUE_RUN_REPORT_COMMAND; // дневные тоже по команде GREP запускать с остальными. private final Logger log = LoggerFactory.getLogger(getClass());