This commit is contained in:
parent
496e92bfd6
commit
2f27d41972
3 changed files with 18 additions and 2 deletions
|
|
@ -51,6 +51,7 @@ public class RatesFacade implements IClearingFacade {
|
|||
|
||||
ratesForUpdate.setValue(request.getValue());
|
||||
ratesForUpdate.setWorkflowStatus(request.getStatus());
|
||||
ratesForUpdate.setUpdated(Instant.now());
|
||||
|
||||
ratesImdg.update(ratesForUpdate);
|
||||
log.debug("successfully processed, updated rates id {}", ratesForUpdate.getId());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public class SCrossRateFacade {
|
|||
sCrossRate.setCreated(Instant.now());
|
||||
sCrossRate.setDate(req.getDate());
|
||||
sCrossRate.setCurrency(req.getCurrency());
|
||||
sCrossRate.setUnitRate(req.getRate());
|
||||
sCrossRate.setUnitRate(req.getUnitRate());
|
||||
sCrossRate.setFaceValue(req.getFaceValue());
|
||||
sCrossRate.setRate(req.getRate());
|
||||
sCrossRateImdg.insert(sCrossRate);
|
||||
|
|
@ -38,7 +38,7 @@ public class SCrossRateFacade {
|
|||
|
||||
public void update(SCrossRateUpdateRequest req) {
|
||||
SCrossRate sCrossRate = sCrossRateImdg.getSingleObjectByID(req.getId());
|
||||
sCrossRate.setUnitRate(req.getRate());
|
||||
sCrossRate.setUnitRate(req.getUnitRate());
|
||||
sCrossRate.setFaceValue(req.getFaceValue());
|
||||
sCrossRate.setRate(req.getRate());
|
||||
sCrossRate.setUpdated(Instant.now());
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory;
|
|||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.misc.SCrossRate;
|
||||
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
|
@ -31,6 +32,7 @@ public class SCrossRatesMessageListener extends QueueConsumer implements Initial
|
|||
private final UserRoleVerification userRoleVerification;
|
||||
private final IMessageResolver messageResolver;
|
||||
private final Imdg<SCrossRate> sCrossRateImdg;
|
||||
private final Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;
|
||||
private final SCrossRateFacade sCrossRateFacade;
|
||||
|
||||
public SCrossRatesMessageListener(Consumer<String, Object> kafkaQueue,
|
||||
|
|
@ -45,6 +47,7 @@ public class SCrossRatesMessageListener extends QueueConsumer implements Initial
|
|||
this.messageResolver = messageResolver;
|
||||
this.sCrossRateImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SCrossRate, SCrossRate.class);
|
||||
this.sCrossRateFacade = sCrossRateFacade;
|
||||
this.currencyCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -61,6 +64,11 @@ public class SCrossRatesMessageListener extends QueueConsumer implements Initial
|
|||
SCrossRateGatewayRequest payload = sCrossRatesReq.getRequestPayload();
|
||||
|
||||
for (CurrencyRateGatewayElem elem : payload.getCrossRateElems()) {
|
||||
CurrencyCodeDictionary codeDictionary = currencyByCode(elem.getBaseCurrencyLetterCode());
|
||||
if (codeDictionary == null) {
|
||||
log.debug("Skip creating sCrossRate gateway element with code {}", elem.getBaseCurrencyLetterCode());
|
||||
continue;
|
||||
}
|
||||
ImdgPredicateBuilder predicateBuilder = sCrossRateImdg.predicateBuilder();
|
||||
Collection<Long> sCrossRateIds = sCrossRateImdg.getCollectionIdsByPredicate(
|
||||
predicateBuilder.and(
|
||||
|
|
@ -95,4 +103,11 @@ public class SCrossRatesMessageListener extends QueueConsumer implements Initial
|
|||
updateRequest.setRate(sCrossRateElem.getPrice());
|
||||
return updateRequest;
|
||||
}
|
||||
|
||||
private CurrencyCodeDictionary currencyByCode(String code) {
|
||||
ImdgPredicateBuilder predicateBuilder = currencyCodeDictionaryImdg.predicateBuilder();
|
||||
return currencyCodeDictionaryImdg.getFirstObjectByPredicate(
|
||||
predicateBuilder.equals("code", code)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue