Exemple #1
0
        private bool UpdateTaobaoTradeAddressMessage(Alading.Entity.Trade trade)
        {
            string sessionKey = Alading.Utils.SystemHelper.GetSessionKey(trade.seller_nick);

            Alading.Taobao.Entity.Trade taobaoTrade = new Alading.Taobao.Entity.Trade();
            //传入输入级数据参数
            taobaoTrade.Tid              = trade.tid;
            taobaoTrade.ReceiverName     = trade.receiver_name;
            taobaoTrade.ReceiverPhone    = trade.receiver_phone;
            taobaoTrade.ReceiverMobile   = trade.receiver_mobile;
            taobaoTrade.ReceiverState    = trade.receiver_state;
            taobaoTrade.ReceiverCity     = trade.receiver_city;
            taobaoTrade.ReceiverDistrict = trade.receiver_district;
            taobaoTrade.ReceiverAddress  = trade.receiver_address;
            taobaoTrade.ReceiverZip      = trade.receiver_zip;
            try
            {
                Alading.Taobao.API.TopService.TradeShippingAddressUpdate(sessionKey, taobaoTrade);
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
            return(true);
        }
Exemple #2
0
        void worker_DoWork(object sender, DoWorkEventArgs e)
        {
            TradeTask tradeTask = (TradeTask)e.Argument;

            int           total_num  = tradeTask.totalNum;
            string        shopNick   = tradeTask.shopNic;
            string        sessionKey = tradeTask.sessionKey;
            List <string> tidList    = tradeTask.ShopTradeList;

            int CurrentNum          = 0;
            BackgroundWorker worker = (BackgroundWorker)sender;

            //用于记录下载失败的订单信息
            failedTrade = new FailedTrade();
            //买家昵称列表
            List <string> buyerNickList = new List <string>();

            for (int i = 0; i < tidList.Count; i++)
            {
                /*线程取消*/
                if (worker.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }

                try
                {
                    TradeRsp fullinfoTraderspReturn = TopService.TradeFullinfoGet(sessionKey, tidList[i]);

                    if (fullinfoTraderspReturn == null || fullinfoTraderspReturn.Trade == null)
                    {
                        //加锁
                        lock (lockObject)
                        {
                            /*记录下载失败的交易*/
                            failedTrade.tidList.Add(tidList[i]);
                            failedTrade.sessionKey = sessionKey;
                            failedTrade.shopNick   = shopNick;
                        }

                        UserState stateFail = new UserState();
                        stateFail.taskIndex = tradeTask.threadIndex;
                        stateFail.tidIndex  = i + 1;
                        stateFail.tid       = tidList[i];
                        ProcessRecord++;
                        currentProessNum++;
                        stateFail.message = "交易获取失败!";
                        /*订单下载失败*/
                        worker.ReportProgress(-1, stateFail);/*下载失败*/
                        continue;
                    }

                    UserState stateSuccess = new UserState();
                    stateSuccess.taskIndex = tradeTask.threadIndex;
                    stateSuccess.tidIndex  = i + 1;
                    currentProessNum++;

                    stateSuccess.tid = tidList[i];
                    stateSuccess.currentProessNum = (int)((currentProessNum * 100) / (float)total_num);
                    ProcessRecord++;
                    stateSuccess.totalProcessNum = (int)((ProcessRecord * 100) / (float)TotalProessNum);
                    worker.ReportProgress(stateSuccess.currentProessNum, stateSuccess);/*下载成功*/

                    Alading.Taobao.Entity.Trade fullinfoTradersp = fullinfoTraderspReturn.Trade;

                    if (TradeService.AddTradeOrderBuyer(fullinfoTradersp) != ReturnType.Success)
                    {
                        UserState SaveFailState = new UserState();
                        SaveFailState.shopNick = shopNick;
                        SaveFailState.message  = "保存失败!";
                        worker.ReportProgress(1, SaveFailState);/*参数2:表示保存失败*/
                    }
                }/*try*/
                catch (System.Exception ex)
                {
                    ProcessRecord++;
                    currentProessNum++;
                    //加锁
                    lock (lockObject)
                    {
                        /*记录下载失败的交易*/
                        failedTrade.tidList.Add(tidList[i]);
                        failedTrade.sessionKey = sessionKey;
                        failedTrade.shopNick   = shopNick;
                    }

                    UserState exceptionState = new UserState();
                    exceptionState.message   = ex.Message.ToString();
                    exceptionState.taskIndex = tradeTask.threadIndex;
                    exceptionState.tidIndex  = i + 1;
                    exceptionState.tid       = tidList[i];
                    worker.ReportProgress(-1, exceptionState);
                }
            }/*for 对tid遍历*/

            e.Result = tradeTask.threadIndex;
        }
Exemple #3
0
 public static ReturnType AddTradeOrderBuyer(Alading.Taobao.Entity.Trade trade)
 {
     return(DataProviderClass.Instance().AddTradeOrderBuyer(trade));
 }