1)檢查是不是已經收到過的成交
根據成交的成交編號TradeID、買賣方向Direction查找鄭商所成交表,若找到就是已經收到過的,不用再處理了。
2)查找合約
根據成交中包含的合約在交易所的代碼查找鄭商所合約表,鏈接產品和行情后返回該合約。
3)根據成交中包含的會員代碼查找會員編碼與經紀公司編碼對照表獲得經紀公司代碼BrokerID賦予成交的經紀公司代碼BrokerID
(1)檢查數據同步狀態
根據成交的BrokerID和ExchangeID檢查數據同步狀態,順便設置了成交的交易日TradingDay和結算編號SettlementID
(2)檢查是否組合衍生成交
判斷成交的成交類型TradeType,如果是組合衍生成交則調用handle_comb_trade
(3)查找原來的報單
如果找到了原來的報單,則修改原來的報單modify_order_by_trade形成新的報單,以原來的報單和新的報單為參數調用handle_order
如果找不到原來的報單,則
(4)handle_trade
(5)插入成交