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