This commit is contained in:
parent
01aaf031b0
commit
edd9c7c08d
4 changed files with 49 additions and 7 deletions
|
|
@ -25,6 +25,7 @@ import ru.clearing.classes.statics.data.misc.Listing;
|
||||||
import ru.clearing.classes.statics.data.misc.STrades;
|
import ru.clearing.classes.statics.data.misc.STrades;
|
||||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.clearing.classes.statics.data.security.CurrencyPairSecurity;
|
import ru.clearing.classes.statics.data.security.CurrencyPairSecurity;
|
||||||
|
import ru.clearing.classes.statics.data.security.DigitalCertificateSecurity;
|
||||||
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
|
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
|
||||||
import ru.clearing.classes.statics.data.security.Security;
|
import ru.clearing.classes.statics.data.security.Security;
|
||||||
import ru.spcex.clearing.error.ClearingError;
|
import ru.spcex.clearing.error.ClearingError;
|
||||||
|
|
@ -73,6 +74,7 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent {
|
||||||
private final Imdg<CurrencyPairSecurity> currencyPairSecurityImdg;
|
private final Imdg<CurrencyPairSecurity> currencyPairSecurityImdg;
|
||||||
private final Imdg<MoneyMarketSecurity> imdgMoneyMarketSecurity;
|
private final Imdg<MoneyMarketSecurity> imdgMoneyMarketSecurity;
|
||||||
private final Imdg<FixedIncomeSecurity> fixedIncomeSecurityImdg;
|
private final Imdg<FixedIncomeSecurity> fixedIncomeSecurityImdg;
|
||||||
|
private final Imdg<DigitalCertificateSecurity> imdgDigitCertSecurity;
|
||||||
private final Imdg<EquitySecurity> equitySecurityImdg;
|
private final Imdg<EquitySecurity> equitySecurityImdg;
|
||||||
private final Imdg<Company> cmpImdg;
|
private final Imdg<Company> cmpImdg;
|
||||||
private final Imdg<TradingClearingRegistry> tcrImdg;
|
private final Imdg<TradingClearingRegistry> tcrImdg;
|
||||||
|
|
@ -102,6 +104,7 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent {
|
||||||
this.imdgMoneyMarketSecurity = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class, null);
|
this.imdgMoneyMarketSecurity = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class, null);
|
||||||
this.fixedIncomeSecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class, null);
|
this.fixedIncomeSecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class, null);
|
||||||
this.equitySecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class, null);
|
this.equitySecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class, null);
|
||||||
|
this.imdgDigitCertSecurity = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_DigitalCertificateSecurity, DigitalCertificateSecurity.class, null);
|
||||||
this.cmpImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Company, Company.class, null);
|
this.cmpImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Company, Company.class, null);
|
||||||
this.tcrImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class, null);
|
this.tcrImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class, null);
|
||||||
|
|
||||||
|
|
@ -367,12 +370,14 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent {
|
||||||
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
|
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
|
||||||
context.addImdg(IMDGDistributedNames.Map_Company, cmpImdg);
|
context.addImdg(IMDGDistributedNames.Map_Company, cmpImdg);
|
||||||
context.addImdg(IMDGDistributedNames.Map_TradingClearingRegistry, tcrImdg);
|
context.addImdg(IMDGDistributedNames.Map_TradingClearingRegistry, tcrImdg);
|
||||||
|
context.addImdg(IMDGDistributedNames.Map_DigitalCertificateSecurity, imdgDigitCertSecurity);
|
||||||
context.setLogPrefix(LogPrefixId.INSTANCE);
|
context.setLogPrefix(LogPrefixId.INSTANCE);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
new STradesSecurityPresentValidationRule(valCash.fixIncSecCash,
|
new STradesSecurityPresentValidationRule(valCash.fixIncSecCash,
|
||||||
valCash.mmsCash,
|
valCash.mmsCash,
|
||||||
valCash.eqtySecCash,
|
valCash.eqtySecCash,
|
||||||
valCash.currPairSecCash),
|
valCash.currPairSecCash,
|
||||||
|
valCash.digitCertSecCash),
|
||||||
new CompanyByTradingCodeCashingValidationRule<>(
|
new CompanyByTradingCodeCashingValidationRule<>(
|
||||||
STrades::getFirmId, valCash.cmpCash, ValidationStored.STradesCompany
|
STrades::getFirmId, valCash.cmpCash, ValidationStored.STradesCompany
|
||||||
),
|
),
|
||||||
|
|
@ -389,6 +394,7 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent {
|
||||||
private final CashV2ByString<Security> mmsCash;
|
private final CashV2ByString<Security> mmsCash;
|
||||||
private final CashV2ByString<Security> eqtySecCash;
|
private final CashV2ByString<Security> eqtySecCash;
|
||||||
private final CashV2ByString<Security> currPairSecCash;
|
private final CashV2ByString<Security> currPairSecCash;
|
||||||
|
private final CashV2ByString<Security> digitCertSecCash;
|
||||||
private final CashV2ByString<Company> cmpCash;
|
private final CashV2ByString<Company> cmpCash;
|
||||||
private final CashV2ByIdAndString<TradingClearingRegistry> tcrCash;
|
private final CashV2ByIdAndString<TradingClearingRegistry> tcrCash;
|
||||||
|
|
||||||
|
|
@ -400,6 +406,7 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent {
|
||||||
this.currPairSecCash = add(new CashV2ByString<>("currPairSecCash", Security::getSecuritySymbol));
|
this.currPairSecCash = add(new CashV2ByString<>("currPairSecCash", Security::getSecuritySymbol));
|
||||||
this.cmpCash = add(new CashV2ByString<>("cmpCash", Company::getTradingCode));
|
this.cmpCash = add(new CashV2ByString<>("cmpCash", Company::getTradingCode));
|
||||||
this.tcrCash = add(new CashV2ByIdAndString<>("tcrCash", tcr -> new CashV2ByIdAndString.CustomKey(tcr.getCompanyId(), tcr.getCode())));
|
this.tcrCash = add(new CashV2ByIdAndString<>("tcrCash", tcr -> new CashV2ByIdAndString.CustomKey(tcr.getCompanyId(), tcr.getCode())));
|
||||||
|
this.digitCertSecCash = add(new CashV2ByString<>("digitCertSecCash", Security::getSecuritySymbol));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import ru.clearing.classes.statics.data.misc.SCrossRate;
|
||||||
import ru.clearing.classes.statics.data.misc.STrades;
|
import ru.clearing.classes.statics.data.misc.STrades;
|
||||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.clearing.classes.statics.data.security.CurrencyPairSecurity;
|
import ru.clearing.classes.statics.data.security.CurrencyPairSecurity;
|
||||||
|
import ru.clearing.classes.statics.data.security.DigitalCertificateSecurity;
|
||||||
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
|
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
|
||||||
import ru.clearing.classes.statics.data.security.Security;
|
import ru.clearing.classes.statics.data.security.Security;
|
||||||
import ru.spcex.clearing.config.element.ClearingServiceSettings;
|
import ru.spcex.clearing.config.element.ClearingServiceSettings;
|
||||||
|
|
@ -89,6 +90,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
private final Imdg<EquitySecurity> equitySecurityImdg;
|
private final Imdg<EquitySecurity> equitySecurityImdg;
|
||||||
private final Imdg<Company> imdgCompany;
|
private final Imdg<Company> imdgCompany;
|
||||||
private final Imdg<TradingClearingRegistry> imdgTradingClearingRegistry;
|
private final Imdg<TradingClearingRegistry> imdgTradingClearingRegistry;
|
||||||
|
private final Imdg<DigitalCertificateSecurity> imdgDigitCertSecurity;
|
||||||
private final ImdgId idGen;
|
private final ImdgId idGen;
|
||||||
|
|
||||||
//fixme ждать ТЗ
|
//fixme ждать ТЗ
|
||||||
|
|
@ -115,6 +117,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
this.crossRateImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SCrossRate, SCrossRate.class);
|
this.crossRateImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SCrossRate, SCrossRate.class);
|
||||||
|
|
||||||
this.currencyPairSecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_CurrencyPairSecurity, CurrencyPairSecurity.class, null);
|
this.currencyPairSecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_CurrencyPairSecurity, CurrencyPairSecurity.class, null);
|
||||||
|
this.imdgDigitCertSecurity = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_DigitalCertificateSecurity, DigitalCertificateSecurity.class, null);
|
||||||
this.imdgMoneyMarketSecurity = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class, null);
|
this.imdgMoneyMarketSecurity = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class, null);
|
||||||
this.fixedIncomeSecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class, null);
|
this.fixedIncomeSecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class, null);
|
||||||
this.equitySecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class, null);
|
this.equitySecurityImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class, null);
|
||||||
|
|
@ -349,7 +352,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
.divide(new BigDecimal(100), RoundingMode.HALF_UP)
|
.divide(new BigDecimal(100), RoundingMode.HALF_UP)
|
||||||
.setScale(2, RoundingMode.HALF_UP);
|
.setScale(2, RoundingMode.HALF_UP);
|
||||||
}
|
}
|
||||||
} else if (InstrumentType.EQTY.equalsByKey(security.getInstrumentType())) {
|
} else if (InstrumentType.EQTY.equalsByKey(security.getInstrumentType()) || InstrumentType.DGCT.equalsByKey(security.getInstrumentType())) {
|
||||||
BigDecimal lotsEqty = safeBD(eFond.getQuantity());
|
BigDecimal lotsEqty = safeBD(eFond.getQuantity());
|
||||||
settlementAmount = lotsEqty.multiply(price).setScale(2, RoundingMode.HALF_UP);
|
settlementAmount = lotsEqty.multiply(price).setScale(2, RoundingMode.HALF_UP);
|
||||||
}
|
}
|
||||||
|
|
@ -408,12 +411,14 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
|
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
|
||||||
context.addImdg(IMDGDistributedNames.Map_Company, imdgCompany);
|
context.addImdg(IMDGDistributedNames.Map_Company, imdgCompany);
|
||||||
context.addImdg(IMDGDistributedNames.Map_TradingClearingRegistry, imdgTradingClearingRegistry);
|
context.addImdg(IMDGDistributedNames.Map_TradingClearingRegistry, imdgTradingClearingRegistry);
|
||||||
|
context.addImdg(IMDGDistributedNames.Map_DigitalCertificateSecurity, imdgDigitCertSecurity);
|
||||||
context.setLogPrefix(LogPrefixId.INSTANCE);
|
context.setLogPrefix(LogPrefixId.INSTANCE);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
new STradesSecurityPresentValidationRule(valCash.fixIncSecCash,
|
new STradesSecurityPresentValidationRule(valCash.fixIncSecCash,
|
||||||
valCash.mmsCash,
|
valCash.mmsCash,
|
||||||
valCash.eqtySecCash,
|
valCash.eqtySecCash,
|
||||||
valCash.currPairSecCash),
|
valCash.currPairSecCash,
|
||||||
|
valCash.digitCertSecCash),
|
||||||
new CompanyByTradingCodeCashingValidationRule<>(
|
new CompanyByTradingCodeCashingValidationRule<>(
|
||||||
STrades::getFirmId, valCash.cmpCash, ValidationStored.STradesCompany
|
STrades::getFirmId, valCash.cmpCash, ValidationStored.STradesCompany
|
||||||
),
|
),
|
||||||
|
|
@ -429,6 +434,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
private final CashV2ByString<Security> mmsCash;
|
private final CashV2ByString<Security> mmsCash;
|
||||||
private final CashV2ByString<Security> eqtySecCash;
|
private final CashV2ByString<Security> eqtySecCash;
|
||||||
private final CashV2ByString<Security> currPairSecCash;
|
private final CashV2ByString<Security> currPairSecCash;
|
||||||
|
private final CashV2ByString<Security> digitCertSecCash;
|
||||||
private final CashV2ByString<Company> cmpCash;
|
private final CashV2ByString<Company> cmpCash;
|
||||||
private final CashV2ByIdAndString<TradingClearingRegistry> tcrCash;
|
private final CashV2ByIdAndString<TradingClearingRegistry> tcrCash;
|
||||||
|
|
||||||
|
|
@ -440,6 +446,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
this.currPairSecCash = add(new CashV2ByString<>("currPairSecCash", Security::getSecuritySymbol));
|
this.currPairSecCash = add(new CashV2ByString<>("currPairSecCash", Security::getSecuritySymbol));
|
||||||
this.cmpCash = add(new CashV2ByString<>("cmpCash", Company::getTradingCode));
|
this.cmpCash = add(new CashV2ByString<>("cmpCash", Company::getTradingCode));
|
||||||
this.tcrCash = add(new CashV2ByIdAndString<>("tcrCash", tcr -> new CashV2ByIdAndString.CustomKey(tcr.getCompanyId(), tcr.getCode())));
|
this.tcrCash = add(new CashV2ByIdAndString<>("tcrCash", tcr -> new CashV2ByIdAndString.CustomKey(tcr.getCompanyId(), tcr.getCode())));
|
||||||
|
this.digitCertSecCash = add(new CashV2ByString<>("digitCertSecCash", Security::getSecuritySymbol));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,18 @@ public class STradesSecurityPresentValidationRule implements IValidationRule<Imd
|
||||||
private final CashV2ByString<Security> moneyMarketSecurityCash;
|
private final CashV2ByString<Security> moneyMarketSecurityCash;
|
||||||
private final CashV2ByString<Security> equitySecurityCash;
|
private final CashV2ByString<Security> equitySecurityCash;
|
||||||
private final CashV2ByString<Security> currencyPairSecurityCash;
|
private final CashV2ByString<Security> currencyPairSecurityCash;
|
||||||
|
private final CashV2ByString<Security> digitCertSecCash;
|
||||||
|
|
||||||
public STradesSecurityPresentValidationRule(CashV2ByString<Security> fixedIncomeSecurityCash, CashV2ByString<Security> moneyMarketSecurityCash, CashV2ByString<Security> equitySecurityCash, CashV2ByString<Security> currencyPairSecurityCash) {
|
public STradesSecurityPresentValidationRule(CashV2ByString<Security> fixedIncomeSecurityCash,
|
||||||
|
CashV2ByString<Security> moneyMarketSecurityCash,
|
||||||
|
CashV2ByString<Security> equitySecurityCash,
|
||||||
|
CashV2ByString<Security> currencyPairSecurityCash,
|
||||||
|
CashV2ByString<Security> digitCertSecCash) {
|
||||||
this.fixedIncomeSecurityCash = fixedIncomeSecurityCash;
|
this.fixedIncomeSecurityCash = fixedIncomeSecurityCash;
|
||||||
this.moneyMarketSecurityCash = moneyMarketSecurityCash;
|
this.moneyMarketSecurityCash = moneyMarketSecurityCash;
|
||||||
this.equitySecurityCash = equitySecurityCash;
|
this.equitySecurityCash = equitySecurityCash;
|
||||||
this.currencyPairSecurityCash = currencyPairSecurityCash;
|
this.currencyPairSecurityCash = currencyPairSecurityCash;
|
||||||
|
this.digitCertSecCash = digitCertSecCash;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -43,9 +49,14 @@ public class STradesSecurityPresentValidationRule implements IValidationRule<Imd
|
||||||
context.obtainMap(IMDGDistributedNames.Map_FixedIncomeSecurity, Security.class),
|
context.obtainMap(IMDGDistributedNames.Map_FixedIncomeSecurity, Security.class),
|
||||||
context.obtainMap(IMDGDistributedNames.Map_MoneyMarketSecurity, Security.class),
|
context.obtainMap(IMDGDistributedNames.Map_MoneyMarketSecurity, Security.class),
|
||||||
context.obtainMap(IMDGDistributedNames.Map_EquitySecurity, Security.class),
|
context.obtainMap(IMDGDistributedNames.Map_EquitySecurity, Security.class),
|
||||||
context.obtainMap(IMDGDistributedNames.Map_CurrencyPairSecurity, Security.class)
|
context.obtainMap(IMDGDistributedNames.Map_CurrencyPairSecurity, Security.class),
|
||||||
|
context.obtainMap(IMDGDistributedNames.Map_DigitalCertificateSecurity, Security.class)
|
||||||
);
|
);
|
||||||
slctr.setCash(fixedIncomeSecurityCash, moneyMarketSecurityCash, equitySecurityCash, currencyPairSecurityCash);
|
slctr.setCash(fixedIncomeSecurityCash,
|
||||||
|
moneyMarketSecurityCash,
|
||||||
|
equitySecurityCash,
|
||||||
|
currencyPairSecurityCash,
|
||||||
|
digitCertSecCash);
|
||||||
String secCode = validatedObject.getSecCode().trim();
|
String secCode = validatedObject.getSecCode().trim();
|
||||||
Security security = slctr.selectSecurityBySymbolCashed(secCode);
|
Security security = slctr.selectSecurityBySymbolCashed(secCode);
|
||||||
if (security == null) {
|
if (security == null) {
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,15 @@ public class SecuritySelector<T extends SpcexObjectBase> {
|
||||||
private CashV2ByString<T> equitySecurityCash = null;
|
private CashV2ByString<T> equitySecurityCash = null;
|
||||||
private final Imdg<T> currencyPairSecurity;
|
private final Imdg<T> currencyPairSecurity;
|
||||||
private CashV2ByString<T> currencyPairSecurityCash = null;
|
private CashV2ByString<T> currencyPairSecurityCash = null;
|
||||||
|
private Imdg<T> digitCertSecurity;
|
||||||
|
private CashV2ByString<T> digitCertSecCash = null;
|
||||||
|
|
||||||
public SecuritySelector(ImdgProvider imdgProvider, Class<T> clazz) {
|
public SecuritySelector(ImdgProvider imdgProvider, Class<T> clazz) {
|
||||||
this.fixedIncomeSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, clazz);
|
this.fixedIncomeSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, clazz);
|
||||||
this.moneyMarketSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, clazz);
|
this.moneyMarketSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, clazz);
|
||||||
this.equitySecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_EquitySecurity, clazz);
|
this.equitySecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_EquitySecurity, clazz);
|
||||||
this.currencyPairSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyPairSecurity, clazz);
|
this.currencyPairSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyPairSecurity, clazz);
|
||||||
|
this.digitCertSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_DigitalCertificateSecurity, clazz);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SecuritySelector(Imdg<T> fixedIncomeSecurityImdg,
|
public SecuritySelector(Imdg<T> fixedIncomeSecurityImdg,
|
||||||
|
|
@ -37,16 +40,28 @@ public class SecuritySelector<T extends SpcexObjectBase> {
|
||||||
this.moneyMarketSecurityImdg = moneyMarketSecurityImdg;
|
this.moneyMarketSecurityImdg = moneyMarketSecurityImdg;
|
||||||
this.equitySecurity = equitySecurity;
|
this.equitySecurity = equitySecurity;
|
||||||
this.currencyPairSecurity = currencyPairSecurity;
|
this.currencyPairSecurity = currencyPairSecurity;
|
||||||
|
this.digitCertSecurity = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SecuritySelector(Imdg<T> fixedIncomeSecurityImdg,
|
||||||
|
Imdg<T> moneyMarketSecurityImdg,
|
||||||
|
Imdg<T> equitySecurity,
|
||||||
|
Imdg<T> currencyPairSecurity,
|
||||||
|
Imdg<T> digitCertSecurity) {
|
||||||
|
this(fixedIncomeSecurityImdg, moneyMarketSecurityImdg, equitySecurity, currencyPairSecurity);
|
||||||
|
this.digitCertSecurity = digitCertSecurity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCash(CashV2ByString<T> fixedIncomeSecurityCash,
|
public void setCash(CashV2ByString<T> fixedIncomeSecurityCash,
|
||||||
CashV2ByString<T> moneyMarketSecurityCash,
|
CashV2ByString<T> moneyMarketSecurityCash,
|
||||||
CashV2ByString<T> equitySecuCash,
|
CashV2ByString<T> equitySecuCash,
|
||||||
CashV2ByString<T> currencyPairSecuCash) {
|
CashV2ByString<T> currencyPairSecuCash,
|
||||||
|
CashV2ByString<T> digitCertSecCash) {
|
||||||
this.fixedIncomeSecurityCash = fixedIncomeSecurityCash;
|
this.fixedIncomeSecurityCash = fixedIncomeSecurityCash;
|
||||||
this.moneyMarketSecurityCash = moneyMarketSecurityCash;
|
this.moneyMarketSecurityCash = moneyMarketSecurityCash;
|
||||||
this.equitySecurityCash = equitySecuCash;
|
this.equitySecurityCash = equitySecuCash;
|
||||||
this.currencyPairSecurityCash = currencyPairSecuCash;
|
this.currencyPairSecurityCash = currencyPairSecuCash;
|
||||||
|
this.digitCertSecCash = digitCertSecCash;
|
||||||
}
|
}
|
||||||
|
|
||||||
public T selectSecurityById(Long securityId) {
|
public T selectSecurityById(Long securityId) {
|
||||||
|
|
@ -85,6 +100,8 @@ public class SecuritySelector<T extends SpcexObjectBase> {
|
||||||
security = retriever.apply(equitySecurity, equitySecurityCash);
|
security = retriever.apply(equitySecurity, equitySecurityCash);
|
||||||
if (security != null) return security;
|
if (security != null) return security;
|
||||||
security = retriever.apply(currencyPairSecurity, currencyPairSecurityCash);
|
security = retriever.apply(currencyPairSecurity, currencyPairSecurityCash);
|
||||||
|
if (security != null) return security;
|
||||||
|
security = retriever.apply(digitCertSecurity, digitCertSecCash);
|
||||||
return security;
|
return security;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue