/// <summary> /// 订单按日期下载 /// </summary> /// <param name="strSessionKey"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="pageNo"></param> /// <param name="pageSize"></param> /// <param name="hasNext"></param> /// <returns></returns> public static List <Trade> GetTradeByDate(string strSessionKey, string startTime, string endTime, string pageNo, string pageSize, string buyer_nick, string type, ref Boolean hasNext) { try { ITopClient client = TBManager.GetClient(); TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = @"tid,type,buyer_nick,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address, receiver_mobile,receiver_phone,receiver_zip,buyer_area,post_fee,created,seller_nick,payment,status,shipping_type,pay_time,modified, orders.outer_iid,orders.discount_fee,orders.payment,orders.refund_status,orders.status,orders.pic_path,orders.sku_properties_name,orders.adjust_fee, orders.outer_sku_id,orders.cid,orders.refund_id,orders.item_meal_name,orders.num,orders.title,orders.price,orders.oid,orders.total_fee,orders.num_iid,orders.sku_id,orders.seller_type"; req.StartCreated = Convert.ToDateTime(startTime); req.EndCreated = Convert.ToDateTime(endTime); req.PageSize = Convert.ToInt64(pageSize); req.PageNo = Convert.ToInt64(pageNo); if (!string.IsNullOrEmpty(buyer_nick)) { req.BuyerNick = buyer_nick; } if (!string.IsNullOrEmpty(type)) { req.Type = type; } TradesSoldGetResponse rsp = client.Execute(req, strSessionKey); hasNext = rsp.HasNext; return(rsp.Trades); } catch (Exception ex) { ExceptionReporter.WriteLog(ex, ExceptionPostion.TopApi); return(null); } }
public ApiPagedResult <List <TopTrade> > GetSoldTrade(string status, int page, DateTime start) { ITopClient client = GetTopClient(); TradesSoldGetRequest request = new TradesSoldGetRequest { Fields = "tid,buyer_nick,num,num_iid,created,pay_time,payment,receiver_address,status,end_time,seller_rate,seller_can_rate" }; request.StartCreated = start; request.EndCreated = DateTime.Now; request.Status = status; request.Type = "guarantee_trade"; request.PageNo = page; request.PageSize = 50; request.UseHasNext = true; TradesSoldGetResponse response = client.Execute <TradesSoldGetResponse>(request, AccessToken); List <TopTrade> list = new List <TopTrade>(); if (!response.IsError) { list = response.Trades.Select(x => TopTrade.FromTrade(x)).ToList(); } return(response.AsApiPagedResult(list, response.HasNext)); }
/// <summary> /// 获取指定时间段内的交易信息和明细 /// TradesSoldGetRequest 获取单笔交易的详细信息 /// </summary> /// <param name="sellerNick">根据买家昵称获取交易信息</param> /// <returns></returns> public static List <Trade> GetBuyerTrade(string sellerNick, DateTime startDate, DateTime endDate, ref bool hasNextPage, string sessionKey, long pageNo) { try { ITopClient client = TBManager.GetClient(); TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = @"tid,seller_rate,orders.oid,orders.end_time,orders.buyer_rate,buyer_nick,end_time"; if (!String.IsNullOrEmpty(startDate.ToShortDateString())) { req.StartCreated = startDate; } if (!String.IsNullOrEmpty(endDate.ToShortDateString())) { req.EndCreated = endDate; } req.Status = "TRADE_FINISHED";//交易成功后才可以评价 req.PageNo = pageNo; req.PageSize = 100L; req.UseHasNext = true; TradesSoldGetResponse response = client.Execute(req, sessionKey); hasNextPage = response.HasNext; return(response.Trades); } catch (Exception ex) { CHENGTUAN.Components.ExceptionReporter.WriteLog(ex, CHENGTUAN.Entity.ExceptionPostion.TopApi); return(null); } }
/// <summary> /// 只能获取到三个月以内的交易信息 /// TradesSoldGetRequest 获取单笔交易的详细信息 /// </summary> /// <param name="sellerNick">根据买家昵称获取交易信息</param> /// <param name="buyerNick"></param> /// <returns></returns> public List <Trade> GetBuyerTrade(string strSessionKey, string buyerNick) { try { ITopClient client = TBManager.GetClient(); TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = @"tid,buyer_nick,seller_nick,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_mobile,buyer_email"; req.BuyerNick = buyerNick; TradesSoldGetResponse response = client.Execute(req, strSessionKey); return(response.Trades); } catch (Exception ex) { ExceptionReporter.WriteLog(ex, ExceptionPostion.TopApi); return(null); } }
//public orderapp(string appkey, string appsecret) : base(appkey, appsecret) { } #region 主订单 #region 读取订单 /// <summary> /// 返回读取的订单 /// </summary> /// <param name="datetime1">开始时间</param> /// <param name="datetime2">结束时间</param> /// <param name="index">当前第几页</param> /// <param name="pagesize">每页读取的数据量</param> /// <param name="hasNext">是否存在下一页</param> /// <returns></returns> public List <Trade> getSoldTrade(string datetime1, string datetime2, int index, int pagesize, out bool hasNext) { List <Trade> list = new List <Trade>(); ITopClient client = new DefaultTopClient(Url, Appkey, Appsecret); TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = "seller_nick, buyer_nick, type, created, tid, status, payment, pay_time, end_time, modified, consign_time"; req.StartCreated = DateTime.Parse(datetime1); req.EndCreated = DateTime.Parse(datetime2); req.PageNo = index; req.PageSize = pagesize; if (Sessionkey == "61018063b06cee193a796d291600c416f5e73b4d565b01f1954282799") { req.Type = "tmall_i18n,step"; } req.UseHasNext = true; TradesSoldGetResponse response = client.Execute(req, Sessionkey); list.AddRange(response.Trades); hasNext = response.HasNext; return(list); }
/// <summary> /// 优化为一次性读取卖家最近3个月的交易数据 /// </summary> /// <param name="strSessionKey"></param> /// <param name="pageNum"></param> /// <param name="hasNext"></param> /// <returns></returns> public List <Trade> GetBuyerTrades(string strSessionKey, Int64 pageNum, ref bool hasNext) { try { ITopClient client = TBManager.GetClient(); TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = @"tid,buyer_nick,seller_nick,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_mobile,buyer_email"; req.PageNo = pageNum; req.StartCreated = Convert.ToDateTime(DateTime.Now.AddMonths(-3)); req.EndCreated = Convert.ToDateTime(DateTime.Now); req.UseHasNext = true; req.PageSize = 100L; TradesSoldGetResponse response = client.Execute(req, strSessionKey); hasNext = response.HasNext; //是否有下一页 return(response.Trades); //返回信息数组,数组对象的属性为fields的参数 } catch (Exception ex) { File.WriteAllText(@"D:\log\" + strSessionKey + ".txt", ex.Message, Encoding.Default); ExceptionReporter.WriteLog(ex, ExceptionPostion.TopApi); return(null); } }
/// <summary> /// 同步交易数据 /// </summary> /// <param name="info"></param> /// <returns></returns> public List <Trade> InitTradeSold(ShipInfo info) { ITopClient client = new DefaultTopClient(url, info.AppKey, info.AppSecret); var pageIndex = 1L; TradesSoldGetResponse rsp = null; var list = new List <Trade>(); do { try { TradesSoldGetRequest req = new TradesSoldGetRequest { Fields = "tid,type,status,payment,orders,rx_audit_status", StartCreated = DateTime.Now.AddMonths(-3), EndCreated = DateTime.Now, PageNo = pageIndex, PageSize = 100L, UseHasNext = true }; rsp = client.Execute(req, info.SessionKey); pageIndex++; if (!rsp.IsError) { list.AddRange(rsp.Trades); } } catch (Exception e) { break; } } while (rsp.HasNext); return(list); }
/// <summary> /// /// </summary> /// <param name="sDate"></param> /// <param name="eDate"></param> /// <param name="status"></param> /// <returns></returns> private List <BSale> SyncTrades(DateTime?sDate, DateTime?eDate, string status, long page, out long totalTrades, out bool hasNextPage, bool onlyReFound = false) { totalTrades = 0; hasNextPage = false; TradesSoldGetRequest req = new TradesSoldGetRequest(); req.Fields = "total_fee,buyer_nick,created,tid,status, payment, discount_fee, adjust_fee, post_fee,price,adjust_fee,receiver_city,receiver_district,receiver_name,receiver_state,receiver_mobile,receiver_phone,received_payment"; req.Fields += ",orders.title,orders.pic_path,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.refund_status,orders.status,orders.oid,orders.total_fee,orders.payment,orders.discount_fee,orders.adjust_fee,orders.sku_properties_name,orders.item_meal_name,orders.buyer_rate,orders.seller_rate,orders.outer_iid,orders.outer_sku_id,orders.refund_id,orders.seller_type"; if (sDate != null) { req.StartCreated = sDate; } if (eDate != null) { req.EndCreated = eDate; } if (!string.IsNullOrEmpty(status)) { req.Status = status; } //req.BuyerNick = "zhangsan"; //req.Type = "game_equipment"; //req.ExtType = "service"; //req.RateStatus = "RATE_UNBUYER"; //req.Tag = "time_card"; req.PageNo = page; req.PageSize = 50L; req.UseHasNext = true; TradesSoldGetResponse response = client.Execute(req, this.Access_Token.Access_Token1); List <BSale> sales = new List <BSale>(); if (response.IsError) { throw new KMJXCTaobaoException(response.ErrCode, response.SubErrMsg); } if (response.Trades != null) { hasNextPage = response.HasNext; totalTrades = response.TotalResults; foreach (TB.Trade trade in response.Trades) { if (trade.Tid <= 0) { continue; } var existedSales = from esale in sales where esale.Sale_ID == trade.Tid.ToString() select esale; if (existedSales.Count() > 0) { continue; } bool containRefound = false; BSale sale = new BSale(); sale.Status = trade.Status; sale.SaleDateTime = DateTimeUtil.ConvertDateTimeToInt(Convert.ToDateTime(trade.Created)); sale.Sale_ID = trade.Tid.ToString(); sale.Orders = new List <BOrder>(); sale.Synced = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now); if (!string.IsNullOrEmpty(trade.PostFee)) { sale.Post_Fee = double.Parse(trade.PostFee); } if (!string.IsNullOrEmpty(trade.Payment)) { sale.Amount = double.Parse(trade.Payment); } sale.Province = new Common_District() { name = trade.ReceiverState }; sale.City = new Common_District() { name = trade.ReceiverState }; sale.Buyer = new BCustomer() { Type = new BMallType() { ID = this.Mall_Type_ID }, Mall_ID = trade.BuyerNick, Name = trade.ReceiverName, Address = trade.ReceiverAddress, Phone = trade.ReceiverMobile, Province = new Common_District { name = trade.ReceiverState }, City = new Common_District() { name = trade.ReceiverCity } }; if (trade.Orders != null) { foreach (TB.Order o in trade.Orders) { if (o.Oid <= 0) { continue; } var existedOrders = from so in sale.Orders where so.Order_ID == o.Oid.ToString() select so; if (existedOrders.Count() > 0) { continue; } //if (string.IsNullOrEmpty(o.OuterIid)) //{ // continue; //} BOrder order = new BOrder(); if (!string.IsNullOrEmpty(o.Title)) { order.Title = o.Title; } if (!string.IsNullOrEmpty(o.Payment)) { order.Amount = double.Parse(o.Payment); } if (!string.IsNullOrEmpty(o.Price)) { order.Price = double.Parse(o.Price); } order.Quantity = int.Parse(o.Num.ToString()); order.Status = o.Status; order.Status1 = 0; if (!string.IsNullOrEmpty(o.RefundStatus) && o.RefundStatus == "SUCCESS") { containRefound = true; order.Refound = true; sale.Amount = sale.Amount - order.Amount; } order.StockStatus = 0; order.Discount = string.IsNullOrEmpty(o.DiscountFee) ? double.Parse(o.DiscountFee) : 0; order.Order_ID = o.Oid.ToString(); order.Mall_PID = o.NumIid.ToString(); if (!string.IsNullOrEmpty(o.OuterIid)) { int pid = 0; int.TryParse(o.OuterIid, out pid); order.Parent_Product_ID = pid; if (!string.IsNullOrEmpty(o.SkuId)) { int pcid = 0; int.TryParse(o.OuterSkuId, out pcid); order.Product_ID = pcid; order.Mall_SkuID = o.SkuId; } else { order.Mall_SkuID = ""; order.Product_ID = order.Parent_Product_ID; } } order.ImageUrl = ""; if (!string.IsNullOrEmpty(o.PicPath)) { order.ImageUrl = o.PicPath; } sale.Orders.Add(order); } } sale.HasRefound = containRefound; if (onlyReFound) { if (containRefound) { sales.Add(sale); } } else { sales.Add(sale); } } } return(sales); }
/// <summary> /// 同步已卖出的交易数据 /// </summary> /// <param name="orders"></param> /// <param name="orderOpr"></param> /// <param name="status"></param> /// <param name="pageno"></param> /// <param name="daysago"></param> /// <returns></returns> public ApiPagedResult <List <TopTrade> > SyncTrade(string status, long pageno, DateTime start, Models.UserTaoOAuth taoUserOAuth) { var orderList = new List <TbOrder>(); ITopClient client = new DefaultTopClient(url_api, this.AppKey, this.AppSecret); TradesSoldGetRequest request = new TradesSoldGetRequest { Fields = "tid,buyer_nick,num_iid,created,pay_time,payment,receiver_address,status,end_time,seller_rate,seller_can_rate" }; request.StartCreated = start; request.EndCreated = DateTime.Now; request.Status = status; request.Type = "guarantee_trade"; request.PageNo = pageno; request.PageSize = 50; request.UseHasNext = true; TradesSoldGetResponse response = client.Execute <TradesSoldGetResponse>(request, taoUserOAuth.access_token); var result = new ApiPagedResult <List <TopTrade> >(!response.IsError, response.ErrMsg + " " + response.SubErrMsg); if (!response.IsError) { result.Data = response.Trades.Select(x => TopTrade.FromTrade(x)).ToList(); result.HasMore = response.HasNext; } return(result); //XmlDocument doc = new XmlDocument(); //response.Trades.First().ser //doc.LoadXml(response.Body); ////string json = JsonConvert.SerializeXmlNode(doc); //XmlNodeList xnltrades = doc.SelectNodes("//trade"); //if (xnltrades != null && xnltrades.Count > 0) //{ // foreach (XmlNode xntrade in xnltrades) // { // string jsontrade = JsonConvert.SerializeXmlNode(xntrade); // var definition = new { trade = new { buyer_nick = "", created = new DateTime(), num_iid = "", tid = 0L, pay_time = (DateTime?)null, payment = 0.00, receiver_address = "", status = "" } }; // //{"trade":{"buyer_nick":"恋上你回眸","created":"2014-09-18 01:46:15","num_iid":"35071709812","tid":"807930976731116"}} // var trade = JsonConvert.DeserializeAnonymousType(jsontrade, definition); // TbOrder order = new TbOrder() // { // Tid = trade.trade.tid, // Name = trade.trade.buyer_nick, // BuyTime = trade.trade.created, // Itemid = trade.trade.num_iid, // Payment = trade.trade.payment, // PayTime = trade.trade.pay_time, // Status = trade.trade.status, // ReceiverAddress = trade.trade.receiver_address, // trade.seller_rate // }; // orderList.Add(order); // } //} //return new ApiPagedResult<List<TbOrder>>(true, "") //{ // HasMore = response.HasNext, // Data = orderList //}; }
protected void Page_Load(object sender, EventArgs e) { cookie = HiContext.Current.Context.Request.Cookies["TopSession_" + HiContext.Current.User.UserId.ToString()]; //if (!Page.IsPostBack && ((cookie == null) || string.IsNullOrEmpty(cookie.Value))) //{ // string str = "0"; // try // { // str = base.SendHttpRequest(); // } // catch (Exception) // { // content1.Visible = false; // content12.Visible = true; // txtMsg.Text = "SAAS分销平台请求失败,可能是网络原因,请刷新重试"; // return; // } // string str5 = str; // if (str5 != null) // { // if (!(str5 == "-1")) // { // if (str5 == "-2") // { // content1.Visible = false; // content12.Visible = true; // txtMsg.Text = "更新分销商信息出错"; // return; // } // if (str5 == "-3") // { // content1.Visible = false; // content12.Visible = true; // txtMsg.Text = "添加分销商记录出错"; // return; // } // if (str5 == "-99") // { // content1.Visible = false; // content12.Visible = true; // txtMsg.Text = "未知错误"; // return; // } // if (str5 == "0") // { // content1.Visible = false; // content12.Visible = true; // txtMsg.Text = "您提交的参数有误"; // return; // } // } // else // { // content1.Visible = false; // content12.Visible = true; // txtMsg.Text = "您的供货商(即主站管理员)并没有注册开通同步淘宝"; // return; // } // } //} LoadParameters(); shippingModeDropDownList.DataBind(); btnSearch.Click += new EventHandler(btnSearch_Click); //SiteSettings masterSettings = SettingsManager.GetMasterSettings(false); SiteSettings masterSettings = SettingsManager.GetSiteSettings(HiContext.Current.User.UserId); if ((cookie == null) || string.IsNullOrEmpty(cookie.Value)) { if (null != masterSettings) { if (!(string.IsNullOrEmpty(masterSettings.Topkey) || string.IsNullOrEmpty(masterSettings.TopSecret))) { HttpCookie TaobaoSessionReturnUrlCookies = new HttpCookie("TaobaoSessionReturnUrl_" + HiContext.Current.User.UserId.ToString()); TaobaoSessionReturnUrlCookies.Value = HttpContext.Current.Request.Url.AbsoluteUri; HttpContext.Current.Response.Cookies.Add(TaobaoSessionReturnUrlCookies); Response.Redirect("http://container.api.taobao.com/container?appkey=" + Cryptographer.Decrypt(masterSettings.Topkey), true); } } else { this.ShowMsg("请先申请开店铺,设置淘宝同步信息!", false); } } else { string serverUrl = "http://gw.api.taobao.com/router/rest"; string appKey = Cryptographer.Decrypt(masterSettings.Topkey); string appSecret = Cryptographer.Decrypt(masterSettings.TopSecret); client = new DefaultTopClient(serverUrl, appKey, appSecret, "json"); TradesSoldGetRequest request2 = new TradesSoldGetRequest(); request2.Fields = "tid,created,buyer_nick,receiver_name,price,num,payment,shipping_type,post_fee,status,seller_rate,orders"; TradesSoldGetRequest request = request2; if (startDate.HasValue) { request.StartCreated = new DateTime?(startDate.Value); } if (endDate.HasValue) { request.EndCreated = new DateTime?(endDate.Value); } request.Status = "WAIT_SELLER_SEND_GOODS"; if (!string.IsNullOrEmpty(buyerNick)) { request.BuyerNick = buyerNick; } request.PageNo = new long?((long)pager.PageIndex); request.PageSize = 40; TradesSoldGetResponse response = client.Execute <TradesSoldGetResponse>(request, cookie.Value); if (!response.IsError) { List <Trade> trades = response.Trades; if (trades != null) { foreach (Trade trade in trades) { trade.ShippingType = GetShippingType(trade.ShippingType); trade.Status = GetTradeStatus(trade.Status); foreach (Order order in trade.Orders) { if (!string.IsNullOrEmpty(order.OuterSkuId)) { order.OuterSkuId = "商家编码:" + order.OuterSkuId; } } } rptTrades.DataSource = trades; rptTrades.DataBind(); pager.TotalRecords = int.Parse(response.TotalResults.ToString()); pager1.TotalRecords = int.Parse(response.TotalResults.ToString()); } } } }
/// <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); }