Esempio n. 1
0
        /// <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);
        }
Esempio n. 3
0
        /// <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)));
        }
Esempio n. 4
0
        /// <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;
 }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 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);
     }
 }
Esempio n. 8
0
 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);
     }
 }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
 /// <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;
 }
Esempio n. 11
0
        /// <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);
            }
        }
Esempio n. 12
0
        /// <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
                });
            }
        }
Esempio n. 13
0
            /// <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);
                }
            }
Esempio n. 14
0
        /// <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 = "生成采购单失败,可能您选择的淘宝订单在系统中没有找到对应的商品";
             }
         }
     }
 }
Esempio n. 16
0
    //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 = "生成采购单失败,可能您选择的淘宝订单在系统中没有找到对应的商品";
             }
         }
     }
 }