@Slf4j
@Service
public class SplitOrderConfigCache implements CaffeineCache<Integer, SplitOrderConfig> {
@Getter
@Setter
private CrossMarginRiskManagementServiceClient crossMarginRiskManagementServiceClient;
public SplitOrderConfigCache(@Autowired final CrossMarginRiskManagementServiceClient crossMarginRiskManagementServiceClient){
this.crossMarginRiskManagementServiceClient = crossMarginRiskManagementServiceClient;
}
}@Configuration
@ConfigurationProperties(prefix = "elasticjob")
public class EventJobConfig {
@Setter
@Getter
private Integer shardingTotalCount;
@Setter
@Getter
private Integer shardingTotalCountCloseOutOrder;
@Bean("eventJobServiceMap")
public Map<EventStateEnum, EventJobService> getEventJobServiceMap(
@Autowired() @Qualifier("liquidationStartJobImpl") EventJobService liquidationStartJobImpl,
@Autowired() @Qualifier("liquidationCancelJobImpl") EventJobService liquidationCancelJobImpl,
@Autowired() @Qualifier("liquidationFeeJobImpl") EventJobService liquidationFeeJobImpl,
@Autowired() @Qualifier("liquidationCompletedJobImpl") EventJobService liquidationCompletedJobImpl,
@Autowired() @Qualifier("liquidationBankruptcyJobImpl") EventJobService liquidationBankruptcyJobImpl,
@Autowired() @Qualifier("riskCancelJobServiceImpl") EventJobService riskCancelJobServiceImpl,
@Autowired() @Qualifier("liquidationPlaceOrderJobImpl") EventJobService liquidationPlaceOrderJobImpl
){
Map<EventStateEnum, EventJobService> serviceMap = new HashMap<>();
serviceMap.put(EventStateEnum.WAITING_LIQUIDATE, liquidationStartJobImpl);
serviceMap.put(EventStateEnum.LIQUIDATING, liquidationCancelJobImpl);
serviceMap.put(EventStateEnum.CANCEL_COMPLETED, liquidationFeeJobImpl);
serviceMap.put(EventStateEnum.FEE_COLLECTION_COMPLETED, liquidationCompletedJobImpl);
serviceMap.put(EventStateEnum.BANKRUPTCY, liquidationBankruptcyJobImpl);
serviceMap.put(EventStateEnum.WAITING_RISK_CANCEL, riskCancelJobServiceImpl);
serviceMap.put(EventStateEnum.FEE_COLLECTION_COMPLETED_SPLIT_ORDER, liquidationPlaceOrderJobImpl);
return serviceMap;
}
@Bean("splitOrderHandlerMap")
public Map<SplitHandlerEnum, AbstractSplitOrder> getSplitOrderHandlerMap(
@Autowired() @Qualifier("splitOrderOtherHandler") AbstractSplitOrder splitOrderOtherHandler,
@Autowired() @Qualifier("splitOrderTailHandler") AbstractSplitOrder splitOrderTailHandler
){
Map<SplitHandlerEnum, AbstractSplitOrder> serviceMap = new HashMap<>();
serviceMap.put(SplitHandlerEnum.SPLIT_ORDER_OTHER, splitOrderOtherHandler);
serviceMap.put(SplitHandlerEnum.SPLIT_ORDER_TAIL, splitOrderTailHandler);
return serviceMap;
}
}
版权声明:本文为liyanqiang19原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。