etreschenkov 2026-04-14 17:45:38 +03:00
parent 76bf6883bb
commit e15ace35ec
3 changed files with 10 additions and 17 deletions

View file

@ -10,7 +10,6 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import ru.spcex.clearing.dflt.management.config.settings.DefaultManagementSettings; import ru.spcex.clearing.dflt.management.config.settings.DefaultManagementSettings;
import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors; import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors;
import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.util.services.IMDGMessageResolver;
import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.enumeration.UserRole;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
@ -57,9 +56,4 @@ public class AppConfig {
public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) { public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) {
return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, DefaultManagementErrors.UserVerifyDenial); return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, DefaultManagementErrors.UserVerifyDenial);
} }
@Bean
public IMessageResolver messageResolver(ImdgProvider imdgProvider) {
return new IMDGMessageResolver(imdgProvider);
}
} }

View file

@ -16,7 +16,7 @@ import ru.spcex.clearing.dflt.management.service.SpotOvernightOrderService;
import ru.spcex.clearing.dflt.management.service.SwapOvernightOrderService; import ru.spcex.clearing.dflt.management.service.SwapOvernightOrderService;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.misc.OvernightSettingsNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.platform.enumeration.OvernightType; import ru.spcex.platform.enumeration.OvernightType;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
@ -48,13 +48,13 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
@Override @Override
public void afterPropertiesSet() { public void afterPropertiesSet() {
callback(OvernightSettingsNewRequest.class) callback(LauncherCommandRequest.class)
.setConsumer(this::createOrder) .setConsumer(this::createOrder)
.forDestination(Task.CROR.topic(), callbacks::put); .forDestination(Task.CROR.topic(), callbacks::put);
init(); init();
} }
private void createOrder(BaseRequest<OvernightSettingsNewRequest> newReq) { private void createOrder(BaseRequest<LauncherCommandRequest> newReq) {
log.info("CROR createOrder started, request={}", newReq); log.info("CROR createOrder started, request={}", newReq);
Collection<Long> registryIds = imdgQueryService.getCurrencyRegistry(); Collection<Long> registryIds = imdgQueryService.getCurrencyRegistry();

View file

@ -71,7 +71,7 @@ public class ImdgQueryService {
public Optional<OvernightSettings> findOvernightSettingsByCompany(Long companyId) { public Optional<OvernightSettings> findOvernightSettingsByCompany(Long companyId) {
ImdgPredicateBuilder builder = overnightSettingsImdg.predicateBuilder(); ImdgPredicateBuilder builder = overnightSettingsImdg.predicateBuilder();
ImdgPredicate predicate = builder.and( ImdgPredicate predicate = builder.and(
builder.equals("market", ru.spcex.platform.enumeration.Market.curr), builder.equals("market", ru.spcex.platform.enumeration.Market.curr.getKey()),
builder.equals("companyId", companyId) builder.equals("companyId", companyId)
); );
OvernightSettings overnightSettings = overnightSettingsImdg.getFirstObjectByPredicate(predicate); OvernightSettings overnightSettings = overnightSettingsImdg.getFirstObjectByPredicate(predicate);
@ -89,7 +89,7 @@ public class ImdgQueryService {
public CounterpartyInfo getCompanyByRole(CompanyRole role) { public CounterpartyInfo getCompanyByRole(CompanyRole role) {
ImdgPredicateBuilder pb = companyRoleSetImdg.predicateBuilder(); ImdgPredicateBuilder pb = companyRoleSetImdg.predicateBuilder();
CompanyRoleSet roleSet = companyRoleSetImdg.getSingleObjectByPredicate( CompanyRoleSet roleSet = companyRoleSetImdg.getSingleObjectByPredicate(
pb.equals("companyRole", role) pb.equals("companyRole", role.getKey())
); );
Company company = companyImdg.getSingleObjectByID(roleSet.getCompanyId()); Company company = companyImdg.getSingleObjectByID(roleSet.getCompanyId());
@ -126,12 +126,12 @@ public class ImdgQueryService {
public Market getSwapMarket() { public Market getSwapMarket() {
ImdgPredicateBuilder pb = marketImdg.predicateBuilder(); ImdgPredicateBuilder pb = marketImdg.predicateBuilder();
return marketImdg.getSingleObjectByPredicate(pb.equals("marketType", MarketType.SCSW)); return marketImdg.getSingleObjectByPredicate(pb.equals("marketType", MarketType.SCSW.getKey()));
} }
public Market getSpotMarket() { public Market getSpotMarket() {
ImdgPredicateBuilder pb = marketImdg.predicateBuilder(); ImdgPredicateBuilder pb = marketImdg.predicateBuilder();
return marketImdg.getSingleObjectByPredicate(pb.equals("marketType", MarketType.SCSP)); return marketImdg.getSingleObjectByPredicate(pb.equals("marketType", MarketType.SCSP.getKey()));
} }
public Listing findListing(Registry registry, String marketCode) { public Listing findListing(Registry registry, String marketCode) {
@ -164,8 +164,7 @@ public class ImdgQueryService {
RiskParameter riskParameter = riskParameterImdg.getSingleObjectByPredicate( RiskParameter riskParameter = riskParameterImdg.getSingleObjectByPredicate(
pb.and( pb.and(
pb.equals("settlementType", "T0"), pb.equals("settlementType", "T0"),
pb.equals("currencyPairId", currencyPairDictionaryId), pb.equals("currencyPairId", currencyPairDictionaryId)
pb.equals("baseCurrency", baseCurrency)
) )
); );
return riskParameter.getQuoteValue(); return riskParameter.getQuoteValue();
@ -256,9 +255,9 @@ public class ImdgQueryService {
ImdgPredicateBuilder pb = registryImdg.predicateBuilder(); ImdgPredicateBuilder pb = registryImdg.predicateBuilder();
return registryImdg.getSingleObjectByPredicate( return registryImdg.getSingleObjectByPredicate(
pb.and( pb.and(
pb.regex("registryCode", "^PM.*T"), pb.regex("registryCode", "^AM.*T"),
pb.equals("securitySymbol", securitySymbol), pb.equals("securitySymbol", securitySymbol),
pb.equals("tradingClearingRegistryId", registry.getId()), pb.equals("tradingClearingRegistryId", registry.getTradingClearingRegistryId()),
pb.equals("companyId", registry.getCompanyId()) pb.equals("companyId", registry.getCompanyId())
) )
); );