/** * 导入订单可以指定导入多少次,每次导入20分钟的 * doTimes导入次数 * */ private void doImortTrade1(string start_time, int page, int tradeType, int doTimes, DoWorkEventArgs e, BackgroundWorker bgWorker) { var getUrl = ""; var tradeTypeStr = ""; switch (tradeType) { case 1: getUrl = importUrl + "start_time=" + start_time + "&order_query_type=create_time&page_no=" + page + "&acc=" + acc + "&span=1200";//订单创建 tradeTypeStr = "创建订单"; break; case 2: getUrl = importUrl + "start_time=" + start_time + "&order_query_type=settle_time&page_no=" + page + "&acc=" + acc + "&span=1200";//计算订单 tradeTypeStr = "结算订单"; break; } try { Console.WriteLine(getUrl); string re = HttpRequestHelper.HttpGetRequest(getUrl); Console.WriteLine(re); try { ReObject Resault = JsonConvert.DeserializeObject <ReObject>(re); string ifEnd = Resault.ifEnd; string code = Resault.code; if (doTimes >= 0) { if (code == "-1") { //报错 string result = Resault.data; var send = new object[2]; send[0] = code; send[1] = result; //e.Result = send;汇报结束 bgWorker.ReportProgress(1, send); } else { if (ifEnd == "1") { doTimes = doTimes - 1; //结束 string result = Resault.startTime + " " + tradeTypeStr + "P" + page + ": 共" + Resault.totalNum + "单,插入" + Resault.newNum + "单,更新" + Resault.updateNum + "单"; var send = new object[2]; send[0] = code; send[1] = result; //e.Result = send; bgWorker.ReportProgress(1, send); //handleResult(code, result); //增加20分钟继续 DateTime t1 = Convert.ToDateTime(Resault.startTime); t1 = t1.AddMinutes(20); string t2 = t1.ToString("yyyy-MM-dd HH:mm:00"); doImortTrade1(t2, 1, tradeType, doTimes, e, bgWorker); } else { //下一页 string result = Resault.startTime + " " + tradeTypeStr + "P" + page + ": 共" + Resault.totalNum + "单,插入" + Resault.newNum + "单,更新" + Resault.updateNum + "单"; var send = new object[2]; send[0] = code; send[1] = result; //e.Result = send; bgWorker.ReportProgress(1, send); //handleResult(code, result); doImortTrade1(start_time, page + 1, tradeType, doTimes, e, bgWorker); } } } }catch (Exception e2) { var send = new object[2]; send[0] = "-1"; send[1] = "链接服务器出错" + re; //e.Result = send; bgWorker.ReportProgress(1, send); } } catch (Exception e1) { var send = new object[2]; send[0] = "-1"; send[1] = "链接服务器出错" + e1.Message; //e.Result = send; bgWorker.ReportProgress(1, send); } }
//每分钟导入订单函数 private void doImortTrade(string start_time, int page, int tradeType, DoWorkEventArgs e, BackgroundWorker bgWorker) { var getUrl = ""; var tradeTypeStr = ""; switch (tradeType) { case 1: getUrl = importUrl + "start_time=" + start_time + "&order_query_type=create_time&page_no=" + page + "&acc=" + acc; //订单创建 tradeTypeStr = "创建订单"; break; case 2: getUrl = importUrl + "start_time=" + start_time + "&order_query_type=settle_time&page_no=" + page + "&acc=" + acc; //计算订单 tradeTypeStr = "结算订单"; break; } try {//请求服务器 Console.WriteLine(getUrl); string re = HttpRequestHelper.HttpGetRequest(getUrl); Console.WriteLine(re); try { ReObject Resault = JsonConvert.DeserializeObject <ReObject>(re); string ifEnd = Resault.ifEnd; string code = Resault.code; if (code == "-1") { //报错 string result = Resault.data; var send = new object[2]; send[0] = code; send[1] = result; //e.Result = send;汇报结束 bgWorker.ReportProgress(1, send); } else { if (ifEnd == "1") { //结束 string result = Resault.startTime + " " + tradeTypeStr + "P" + page + ": 共" + Resault.totalNum + "单,插入" + Resault.newNum + "单,更新" + Resault.updateNum + "单"; var send = new object[2]; send[0] = code; send[1] = result; //e.Result = send; bgWorker.ReportProgress(1, send); } else { //下一页 string result = Resault.startTime + " " + tradeTypeStr + "P" + page + ": 共" + Resault.totalNum + "单,插入" + Resault.newNum + "单,更新" + Resault.updateNum + "单"; var send = new object[2]; send[0] = code; send[1] = result; //e.Result = send; bgWorker.ReportProgress(1, send); // handleResult(code, result); doImortTrade(start_time, page + 1, tradeType, e, bgWorker); } } }catch (Exception e2) { var send = new object[2]; send[0] = "-1"; send[1] = re; //e.Result = send; bgWorker.ReportProgress(1, send); } }catch (Exception eo) { var send = new object[2]; send[0] = "-1"; send[1] = "请求服务器错误:" + eo.Message; //e.Result = send; bgWorker.ReportProgress(1, send); } }