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); }
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; }
public static ReturnType AddTradeOrderBuyer(Alading.Taobao.Entity.Trade trade) { return(DataProviderClass.Instance().AddTradeOrderBuyer(trade)); }