This commit is contained in:
parent
38a50d1775
commit
c49fc00d0e
4 changed files with 19 additions and 11 deletions
|
|
@ -4,12 +4,12 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketCreateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDeserializer;
|
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDeserializer;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
|
||||||
public class MoneyMarketCreateAction implements IAction<MoneyMarketCreateRequest> {
|
public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurityNewRequest> {
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||||
@JsonDeserialize(using = InstantDeserializer.class)
|
@JsonDeserialize(using = InstantDeserializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
|
@ -32,8 +32,8 @@ public class MoneyMarketCreateAction implements IAction<MoneyMarketCreateRequest
|
||||||
public Double lotSize;
|
public Double lotSize;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MoneyMarketCreateRequest toRequest() {
|
public MoneyMarketSecurityNewRequest toRequest() {
|
||||||
var req = new MoneyMarketCreateRequest();
|
var req = new MoneyMarketSecurityNewRequest();
|
||||||
req.setStartDate(this.getStartDate());
|
req.setStartDate(this.getStartDate());
|
||||||
req.setEndDate(this.getEndDate());
|
req.setEndDate(this.getEndDate());
|
||||||
req.setNominalValue(this.getNominalValue());
|
req.setNominalValue(this.getNominalValue());
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package ru.spcex.clearing.backendapi.meta;
|
package ru.spcex.clearing.backendapi.meta;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.MoneyMarketCreateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.MoneyMarketSecurityNewAction;
|
||||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class CudMetaService {
|
||||||
|
|
||||||
public CudMetaService() {
|
public CudMetaService() {
|
||||||
this.mapping = new HashMap<>();
|
this.mapping = new HashMap<>();
|
||||||
this.mapping.put(Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW, MoneyMarketCreateAction.class);
|
this.mapping.put(Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW, MoneyMarketSecurityNewAction.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T extends IAction<?>> Class<T> byDestination(String destination) {
|
public <T extends IAction<?>> Class<T> byDestination(String destination) {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,15 @@
|
||||||
package ru.spcex.clearing.securities.service.cud;
|
package ru.spcex.clearing.securities.service.cud;
|
||||||
|
|
||||||
import org.apache.kafka.clients.consumer.Consumer;
|
import org.apache.kafka.clients.consumer.Consumer;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.StaticData.Misc.MoneyMarketSecurity;
|
import ru.clearing.classes.StaticData.Misc.MoneyMarketSecurity;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketCreateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
@ -16,6 +18,7 @@ import java.math.BigDecimal;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class MoneyMarketSecurityService extends QueueConsumer implements InitializingBean {
|
public class MoneyMarketSecurityService extends QueueConsumer implements InitializingBean {
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final Imdg<MoneyMarketSecurity> moneyMarketSecurityMap;
|
private final Imdg<MoneyMarketSecurity> moneyMarketSecurityMap;
|
||||||
@Autowired
|
@Autowired
|
||||||
public MoneyMarketSecurityService(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider) {
|
public MoneyMarketSecurityService(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider) {
|
||||||
|
|
@ -25,14 +28,15 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() {
|
public void afterPropertiesSet() {
|
||||||
callback(MoneyMarketCreateRequest.class)
|
callback(MoneyMarketSecurityNewRequest.class)
|
||||||
.setConsumer(this::newMoneyMarket)
|
.setConsumer(this::newMoneyMarket)
|
||||||
.setDestination(Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW, callbacks::put)
|
.setDestination(Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW, callbacks::put)
|
||||||
.build();
|
.build();
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void newMoneyMarket(MoneyMarketCreateRequest req) {
|
private void newMoneyMarket(MoneyMarketSecurityNewRequest req) {
|
||||||
|
log.debug("MoneyMarketSecurityNewRequest received");
|
||||||
MoneyMarketSecurity mms = new MoneyMarketSecurity();
|
MoneyMarketSecurity mms = new MoneyMarketSecurity();
|
||||||
mms.setStartDate(req.getStartDate());
|
mms.setStartDate(req.getStartDate());
|
||||||
mms.setEndDate(req.getEndDate());
|
mms.setEndDate(req.getEndDate());
|
||||||
|
|
@ -42,6 +46,6 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
mms.setFullName(req.getFullName());
|
mms.setFullName(req.getFullName());
|
||||||
mms.setSecuritySymbol(req.getSecuritySymbol());
|
mms.setSecuritySymbol(req.getSecuritySymbol());
|
||||||
moneyMarketSecurityMap.insert(mms);
|
moneyMarketSecurityMap.insert(mms);
|
||||||
// (req.getLotSize());
|
log.debug("successfully processed, new id {}", mms.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,21 @@
|
||||||
package ru.spcex.clearing.platform.messaging.domain.cud.securitites;
|
package ru.spcex.clearing.platform.messaging.domain.cud.securitites;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
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 ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
|
||||||
public class MoneyMarketCreateRequest {
|
public class MoneyMarketSecurityNewRequest {
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
@JsonSerialize(using = InstantSerializer.class)
|
||||||
|
@JsonDeserialize(using = InstantDeserializer.class)
|
||||||
public Instant startDate;
|
public Instant startDate;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
@JsonSerialize(using = InstantSerializer.class)
|
||||||
|
@JsonDeserialize(using = InstantDeserializer.class)
|
||||||
public Instant endDate;
|
public Instant endDate;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public Double nominalValue;
|
public Double nominalValue;
|
||||||
Loading…
Add table
Reference in a new issue