currency session fix tcr list cash

This commit is contained in:
ialbert 2024-07-18 17:10:23 +03:00
parent a1ebfe5f1f
commit 48b629f87e
3 changed files with 10 additions and 6 deletions

View file

@ -17,6 +17,7 @@ import ru.spcex.platform.enumeration.RegistryDesignation;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2ById;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2ByIdAndString;
public interface IRegistryBuilder {
@ -33,7 +34,7 @@ public interface IRegistryBuilder {
default IRegistryBuilder currCash(CashV2<String, Currency> currCash) {return this;}//CashV2<String, Currency> currCash;
default IRegistryBuilder clrAccCash(CashV2<Long, ClearingAccount> clrAccCash) {return this;}//CashV2<Long, ClearingAccount> clrAccCash;
default IRegistryBuilder ssnCash(CashV2<Long, Session> ssnCash) {return this;}//CashV2<Long, ClearingAccount> clrAccCash;
default IRegistryBuilder tcrListCash(CashV2<Long, TradingClearingRegistryList> tcrListCash) {return this;}
default IRegistryBuilder tcrListCash(CashV2ByIdAndString<TradingClearingRegistryList> tcrListCash) {return this;}
default IRegistryBuilder currPairCash(CashV2<Long, CurrencyPairSecurity> currPairCash) {return this;}
default IRegistryBuilder currPairDictCash(CashV2<Long, CurrencyPairDictionary> currPairDictCash) {return this;}
}

View file

@ -37,12 +37,13 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2ByIdAndString;
public class RegistryCurrBuilder implements IRegistryBuilder {
private CashV2<Long, Company> cmpCash;
private CashV2<Long, Session> ssnCash;
private CashV2<Long, TradingClearingRegistry> tcrCash;
private CashV2<Long, TradingClearingRegistryList> tcrListCash;
private CashV2ByIdAndString<TradingClearingRegistryList> tcrListCash;
private CashV2<Long, Account> accCash;
private CashV2<String, Currency> currCash;
private CashV2<Long, CurrencyPairSecurity> currPairCash;
@ -73,7 +74,7 @@ public class RegistryCurrBuilder implements IRegistryBuilder {
this.companyImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Company, Company.class, cmpCash);
this.tradingClearingRegistryImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class, tcrCash);
Imdg<TradingClearingRegistryList> tcrListImdg = imdgProvider.getCashingImdg(
IMDGDistributedNames.Map_TradingClearingRegistryList, TradingClearingRegistryList.class, tcrListCash
IMDGDistributedNames.Map_TradingClearingRegistryList, TradingClearingRegistryList.class, null
);
Imdg<Account> accountImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Account, Account.class, accCash);
this.sessionImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Session, Session.class, ssnCash);
@ -82,6 +83,7 @@ public class RegistryCurrBuilder implements IRegistryBuilder {
this.currPairDictImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_CurrencyPairDictionary, CurrencyPairDictionary.class, currPairDictCash);
this.currencyImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Currency, Currency.class, null);
this.tcrSearcher = new TcrSearcher(tradingClearingRegistryImdg, tcrListImdg, companyImdg, accountImdg);
this.tcrSearcher.setTcrListCash(tcrListCash);
return this;
}
@ -287,7 +289,7 @@ public class RegistryCurrBuilder implements IRegistryBuilder {
}
@Override
public IRegistryBuilder tcrListCash(CashV2<Long, TradingClearingRegistryList> tcrListCash) {
public IRegistryBuilder tcrListCash(CashV2ByIdAndString<TradingClearingRegistryList> tcrListCash) {
this.tcrListCash = tcrListCash;
return this;
}

View file

@ -54,6 +54,7 @@ import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashCloser;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2ById;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2ByIdAndString;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2ByString;
import ru.spcex.platform.utils.collection.Pair;
@ -352,7 +353,7 @@ public class RequirementsAndObligationCreation implements ISessionStage {
private final CashV2<Long, Session> ssnCash;
private final CashV2<Long, CurrencyPairSecurity> currPairCash;
private final CashV2<Long, CurrencyPairDictionary> currPairDictCash;
private final CashV2<Long, TradingClearingRegistryList> tcrListCash;
private final CashV2ByIdAndString<TradingClearingRegistryList> tcrListCash;
public RequirementsAndObligationCreationCash() {
cashes = new ArrayList<>();
@ -366,7 +367,7 @@ public class RequirementsAndObligationCreation implements ISessionStage {
ssnCash = add(new CashV2ById<>("ssnCash"));
currPairCash = add(new CashV2ById<>("currPairCash"));
currPairDictCash = add(new CashV2ById<>("currPairDictCash"));
tcrListCash = add(new CashV2ById<>("tcrListCash"));
tcrListCash = add(new CashV2ByIdAndString<>("tcrListCash", tcrList -> new CashV2ByIdAndString.CustomKey(tcrList.getTradingClearingRegistryId(), tcrList.getCurrency())));
}
}
}