public TrdGetHistoryOrderList.Response GetHistoryOrderListSync(ulong accID, TrdCommon.TrdMarket trdMarket, TrdCommon.TrdEnv trdEnv, TrdCommon.TrdFilterConditions filterConditions, List <TrdCommon.OrderStatus> filterStatusList) { ReqInfo reqInfo = null; Object syncEvent = new Object(); lock (syncEvent) { lock (trdLock) { if (trdConnStatus != ConnStatus.READY) { return(null); } TrdCommon.TrdHeader trdHeader = MakeTrdHeader(trdEnv, accID, trdMarket); TrdGetHistoryOrderList.C2S.Builder c2s = TrdGetHistoryOrderList.C2S.CreateBuilder() .SetHeader(trdHeader); if (filterConditions != null) { c2s.SetFilterConditions(filterConditions); } if (filterStatusList.Count > 0) { foreach (TrdCommon.OrderStatus status in filterStatusList) { c2s.AddFilterStatusList((int)status); } } TrdGetHistoryOrderList.Request req = TrdGetHistoryOrderList.Request.CreateBuilder().SetC2S(c2s).Build(); uint sn = trd.GetHistoryOrderList(req); if (sn == 0) { return(null); } reqInfo = new ReqInfo(ProtoID.TrdGetHistoryOrderList, syncEvent); trdReqInfoMap.Add(sn, reqInfo); } Monitor.Wait(syncEvent); return((TrdGetHistoryOrderList.Response)reqInfo.Rsp); } }
/*** * 获取历史订单列表,具体字段请参考Trd_GetHistoryOrderList.proto协议 * @param req * @return 请求的序列号 */ public uint GetHistoryOrderList(TrdGetHistoryOrderList.Request req) { return(SendProto((uint)ProtoID.TrdGetHistoryOrderList, req)); }