---
OrderRegisterService
This commit is contained in:
aalehin 2023-01-26 12:05:00 +03:00
parent 8c4bee0b84
commit b5dee6c1de
3 changed files with 200 additions and 0 deletions

View file

@ -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<OrderRegister> orderRegisterMap;
@Autowired
public OrderRegisterService(Consumer<String, Object> kafkaQueue, Producer<String, Object> 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<OrderRegisterNewRequest> 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());
}
}

View file

@ -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";
}

View file

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