/// <summary> /// 同步交易详情数据 /// </summary> /// <param name="info"></param> /// <returns></returns> public Trade QueryTradeFullinfo(ShipInfo info, long?id) { ITopClient client = new DefaultTopClient(url, info.AppKey, info.AppSecret); var pageIndex = 1L; TradeFullinfoGetResponse rsp = null; var trade = new Trade(); try { TradeFullinfoGetRequest req = new TradeFullinfoGetRequest { Fields = "tid,type,status,payment,orders", Tid = id }; rsp = client.Execute(req, info.SessionKey); pageIndex++; if (!rsp.IsError) { trade = rsp.Trade; } } catch (Exception e) { } return(trade); }
/// <summary> /// 获取单笔交易的详细信息 /// </summary> /// <param name="tid"></param> /// <returns></returns> /// 对应API:taobao.trade.fullinfo.get public Top.Api.Domain.Trade GetFullTradeInfo(long tid) { var request = new TradeFullinfoGetRequest(); request.Tid = tid; request.Fields = "seller_nick,tid,title,status,buyer_memo,buyer_flag,buyer_message,alipay_no,payment,pay_time,total_fee,post_fee,buyer_alipay_no,commission_fee,created,price,num,snapshot_url,received_payment,orders"; var response = _client.Execute(request, Session); return(response.Trade); }
/// <summary> /// 获取交易信息 /// </summary> /// <param name="tid"></param> /// <returns></returns> public ApiResult <TopTrade> GetTrade(long tid) { ITopClient client = GetTopClient(); TradeFullinfoGetRequest request = new TradeFullinfoGetRequest { Tid = tid, Fields = "tid,buyer_nick,num,num_iid,created,pay_time,payment,receiver_address,status,end_time,seller_rate,seller_can_rate" }; var rsp = client.Execute(request, AccessToken); return(rsp.AsApiResult <TopTrade>(() => TopTrade.FromTrade(rsp.Trade))); }
/// <summary> /// 获取单笔交易的详细信息 /// </summary> /// <param name="sessionKey"></param> /// <param name="tid"></param> /// <param name="ErrorMsg"></param> /// <returns></returns> internal tbOrdersInfo GetTradeFullinfo(string sessionKey, string tid, int ShopId, out string ErrorMsg) { //show_ext 这个字段导致接口报错 tbOrdersInfo newtrade = null; try { ErrorMsg = null; ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields += "seller_nick, buyer_nick, title, type, created, tid, seller_rate, buyer_rate,"; req.Fields += " status, payment, adjust_fee, post_fee, total_fee, pay_time, end_time, modified, "; req.Fields += "consign_time, buyer_obtain_point_fee, point_fee, real_point_fee, received_payment, commission_fee,"; req.Fields += "seller_memo, alipay_no,alipay_id,buyer_message, pic_path, num_iid, num, price, "; req.Fields += "receiver_name, receiver_state, receiver_city, receiver_district, receiver_address,"; req.Fields += "receiver_zip, receiver_mobile, receiver_phone,seller_flag, seller_alipay_no, seller_mobile, "; req.Fields += "seller_phone, seller_name, seller_email, available_confirm_fee, has_post_fee, timeout_action_time,"; req.Fields += "snapshot_url, cod_fee, cod_status, shipping_type, trade_memo, buyer_email,buyer_area,"; req.Fields += "trade_from,is_lgtype,is_force_wlb,is_brand_sale,buyer_cod_fee,discount_fee,seller_cod_fee,"; req.Fields += "express_agency_fee,invoice_name,service_orders,credit_cardfee,step_trade_status,step_paid_fee,"; req.Fields += "mark_desc,has_yfx,yfx_fee,yfx_id,yfx_type,trade_source,eticket_ext,send_time, is_daixiao,"; req.Fields += "is_part_consign, arrive_interval, arrive_cut_time, consign_interval,zero_purchase,alipay_point,pcc_af,"; req.Fields += "orders,promotion_details,invoice_name,orders.is_www,orders.store_code,service_tags"; if (!string.IsNullOrEmpty(tid)) { req.Tid = long.Parse(tid); } else { ErrorMsg = "订单编号不能为空"; return(null); } TradeFullinfoGetResponse response = client.Execute(req, sessionKey); if (response.IsError) { ErrorMsg = response.SubErrMsg; return(null); } else { Top.Api.Domain.Trade trade = new Top.Api.Domain.Trade(); newtrade = new tbOrdersInfo(); //订单信息转化 newtrade = ChangeLocationType(response.Trade, ShopId); } } catch (Exception ex) { throw ex; } return(newtrade); }
public static Trade GetOrderInfo(string strUrl, string strAppKey, string strAppSecret, long lTid, string strSessionKey) { ITopClient client = new DefaultTopClient(strUrl, strAppKey, strAppSecret); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields = "seller_nick,buyer_nick,title,type,created,sid,tid,seller_rate,buyer_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,commission_fee,pic_path,num_iid,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,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"; req.Tid = lTid; TradeFullinfoGetResponse response = client.Execute(req); if (response == null) { return null; } return response.Trade; }
public static Trade GetOrderInfo(string strUrl, string strAppKey, string strAppSecret, long lTid, string strSessionKey) { ITopClient client = new DefaultTopClient(strUrl, strAppKey, strAppSecret); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields = "seller_nick,buyer_nick,title,type,created,sid,tid,seller_rate,buyer_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,commission_fee,pic_path,num_iid,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,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"; req.Tid = lTid; TradeFullinfoGetResponse response = client.Execute(req); if (response == null) { return(null); } return(response.Trade); }
public Trade GetBuyerInfoByTid(long tid) { try { ITopClient client = TBManager.GetClient(); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields = "receiver_name,receiver_mobile,status"; req.Tid = tid; TradeFullinfoGetResponse response = client.Execute(req, Users.SessionKey); return(response.Trade); } catch (Exception ex) { CHENGTUAN.Components.ExceptionReporter.WriteLog(ex, CHENGTUAN.Entity.ExceptionPostion.TopApi); return(null); } }
public static Trade GetTradeContact(long tid, string sessionKey) { try { ITopClient client = TBManager.GetClient(); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields = "consign_time,receiver_mobile,receiver_city,receiver_name"; req.Tid = tid; TradeFullinfoGetResponse response = client.Execute(req, sessionKey); return(response.Trade); } catch (Exception ex) { CHENGTUAN.Components.ExceptionReporter.WriteLog(ex, CHENGTUAN.Entity.ExceptionPostion.TBApply_Components); return(null); } }
/// <summary> /// 读取子订单(部分信息) /// </summary> /// <param name="orderId"></param> /// <returns></returns> public List <Trade> getTradePartial(string orderId) { List <Trade> list = new List <Trade>(); ITopClient client = new DefaultTopClient(Url, Appkey, Appsecret); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields = "tid,created,pay_time,modified,orders"; req.Tid = helpcommon.ParmPerportys.GetLongParms(orderId); TradeFullinfoGetResponse response = client.Execute(req, Sessionkey); if (response.Trade != null) { list.Add(response.Trade); } return(list); }
/// <summary> /// 获取某个订单的详情 /// </summary> /// <param name="tid">trade id</param> /// <param name="sessionKey"></param> /// <param name="error">如果出错,则储存错误信息,否则为空。</param> /// <returns>如果操作成功,则返回true。否则为false。</returns> public static bool GetTrade(int tid, string sessionKey, out Trade trade) { bool isSuccess = false; trade = null; try { ITopClient client = new DefaultTopClient(Constants.ApiUrl, Constants.AppKey, Constants.AppSecret); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields = tradeFieldList; req.Tid = tid; TradeFullinfoGetResponse rsp = client.Execute(req, sessionKey); trade = rsp.Trade; isSuccess = true; } catch (Exception ex) { errorMsg = ex.Message; } return isSuccess; }
/// <summary> /// 获取单笔交易的详细信息 /// </summary> /// <param name="strSessionKey"></param> /// <param name="tid"></param> /// <returns></returns> public static Trade GetTradeByTid(string strSessionKey, string tid) { try { ITopClient client = TBManager.GetClient(); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); 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.Tid = long.Parse(tid); TradeFullinfoGetResponse rsp = client.Execute(req, strSessionKey); return(rsp.Trade); } catch (Exception ex) { ExceptionReporter.WriteLog(ex, ExceptionPostion.TopApi); return(null); } }
/// <summary> /// 获取单笔天猫商城订单详情 /// </summary> /// <param name="orderId">订单编号数</param> /// <param name="authorizationcode">授权码</param> /// <returns>单笔订单详情</returns> /// <remarks>2103-8-27 陶辉 创建</remarks> private Result <UpGradeOrder> GetMallOrderDetail(string orderId, string authorizationcode) { //查询订单详情请求 var req = new TradeFullinfoGetRequest { Fields = "seller_flag,seller_nick,buyer_nick,alipay_no,buyer_message,seller_memo,title,tid,status,payment,discount_fee,post_fee,pay_time,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,orders.title,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.payment,orders.total_fee,orders.discount_fee,orders.sku_properties_name,orders.outer_iid,orders.outer_sku_id,orders.oid", Tid = long.Parse(orderId) }; //返回字段 //订单号 var response = client.Execute(req, authorizationcode); //是否异常 if (!response.IsError) { var order = new UpGradeOrder(); Map(response.Trade, order); return(new Result <UpGradeOrder>() { Status = true, StatusCode = 1, Data = order }); } else { return(new Result <UpGradeOrder>() { Status = false, StatusCode = -1, Message = GetErrorMsg(response.ErrCode, response.SubErrMsg + response.ErrMsg), Data = null }); } }
/// <summary> /// 根据订单号获取商品ID /// </summary> /// <param name="tid"></param> /// <returns></returns> public Trade GetTradeByTid(long tid, Models.UserTaoOAuth taoUserOAuth) { try { ITopClient client = new DefaultTopClient(url_api, this.AppKey, this.AppSecret); TradeFullinfoGetRequest request = new TradeFullinfoGetRequest { Fields = "tid,buyer_nick,num_iid,num,created,payment,pay_time,price,receiver_address", Tid = tid }; var resp = client.Execute <TradeFullinfoGetResponse>(request, taoUserOAuth.access_token); if (resp.IsError) { SignalRServer.Instance.Clients.User(taoUserOAuth.taobao_user_nick).OnMessage("订单查询失败:" + resp.Body); } return(resp.Trade); } catch (Exception e) { throw new Exception("TradeFullinfoGetRequest Failure.", e); } }
/// <summary> /// 买家好评自动发微博 /// </summary> private void CheckNew2() { string appkey = "12159997"; string secret = "614e40bfdb96e9063031d1a9e56fbed5"; TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", appkey, secret); string session = string.Empty; DBSql db = new DBSql(); string sql = "SELECT b.*, s.sessionblog FROM TopMicroBlogAuto b INNER JOIN TopTaobaoShop s ON s.nick = b.nick"; textBox1.AppendText("\r\n" + sql); DataTable dt = db.GetTable(sql); textBox1.AppendText("\r\n" + dt.Rows.Count.ToString()); for (int i = 0; i < dt.Rows.Count; i++) { session = dt.Rows[i]["sessionblog"].ToString(); textBox1.AppendText("\r\n" + session); TraderatesGetRequest request = new TraderatesGetRequest(); request.Fields = "tid"; request.PageSize = 20; request.PageNo = 1; request.RateType = "get"; request.Role = "seller"; try { PageList <TradeRate> traderate = client.TraderatesGet(request, session); if (traderate.Content.Count != 0) { //获取商品详细信息 for (int j = 0; j < traderate.Content.Count; j++) { TradeFullinfoGetRequest request1 = new TradeFullinfoGetRequest(); request1.Fields = "orders.title,orders.pic_path,orders.price,orders.num_iid"; request1.Tid = traderate.Content[j].Tid; Trade product = client.TradeFullinfoGet(request1, session); string str = CreateContentNew(dt.Rows[i]["content3"].ToString(), product.Orders[0]); textBox1.AppendText("\r\n" + str); SendMicroBlog(dt.Rows[i]["nick"].ToString(), str, product.Orders[0].PicPath, "3"); Thread.Sleep(10000); } } } catch { //SESSION失效 textBox1.AppendText("\r\nsession失效"); continue; } } this.Dispose(); this.Close(); Application.Exit(); Application.ExitThread(); GC.Collect(); }
protected void Page_Load(object sender, EventArgs e) { orderIds = Page.Request.QueryString["orderIds"]; if (string.IsNullOrEmpty(orderIds)) { litmsg.Text = "没有要转换的订单"; } else { int result = 0; int.TryParse(Page.Request.QueryString["shippingModeId"], out result); shippingMode = SubsiteSalesHelper.GetShippingMode(result, true); if (shippingMode == null) { litmsg.Text = "没有选择配送方式"; } else { distributor = HiContext.Current.User as Hidistro.Membership.Context.Distributor; cookie = HiContext.Current.Context.Request.Cookies["TopSession_" + HiContext.Current.User.UserId.ToString()]; string serverUrl = "http://gw.api.taobao.com/router/rest"; SiteSettings masterSettings = SettingsManager.GetMasterSettings(false); string appKey = Cryptographer.Decrypt(masterSettings.Topkey); string appSecret = Cryptographer.Decrypt(masterSettings.TopSecret); client = new DefaultTopClient(serverUrl, appKey, appSecret, "json"); TradeFullinfoGetRequest request2 = new TradeFullinfoGetRequest(); request2.Fields = "tid,receiver_name,receiver_state,payment,receiver_district,receiver_city,receiver_address,receiver_phone,receiver_zip,receiver_mobile,post_fee,adjust_fee,total_fee,orders"; TradeFullinfoGetRequest request = request2; string[] strArray = orderIds.Split(new char[] { ',' }); int count = 0; decimal expenditure = 0M; foreach (string str4 in strArray) { request.Tid = new long?(long.Parse(str4)); TradeFullinfoGetResponse response = client.Execute<TradeFullinfoGetResponse>(request, cookie.Value); if (!response.IsError) { try { PurchaseOrderInfo purchaseOrder = GetPurchaseOrder(response.Trade); if ((purchaseOrder != null) && SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrder)) { expenditure += purchaseOrder.OrderTotal; count++; } } catch { litmsg.Text = "生成采购单发生错误,请重新尝试"; } } } if (count > 0) { SendHttpRequest(count, expenditure); litmsg.Text = string.Format("你选择的{0}淘宝订单已经成功的转换了{1}个采购单", strArray.Length, count); } else { litmsg.Text = "生成采购单失败,可能您选择的淘宝订单在系统中没有找到对应的商品"; } } } }
//get trade detail information by trade ID(tid) which is got from Traderates result. private void GetUserAddress(ref ITopClient client, ref TraderatesGetRequest req, ref TraderatesGetResponse GetUserAddress_response) { ITopClient GetUserAddressclient = new DefaultTopClient(url, appkey, appsecret); TradeFullinfoGetRequest GetUserAddress_req = new TradeFullinfoGetRequest(); GetUserAddress_req.Fields = "alipay_no,commission_fee,received_payment,buyer_alipay_no,receiver_name,receiver_state, receiver_city, receiver_district, receiver_address, receiver_zip, receiver_mobile, receiver_phone,seller_flag"; GetUserAddress_req.Tid = GetUserAddress_response.TradeRates[0].Tid; TradeFullinfoGetResponse response = GetUserAddressclient.Execute(GetUserAddress_req, sessionKey); //买家信息.Text = response.Trade.ReceiverAddress; NamePhone.Text = response.Trade.ReceiverName + response.Trade.ReceiverPhone + response.Trade.ReceiverMobile; BuyerAddress.Text = response.Trade.ReceiverState + " " + response.Trade.ReceiverCity + " " + response.Trade.ReceiverDistrict + " " + response.Trade.ReceiverAddress; }
protected void Page_Load(object sender, EventArgs e) { orderIds = Page.Request.QueryString["orderIds"]; if (string.IsNullOrEmpty(orderIds)) { litmsg.Text = "没有要转换的订单"; } else { int result = 0; int.TryParse(Page.Request.QueryString["shippingModeId"], out result); shippingMode = SubsiteSalesHelper.GetShippingMode(result, true); if (shippingMode == null) { litmsg.Text = "没有选择配送方式"; } else { distributor = HiContext.Current.User as Hidistro.Membership.Context.Distributor; cookie = HiContext.Current.Context.Request.Cookies["TopSession_" + HiContext.Current.User.UserId.ToString()]; string serverUrl = "http://gw.api.taobao.com/router/rest"; SiteSettings masterSettings = SettingsManager.GetMasterSettings(false); string appKey = Cryptographer.Decrypt(masterSettings.Topkey); string appSecret = Cryptographer.Decrypt(masterSettings.TopSecret); client = new DefaultTopClient(serverUrl, appKey, appSecret, "json"); TradeFullinfoGetRequest request2 = new TradeFullinfoGetRequest(); request2.Fields = "tid,receiver_name,receiver_state,payment,receiver_district,receiver_city,receiver_address,receiver_phone,receiver_zip,receiver_mobile,post_fee,adjust_fee,total_fee,orders"; TradeFullinfoGetRequest request = request2; string[] strArray = orderIds.Split(new char[] { ',' }); int count = 0; decimal expenditure = 0M; foreach (string str4 in strArray) { request.Tid = new long?(long.Parse(str4)); TradeFullinfoGetResponse response = client.Execute <TradeFullinfoGetResponse>(request, cookie.Value); if (!response.IsError) { try { PurchaseOrderInfo purchaseOrder = GetPurchaseOrder(response.Trade); if ((purchaseOrder != null) && SubsiteSalesHelper.CreatePurchaseOrder(purchaseOrder)) { expenditure += purchaseOrder.OrderTotal; count++; } } catch { litmsg.Text = "生成采购单发生错误,请重新尝试"; } } } if (count > 0) { SendHttpRequest(count, expenditure); litmsg.Text = string.Format("你选择的{0}淘宝订单已经成功的转换了{1}个采购单", strArray.Length, count); } else { litmsg.Text = "生成采购单失败,可能您选择的淘宝订单在系统中没有找到对应的商品"; } } } }