ialbert 2022-12-13 14:22:47 +03:00
parent 48f02b2af3
commit 33193b9746
3 changed files with 26 additions and 79 deletions

View file

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

View file

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

View file

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