This commit is contained in:
parent
48f02b2af3
commit
33193b9746
3 changed files with 26 additions and 79 deletions
|
|
@ -9,39 +9,53 @@ import ru.clearing.classes.statics.data.sdf.SDf08;
|
|||
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.balance.SDf08NewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.ExportToFileRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||
import ru.spcex.platform.enumeration.Task;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgId;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
@Service
|
||||
public class Sdf08Service extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final Imdg<SDf08> sdf8Map;
|
||||
private final ImdgId idGenerator;
|
||||
private final KafkaSender kafkaReqProducer;
|
||||
|
||||
|
||||
public Sdf08Service(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider) {
|
||||
public Sdf08Service(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider, KafkaSender kafkaReqProducer) {
|
||||
super(kafkaQueue);
|
||||
this.sdf8Map = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf08, SDf08.class);
|
||||
this.idGenerator = imdgProvider.getImdgIdGenerator();
|
||||
this.kafkaReqProducer = kafkaReqProducer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(SDf08NewRequest.class)
|
||||
callback(Object.class)
|
||||
.setConsumer(this::newSDf08)
|
||||
.forDestination(Consts.DESTINATION_SDF08_NEW, callbacks::put);
|
||||
.forDestination(Task.getAllBalance.topic(), callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
private void newSDf08(BaseRequest<SDf08NewRequest> userRequest) {
|
||||
SDf08NewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("SDf08NewRequest received");
|
||||
private void newSDf08(BaseRequest<Object> userRequest) {
|
||||
log.debug("getAllBalance request received");
|
||||
SDf08 sDf08 = new SDf08();
|
||||
sDf08.setNumber(req.getNumber());
|
||||
sDf08.setDatetime(req.getDatetime());
|
||||
sDf08.setGenerationTime(req.getGenerationTime());
|
||||
sDf08.setGenerationId(req.getGenerationId());
|
||||
sDf08.setNumber(BigDecimal.valueOf(Math.random()));
|
||||
Instant now = Instant.now();
|
||||
sDf08.setDatetime(now);
|
||||
sDf08.setGenerationTime(now);
|
||||
sDf08.setGenerationId(idGenerator.nextId());
|
||||
sdf8Map.insert(sDf08);
|
||||
ExportToFileRequest exportRequest = new ExportToFileRequest();
|
||||
exportRequest.setSdfGroupId(sDf08.getGenerationId());
|
||||
exportRequest.setNameOfTable("DF-08");
|
||||
kafkaReqProducer.sendRequestToQueue(Consts.EXPORT_PROCESS, exportRequest);
|
||||
log.debug("successfully processed, new id {}", sDf08.getId());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package ru.spcex.platform.enumeration;
|
|||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
|
||||
public enum Task implements IEnumKey {
|
||||
createOrder("CORD"), createOrderConfirm("CORC");
|
||||
createOrder("CORD"), createOrderConfirm("CORC"), getAllBalance("GALB");
|
||||
|
||||
private final String key;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,67 +0,0 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.balance;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
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 java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
public class SDf08NewRequest {
|
||||
@JsonProperty
|
||||
private BigDecimal number;
|
||||
@JsonSerialize(using = InstantSerializer.class)
|
||||
@JsonDeserialize(using = InstantDeserializer.class)
|
||||
@JsonProperty
|
||||
private Instant datetime;
|
||||
@JsonProperty
|
||||
private String fileName;
|
||||
@JsonSerialize(using = InstantSerializer.class)
|
||||
@JsonDeserialize(using = InstantDeserializer.class)
|
||||
@JsonProperty
|
||||
private Instant generationTime;
|
||||
@JsonProperty
|
||||
private Long generationId;
|
||||
|
||||
public BigDecimal getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(BigDecimal number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public Instant getDatetime() {
|
||||
return datetime;
|
||||
}
|
||||
|
||||
public void setDatetime(Instant datetime) {
|
||||
this.datetime = datetime;
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
public Instant getGenerationTime() {
|
||||
return generationTime;
|
||||
}
|
||||
|
||||
public void setGenerationTime(Instant generationTime) {
|
||||
this.generationTime = generationTime;
|
||||
}
|
||||
|
||||
public Long getGenerationId() {
|
||||
return generationId;
|
||||
}
|
||||
|
||||
public void setGenerationId(Long generationId) {
|
||||
this.generationId = generationId;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue