private List <Trade> GetListtrade(tradeRateQueryCls tradeRatestr, out long TotalResults) { string errorMsg = string.Empty; bool hasnext = false; tbClientUser clientuser = GetUser("UserInfo"); TotalResults = 0; TradesSoldGet TradesSold = new TradesSoldGet(); TradesSold.Tid = tradeRatestr.Tid == 0 ? null : tradeRatestr.Tid.ToString(); //获取买家已评,卖家未评价订单信息 if (string.IsNullOrEmpty(tradeRatestr.RateStatus)) { TradesSold.RateStatus = null; } else { TradesSold.RateStatus = tradeRatestr.RateStatus; } TradesSold.BuyerNick = tradeRatestr.BuyerNick; TradesSold.PageNo = tradeRatestr.PageNo; tradeRatestr.PageSize = tradeRatestr.PageSize; if (tradeRatestr.Tid == null) { return(iiti.GetTradesSoldToTradeRate(clientuser.UserShops[0].SessionKey, TradesSold, out errorMsg, out hasnext, out TotalResults)); } else { List <Trade> lisaa = new List <Trade>(); Trade trade = new Trade(); trade = iiti.GetTrade(clientuser.UserShops[0].SessionKey, tradeRatestr.Tid.ToString(), out errorMsg); lisaa.Add(trade); return(lisaa); } }
/// <summary> /// 获取淘宝未完成订单并插入数据库 /// </summary> public void GetResquestBacklogOrder(TradesSoldGet TradesSold, tbClientUser clientuser, IList <StoreLogistics> StoreLogisticsList, tbOrdersConfig Config, DateTime?LastModifyTime) { Hashtable ht = new Hashtable(); ht.Add("clientuser", clientuser); ht.Add("TradesSoldGet", TradesSold); ht.Add("LogisticsList", StoreLogisticsList); ht.Add("Config", Config); ht.Add("LastModifyTime", LastModifyTime); StartRun(ht); }
/// <summary> /// 加载评价数据 /// </summary> /// <returns></returns> public ViewResult OnloadRate(tradeRateQueryCls tradeRatestr) { #region /* tradeRatestr.RateType = "get"; * tradeRatestr.Role = "buyer"; * tradeRatestr.PageNo = tradeRatestr.PageNo == null ? 1 : tradeRatestr.PageNo; * tradeRatestr.PageSize = tradeRatestr.PageSize > 0 ? tradeRatestr.PageSize : 40; * //获取最近一个月评价记录 * List<Entity.Traderate.TradeRate> listrate = new List<Entity.Traderate.TradeRate>(); * listrate = iit.GetTraderateList(clientuser.UserShops[0].SessionKey, tradeRatestr);*/ #endregion tbClientUser clientuser = GetUser("UserInfo"); string errorMsg = string.Empty; bool hasnext = false; long TotalResults = 0; TradesSoldGet TradesSold = new TradesSoldGet(); List <Trade> listtrade = new List <Trade>(); if (tradeRatestr.StartDate != null || tradeRatestr.EndDate != null) { tradeRatestr.RateType = "get"; tradeRatestr.Role = "buyer"; List <Entity.Traderate.TradeRate> listrate = new List <Entity.Traderate.TradeRate>(); listrate = iit.GetTraderateList(clientuser.UserShops[0].SessionKey, tradeRatestr); if (listrate != null) { foreach (Entity.Traderate.TradeRate item in listrate) { tradeRatestr.Tid = item.Tid; listtrade.AddRange(GetListtrade(tradeRatestr, out TotalResults)); } } } else { listtrade = GetListtrade(tradeRatestr, out TotalResults); } ViewData["totalpage"] = TotalResults % 40 == 0 ? TotalResults % 40 : Convert.ToInt32(TotalResults / 40) + 1; return(View(listtrade)); }
/// <summary> /// 查询卖家已卖出的增量交易数据(根据修改时间) /// </summary> /// <param name="token"></param> /// <param name="TradesSold"></param> /// <param name="ErrorMsg"></param> /// <returns></returns> public List <Trade> GetTradesSoldIncrement(string token, TradesSoldGet TradesSold, out string ErrorMsg) { return(gti.GetTradesSoldIncrement(token, TradesSold, out ErrorMsg)); }
/// <summary> /// 查询卖家已卖出的交易数据(根据创建时间) /// </summary> /// <param name="token"></param> /// <param name="TradesSold"></param> /// <param name="ErrorMsg"></param> /// <param name="HasNext"></param> /// <param name="TotalResults"></param> /// <returns></returns> public List <Trade> GetTradesSold(string token, TradesSoldGet TradesSold, out string ErrorMsg, out bool HasNext, out long TotalResults) { return(gti.GetTradesSold(token, TradesSold, out ErrorMsg, out HasNext, out TotalResults)); }
/// <summary> /// 获取订单数据(订单评价) /// </summary> /// <param name="sessionKey"></param> /// <param name="TradesSold"></param> /// <param name="ErrorMsg"></param> /// <param name="HasNext"></param> /// <param name="TotalResults"></param> /// <returns></returns> public List <Trade> GetTradesSoldToTradeRate(string sessionKey, TradesSoldGet TradesSold, out string ErrorMsg, out bool HasNext, out long TotalResults) { return(gti.GetTradesSoldToTradeRate(sessionKey, TradesSold, out ErrorMsg, out HasNext, out TotalResults)); }
//开始执行操作 private bool StartRun(object obj) { int StartIndex = 0; MYDZ.Business.Business_Logic.Order.InitTradeInfo iti = new Business_Logic.Order.InitTradeInfo(); bool Result = false; string ErrorMsg = null; bool HasNext = false; long TotalResults = 0; Hashtable ht = null; TradesSoldGet TradesSold = null; tbClientUser clientuser = null; tbOrdersConfig ordersConfig = null; List <Trade> listtrade = null; IList <StoreLogistics> StoreLogisticsList = null; tbOrdersInfo OrdersInfo = null; if (obj != null) { ht = new Hashtable(); TradesSold = new TradesSoldGet(); clientuser = new tbClientUser(); ordersConfig = new tbOrdersConfig(); ht = obj as Hashtable; clientuser = ht["clientuser"] as tbClientUser; TradesSold = ht["TradesSoldGet"] as TradesSoldGet; StoreLogisticsList = ht["LogisticsList"] as List <StoreLogistics>; ordersConfig = ht["Config"] as tbOrdersConfig; //获取从上一次同步到现在产生的订单,否则获取店铺一个星期的未完成订单 DateTime LastModifyTime = ht["LastModifyTime"] == null ? new DateTime() : Convert.ToDateTime(ht["LastModifyTime"].ToString()); if (LastModifyTime != new DateTime()) { TradesSold.StartCreated = Convert.ToDateTime(LastModifyTime.ToString("yyyy-MM-dd HH:mm:ss")); } else { TradesSold.StartCreated = Convert.ToDateTime(DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd HH:mm:ss")); } if (TradesSold.EndCreated == null) { TradesSold.EndCreated = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } while (true) { string Errormsg = null; List <tbOrdersInfo> listOrdersInfo = new List <tbOrdersInfo>(); listtrade = new List <Trade>(); //获取未完成订单 TradesSold.Status = "WAIT_SELLER_SEND_GOODS"; //获取淘宝默认数量的订单 listtrade = iti.GetTradesSold(clientuser.UserShops[0].SessionKey, TradesSold, out ErrorMsg, out HasNext, out TotalResults); if (listtrade == null || TotalResults == 0) { break; } try { //这里写得到临时数据 //遍历订单 foreach (Trade trade in listtrade) { try { OrdersInfo = new tbOrdersInfo(); //获取订单的详细信息 OrdersInfo = iti.GetTradeFullinfo(clientuser.UserShops[0].SessionKey, trade.Tid.ToString(), clientuser.UserShops[0].Shop.ShopId, out Errormsg); //这里做物流解析 string[] LogisticsList = Comm.Distribution(StoreLogisticsList, OrdersInfo.LogisticsStr); if (LogisticsList != null) { OrdersInfo.IsFree = bool.Parse(LogisticsList[0]); OrdersInfo.Logistics.LogisticsId = int.Parse(LogisticsList[1]);; if (OrdersInfo.OrdersFreight == 0) { OrdersInfo.IsFree = true; } } //拆单、并单 Comm.MergeOrder(ordersConfig, listOrdersInfo, OrdersInfo); // 检查订单配置关系 Comm.StatusAssign(ordersConfig, OrdersInfo); //物流分配 bool IsOk = Comm.DeliveryAssign(ordersConfig, StoreLogisticsList, OrdersInfo); if (!IsOk && ordersConfig.LogisticsDis && StoreLogisticsList != null && StoreLogisticsList.Count > 0) { string target = String.IsNullOrEmpty(OrdersInfo.Consignee.District) ? OrdersInfo.Consignee.City : OrdersInfo.Consignee.District; if (!String.IsNullOrEmpty(target)) { List <string> CompayList = GetLogisticsIdList((OrdersInfo.CashOndelivery ? "cod" : "online"), "", target.Trim()); //根据物流配送范围和物流优先级别分配订单物流信息 Comm.RangeDelivery(StoreLogisticsList, OrdersInfo, CompayList); } } //解析订单是否需要打印发货单 Comm.AnalyticalInvoice(ordersConfig, StoreLogisticsList, OrdersInfo); //修改订单备注旗帜 UpdateDeital(OrdersInfo, ordersConfig, clientuser.UserShops[0].SessionKey); } catch (Exception ex) { continue; } } StartIndex++; //这里写插入数据库临时表 if (CheckAndInsertOrders(listOrdersInfo)) { if (StartIndex == 1) { clientuser.StartIndex = StartIndex; } } } catch (Exception ex) { continue; } if (HasNext) { TradesSold.PageNo++; } else { break; } } } return(Result); }
/// <summary> /// 查询卖家已卖出的交易数据(根据创建时间) /// </summary> /// <param name="sessionKey"></param> /// <param name="TradesSold"></param> /// <param name="ErrorMsg">错误信息</param> /// <param name="HasNext">是否存在下一页</param> /// <param name="TotalResults">总行数</param> /// <returns></returns> internal List <Trade> GetTradesSoldToTradeRate(string sessionKey, TradesSoldGet TradesSold, out string ErrorMsg, out bool HasNext, out long TotalResults) { ErrorMsg = null; HasNext = false; TotalResults = 0; List <Trade> ListTrades = new List <Trade>(); try { ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = "seller_nick, buyer_nick, title, type, created, tid, seller_rate,seller_can_rate, buyer_rate,can_rate, status, payment, discount_fee, adjust_fee, post_fee, total_fee, pay_time, end_time, modified, consign_time, buyer_obtain_point_fee, point_fee, real_point_fee, received_payment, pic_path, num_iid, num, price, cod_fee, cod_status, shipping_type, receiver_name, receiver_state, receiver_city, receiver_district, receiver_address, receiver_zip, receiver_mobile, receiver_phone,seller_flag,alipay_id,alipay_no,is_lgtype,is_force_wlb,is_brand_sale,buyer_area,has_buyer_message, credit_card_fee, lg_aging_type, lg_aging, step_trade_status,step_paid_fee,mark_desc,has_yfx,yfx_fee,yfx_id,yfx_type,trade_source,send_time,is_daixiao,is_wt,is_part_consign,zero_purchase,orders"; if (TradesSold.StartCreated != null) { string startt = TradesSold.StartCreated.Value.ToString("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = DateTime.Parse(startt); req.StartCreated = dateTime; } if (TradesSold.EndCreated != null) { string endt = TradesSold.EndCreated.Value.ToString("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = DateTime.Parse(endt); req.EndCreated = dateTime; } if (TradesSold.Status != null) { req.Status = TradesSold.Status; } if (TradesSold.BuyerNick != null) { req.BuyerNick = TradesSold.BuyerNick; } /* fixed(一口价) auction(拍卖) guarantee_trade(一口价、拍卖) step(分阶段付款,万人团,阶梯团订单) * independent_simple_trade(旺店入门版交易) independent_shop_trade(旺店标准版交易) * auto_delivery(自动发货) ec(直冲) cod(货到付款) game_equipment(游戏装备) shopex_trade(ShopEX交易) * netcn_trade(万网交易) external_trade(统一外部交易) instant_trade (即时到账) b2c_cod(大商家货到付款) * hotel_trade(酒店类型交易) super_market_trade(商超交易) super_market_cod_trade(商超货到付款交易) * taohua(淘花网交易类型) waimai(外卖交易类型) o2o_offlinetrade(O2O交易) nopaid(即时到帐/趣味猜交易类型) * step (万人团) eticket(电子凭证) tmall_i18n(天猫国际);nopaid (无付款交易)insurance_plus(保险) * finance(基金) 注:guarantee_trade是一个组合查询条件,并不是一种交易类型,获取批量或单个订单中不会返回此种类型的订单。 * pre_auth_type(预授权0元购) */ TradesSold.Type += "guarantee_trade, step," + " independent_simple_trade, independent_shop_trade, " + " auto_delivery, ec,cod, game_equipment, shopex_trade," + " netcn_trade, external_trade, instant_trade , b2c_cod," + " hotel_trade, super_market_trade, super_market_cod_trade," + " taohua,waimai, o2o_offlinetrade, nopaid,pre_auth_type," + " step, eticket, tmall_i18n,nopaid ,insurance_plus, finance"; if (TradesSold.Type != null) { req.Type = TradesSold.Type; } if (TradesSold.ExtType != null) { req.ExtType = TradesSold.ExtType; } if (TradesSold.RateStatus != null) { req.RateStatus = TradesSold.RateStatus; } if (TradesSold.Tag != null) { req.Tag = TradesSold.Tag; } if (TradesSold.PageNo != null) { req.PageNo = TradesSold.PageNo; } if (TradesSold.PageSize != null) { req.PageSize = TradesSold.PageSize; } if (TradesSold.UseHasNext != null) { req.UseHasNext = TradesSold.UseHasNext; } TradesSoldGetResponse response = client.Execute(req, sessionKey); if (response.IsError) { ErrorMsg = response.SubErrMsg; } else { TopJsonParser topjson = new TopJsonParser(); TradesSoldGetResponse1 resp = topjson.Parse <TradesSoldGetResponse1>(response.Body); ListTrades = resp.Trades; if (TradesSold.UseHasNext == true) { HasNext = resp.HasNext; } else { TotalResults = resp.TotalResults; } } } catch (Exception ex) { throw ex; } return(ListTrades); }
/// <summary> /// 查询卖家已卖出的交易数据(根据创建时间) /// </summary> /// <param name="sessionKey"></param> /// <param name="TradesSold"></param> /// <param name="ErrorMsg">错误信息</param> /// <param name="HasNext">是否存在下一页</param> /// <param name="TotalResults">总行数</param> /// <returns></returns> internal List <Trade> GetTradesSold(string sessionKey, TradesSoldGet TradesSold, out string ErrorMsg, out bool HasNext, out long TotalResults) { ErrorMsg = null; HasNext = false; TotalResults = 0; List <Trade> ListTrades = new List <Trade>(); try { ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = "tid,created,pay_time,end_time,status,price,buyer_nick"; if (TradesSold.StartCreated != null) { string startt = TradesSold.StartCreated.Value.ToString("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = DateTime.Parse(startt); req.StartCreated = dateTime; } if (TradesSold.EndCreated != null) { string endt = TradesSold.EndCreated.Value.ToString("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = DateTime.Parse(endt); req.EndCreated = dateTime; } if (TradesSold.Status != null) { req.Status = TradesSold.Status; } if (TradesSold.BuyerNick != null) { req.BuyerNick = TradesSold.BuyerNick; } /* fixed(一口价) auction(拍卖) guarantee_trade(一口价、拍卖) step(分阶段付款,万人团,阶梯团订单) * independent_simple_trade(旺店入门版交易) independent_shop_trade(旺店标准版交易) * auto_delivery(自动发货) ec(直冲) cod(货到付款) game_equipment(游戏装备) shopex_trade(ShopEX交易) * netcn_trade(万网交易) external_trade(统一外部交易) instant_trade (即时到账) b2c_cod(大商家货到付款) * hotel_trade(酒店类型交易) super_market_trade(商超交易) super_market_cod_trade(商超货到付款交易) * taohua(淘花网交易类型) waimai(外卖交易类型) o2o_offlinetrade(O2O交易) nopaid(即时到帐/趣味猜交易类型) * step (万人团) eticket(电子凭证) tmall_i18n(天猫国际);nopaid (无付款交易)insurance_plus(保险) * finance(基金) 注:guarantee_trade是一个组合查询条件,并不是一种交易类型,获取批量或单个订单中不会返回此种类型的订单。 * pre_auth_type(预授权0元购) */ TradesSold.Type += "guarantee_trade, step," + " independent_simple_trade, independent_shop_trade, " + " auto_delivery, ec,cod, game_equipment, shopex_trade," + " netcn_trade, external_trade, instant_trade , b2c_cod," + " hotel_trade, super_market_trade, super_market_cod_trade," + " taohua,waimai, o2o_offlinetrade, nopaid,pre_auth_type," + " step, eticket, tmall_i18n,nopaid ,insurance_plus, finance"; if (TradesSold.Type != null) { req.Type = TradesSold.Type; } if (TradesSold.ExtType != null) { req.ExtType = TradesSold.ExtType; } if (TradesSold.RateStatus != null) { req.RateStatus = TradesSold.RateStatus; } if (TradesSold.Tag != null) { req.Tag = TradesSold.Tag; } if (TradesSold.PageNo != null) { req.PageNo = TradesSold.PageNo; } if (TradesSold.PageSize != null) { req.PageSize = TradesSold.PageSize; } if (TradesSold.UseHasNext != null) { req.UseHasNext = TradesSold.UseHasNext; } TradesSoldGetResponse response = client.Execute(req, sessionKey); if (response.IsError) { ErrorMsg = response.SubErrMsg; } else { TopJsonParser topjson = new TopJsonParser(); TradesSoldGetResponse1 resp = topjson.Parse <TradesSoldGetResponse1>(response.Body); ListTrades = resp.Trades; if (TradesSold.UseHasNext == true) { HasNext = resp.HasNext; } else { TotalResults = resp.TotalResults; } } } catch (Exception ex) { throw ex; } return(ListTrades); }
/// <summary> /// 查询卖家已卖出的增量交易数据(根据修改时间) /// </summary> /// <param name="sessionKey"></param> /// <param name="TradesSold"></param> /// <param name="ErrorMsg"></param> /// <returns></returns> internal List <Trade> GetTradesSoldIncrement(string sessionKey, TradesSoldGet TradesSold, out string ErrorMsg) { ErrorMsg = null; List <Trade> ListTrades = new List <Trade>(); DateTime starttime = new DateTime(); DateTime endtime = new DateTime(); try { ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); TradesSoldIncrementGetRequest req = new TradesSoldIncrementGetRequest(); req.Fields = "tid,created,pay_time,end_time,status,snapshot_url,buyer_message,price,buyer_nick,seller_memo,seller_flag,orders"; if (TradesSold.StartCreated != null) { string startt = TradesSold.StartModified.Value.ToString("yyyy-MM-dd HH:mm:ss"); starttime = DateTime.Parse(startt); req.StartModified = starttime; } if (TradesSold.EndCreated != null) { string startt = TradesSold.EndModified.Value.ToString("yyyy-MM-dd HH:mm:ss"); endtime = DateTime.Parse(startt); req.EndModified = endtime; } //这里修正结束时间与开始时间间隔超一天,自动修改时间为开始时间的后一天 if (starttime != new DateTime() && endtime != new DateTime()) { if (endtime.Subtract(starttime).Days > 1) { req.EndModified = starttime.AddDays(1); } } if (TradesSold.Status != null) { req.Status = TradesSold.Status; } if (TradesSold.Type != null) { req.Type = TradesSold.Type; } if (TradesSold.ExtType != null) { req.ExtType = TradesSold.ExtType; } if (TradesSold.Tag != null) { req.Tag = TradesSold.Tag; } if (TradesSold.PageNo != null) { req.PageNo = TradesSold.PageNo; } if (TradesSold.PageSize != null) { req.PageSize = TradesSold.PageSize; } if (TradesSold.UseHasNext != null) { req.UseHasNext = TradesSold.UseHasNext; } TradesSoldIncrementGetResponse response = client.Execute(req, sessionKey); if (response.IsError) { ErrorMsg = response.SubErrMsg; } else { TopJsonParser topjson = new TopJsonParser(); TradesSoldGetResponse1 resp = topjson.Parse <TradesSoldGetResponse1>(response.Body); ListTrades = resp.Trades; } } catch (Exception ex) { throw; } return(ListTrades); }