| | |
| | | orderSysID = data["orderSysID"] |
| | | insertTime = data.get("insertTime") |
| | | acceptTime = data.get("acceptTime") |
| | | insertDate=data.get("insertDate") |
| | | |
| | | order = HuaxinOrderEntity(code, orderStatus, orderRef, accountID, orderSysID, |
| | | insertTime=insertTime, acceptTime=acceptTime) |
| | | insertTime=insertTime, acceptTime=acceptTime, insertDate=insertDate) |
| | | TradeResultProcessor.process_order(order) |
| | | # 订单相关回调 |
| | | # 重新请求委托列表与资金 |
| | |
| | | accountID = d["accountID"] |
| | | insertTime = d.get('insertTime') |
| | | acceptTime = d.get('acceptTime') |
| | | insertDate = d.get('insertDate') |
| | | |
| | | order = HuaxinOrderEntity(code, orderStatus, orderRef, accountID, orderSysID, |
| | | insertTime=insertTime, acceptTime=acceptTime) |
| | | insertTime=insertTime, acceptTime=acceptTime, |
| | | insertDate=insertDate) |
| | | TradeResultProcessor.process_order(order) |
| | | if huaxin_util.is_can_cancel(orderStatus): |
| | | codes.append(code) |
| | |
| | | |
| | | |
| | | class HuaxinOrderEntity: |
| | | def __init__(self, code, orderStatus, orderRef, accountID, orderSysID, insertTime=None, acceptTime=None): |
| | | def __init__(self, code, orderStatus, orderRef, accountID, orderSysID, insertDate=None, insertTime=None, |
| | | acceptTime=None): |
| | | self.code = code |
| | | self.orderStatus = orderStatus |
| | | self.orderRef = orderRef |
| | | self.accountID = accountID |
| | | self.orderSysID = orderSysID |
| | | self.insertTime = insertTime |
| | | self.insertDate = insertDate |
| | | self.acceptTime = acceptTime |
| | | |
| | | |
| | |
| | | |
| | | class TradeResultProcessor: |
| | | __TradeOrderIdManager = TradeOrderIdManager() |
| | | __processed_keys = set() |
| | | |
| | | @classmethod |
| | | def process_order(cls, order: HuaxinOrderEntity): |
| | | # 同一订单号只有状态变化了才需要处理 |
| | | key = f"{order.insertDate}_f{order.code}_{order.orderSysID}_{order.orderStatus}" |
| | | if key in cls.__processed_keys: |
| | | return |
| | | async_log_util.info(hx_logger_trade_debug, f"处理华鑫订单:{key}") |
| | | cls.__processed_keys.add(key) |
| | | if huaxin_util.is_can_cancel(order.orderStatus): |
| | | # 设置下单成功 |
| | | new_place_order_index = cls.order_success(order) |
| | |
| | | cls.__TradeOrderIdManager.remove_order_id(code, accountId, orderSysID) |
| | | |
| | | |
| | | |
| | | def cancel_order(direction, code, orderSysID, orderRef=None, blocking=False, sinfo=None, request_id=None, |
| | | recancel=False): |
| | | pass |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | CancelOrderManager().start_cancel("000333", 1, "123123") |
| | | # CancelOrderManager().cancel_success("000333", 1, "123123") |