package com.xcong.excoin.modules.okxNewPrice.okxpi.order;
|
|
import lombok.Data;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.stereotype.Component;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 交易订单工厂类
|
* 该类用于根据不同的交易平台(如OKX、BINANCE)获取相应的交易订单服务实例
|
*/
|
@Component
|
@Data
|
public class TradeOrderFactory {
|
/**
|
* OKX交易平台的交易订单服务实例
|
*/
|
@Qualifier("oKXTradeOrderServiceImpl")
|
private final ITradeOrderService oKXTradeOrderServiceImpl;
|
|
/**
|
* 存储不同交易平台对应的交易订单服务实例的映射
|
*/
|
private Map<String, ITradeOrderService> accountMap = new HashMap<>();
|
|
/**
|
* 构造方法,初始化交易平台与交易订单服务实例的映射
|
*
|
* @param oKXTradeOrderServiceImpl OKX交易平台的交易订单服务实例
|
*/
|
public TradeOrderFactory(ITradeOrderService oKXTradeOrderServiceImpl) {
|
this.oKXTradeOrderServiceImpl = oKXTradeOrderServiceImpl;
|
accountMap.put("OKX", oKXTradeOrderServiceImpl);
|
}
|
|
/**
|
* 根据平台关键字获取交易订单服务实例
|
*
|
* @param key 平台关键字,如"OKX"、"BINANCE"
|
* @return 对应平台的交易订单服务实例
|
*/
|
public ITradeOrderService get(String key) {
|
return accountMap.get(key);
|
}
|
}
|