コード例 #1
0
        /**
         * 导入订单可以指定导入多少次,每次导入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);
            }
        }
コード例 #2
0
        //每分钟导入订单函数
        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);
            }
        }