private void ProcessOrderReject(CtpInputOrder input, CtpRspInfo rspInfo)
        {
            var login = _client.CtpLoginInfo;
            var id    = CtpConvert.GetId(input, login);

            ProcessOrderReject(id, rspInfo);
        }
        private void ProcessRtnOrder(CtpOrder data)
        {
            var id = CtpConvert.GetId(data);

            if (!_orders.TryGetById(id, out var order))
            {
                return;
            }
            if (!string.IsNullOrEmpty(data.OrderSysID) && string.IsNullOrEmpty(order.OrderID))
            {
                order.OrderID    = data.OrderSysID;
                order.ExchangeID = data.ExchangeID;
                _orders.SetMap(order);
                ProcessTradePending();
            }
            ReportOrder(order, CtpConvert.GetExecType(data), CtpConvert.GetOrderStatus(data), 0, 0, data.StatusMsg);
            if (_cancelPendings.Contains(id))
            {
                _cancelPendings.Remove(id);
                ProcessCancelOrder(id);
            }
        }