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; + } +}