Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 /// <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);
     }
 }
Esempio n. 3
0
        /// <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);
            }
        }
Esempio n. 4
0
 private void GetGoods()
 {
     ITopClient client = new DefaultTopClient(TaobaoTesting.Global.ApiAddress, TaobaoTesting.Global.AppKey
     , TaobaoTesting.Global.AppSecret);
     TradesSoldGetRequest req = new TradesSoldGetRequest();
     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";
     TradesSoldGetResponse response = client.Execute(req, SessionKey);
 }
        /// <summary>
        /// 获取交易记录
        /// </summary>
        /// <param name="session"></param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public TradesSoldGetResponse TaobaoTradesSoldGet(EntityUser session, string startDate, string endDate, int pageIndex, int pageSize)
        {
            var req = new TradesSoldGetRequest();

            req.Fields       = "seller_nick,buyer_nick,title,type,created,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,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";
            req.StartCreated = DateTime.Parse(startDate);
            req.EndCreated   = DateTime.Parse(endDate);
            req.Status       = "TRADE_FINISHED";
            req.RateStatus   = "RATE_UNSELLER";
            req.PageNo       = pageIndex;
            req.PageSize     = pageSize;
            req.UseHasNext   = true;
            var response = _client.Execute(req, session.fSession);

            return(response);
        }
Esempio n. 6
0
 /// <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);
     }
 }
Esempio n. 7
0
        //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);
        }
Esempio n. 8
0
 /// <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);
     }
 }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
        public static List<Trade> GetTradeList(String status, DateTime begin, DateTime end, String appedFileds)
        {
            List<Trade> ret = new List<Trade>();

            try
            {
                ITopClient client = Global.DefulatClient();
                for (long page = 1, num = 100; ; page++)
                {
                    TradesSoldGetRequest req = new TradesSoldGetRequest();
                    req.Fields = "buyer_nick,payment";
                    if (!String.IsNullOrEmpty(appedFileds))
                        req.Fields += "," + appedFileds;

                    req.Status = status;
                    req.StartCreated = begin;
                    req.EndCreated = end;
                    req.PageNo = page;
                    req.PageSize = num;

                    TradesSoldGetResponse response = client.Execute(req, Global.SessionKey);
                    if (response.Trades == null)
                        break;

                    ret.AddRange(response.Trades);
                    if ((long)response.Trades.Count < num || ret.Count >= response.TotalResults)
                        break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return ret;
        }
Esempio n. 11
0
        /// <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);
        }
Esempio n. 12
0
        /// <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;
        }
Esempio n. 13
0
            /// <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
                //};
            }
Esempio n. 14
0
        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());
                    }
                }
            }
        }
Esempio n. 15
0
 /// <summary>
 /// 根据条件获取交易列表
 /// </summary>
 /// <param name="sessionKey"></param>
 /// <param name="status">交易状态</param>
 /// <param name="startDateTime">开始时间</param>
 /// <param name="endDateTime">结束时间</param>
 /// <param name="pageSize">每页数量</param>
 /// <param name="pageNum">页数(第几页)</param>
 /// <param name="error">如果出错,则储存错误信息,否则为空。</param>
 /// <param name="trades">如果成功,返回未发货订单的list。否则为null</param>
 /// <returns>如果操作成功,则返回true。否则为false。</returns>
 public static bool GetTrades(string sessionKey, TradeStatus status, DateTime startDateTime, DateTime endDateTime, long? pageSize, long? pageNum, out List<Trade> trades)
 {
     bool isSuccess = false;
     trades = null;
     try
     {
         ITopClient client = new DefaultTopClient(Constants.ApiUrl, Constants.AppKey, Constants.AppSecret);
         TradesSoldGetRequest req = new TradesSoldGetRequest();
         req.Fields = "tid,buyer_nick,receiver_state,receiver_city,receiver_address,receiver_mobile";
         req.Status = Enum.GetName(typeof(TradeStatus), status);
         req.StartCreated = startDateTime;
         req.EndCreated = endDateTime;
         req.EndCreated = DateTime.Now;
         req.PageNo = pageNum;
         req.PageSize = pageSize;
         TradesSoldGetResponse rsp = client.Execute(req, sessionKey);
         trades = rsp.Trades;
         isSuccess = true;
     }
     catch (Exception ex)
     {
         errorMsg = ex.Message;
     }
     return isSuccess;
 }
Esempio n. 16
0
        public static List<Trade> GetTradeList()
        {
            List<Trade> ret = new List<Trade>();
            try
            {
                ITopClient client = Global.DefulatClient();
                for (long page = 1, num = 100; ; page++)
                {
                    TradesSoldGetRequest req = new TradesSoldGetRequest();
                    req.Fields = "tid,created,pay_time,payment";
                    req.Fields += ",buyer_nick,buyer_message";
                    req.Fields += ",receiver_name,receiver_mobile,receiver_phone,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip";
                    req.Fields += ",seller_memo,seller_flag";
                    req.Fields += ",orders.title,orders.num,orders.num_iid,orders.status,orders.sku_properties_name";
                    req.Status = "WAIT_SELLER_SEND_GOODS";
                    req.PageNo = page;
                    req.PageSize = num;

                    TradesSoldGetResponse response = client.Execute(req, Global.SessionKey);
                    if (response.Trades == null)
                        break;

                    foreach (Trade trade in response.Trades)
                        GetSellerMemo(client, trade);

                    ret.AddRange(response.Trades);

                    if ((long)response.Trades.Count < num || ret.Count >= response.TotalResults)
                        break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return ret;
        }
Esempio n. 17
0
        /// <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);
        }
Esempio n. 18
0
        /// <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);
        }
Esempio n. 19
0
        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());
                    }
                }
            }
        }