public List <TopSiteTotalInfo> GetZhuanHuaTotal(string start, string end, string nick)
    {
        List <TopSiteTotalInfo> list = new List <TopSiteTotalInfo>();

        SqlParameter[] param = new[]
        {
            new SqlParameter("@start", start),
            new SqlParameter("@end", end),
            new SqlParameter("@nick", nick)
        };

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_ZHUANHUA_TOTAL, param);

        foreach (DataRow dr in dt.Rows)
        {
            TopSiteTotalInfo info = new TopSiteTotalInfo();
            info.SiteBuyCustomTotal = int.Parse(dr["SiteBuyCustomTotal"].ToString());
            info.SiteUVCount        = int.Parse(dr["SiteUVCount"].ToString());
            info.SiteTotalDate      = dr["SiteTotalDate"].ToString();

            list.Add(info);
        }

        return(list);
    }
    public List <TopSiteTotalInfo> GetMonthOrderTotalInfoList(string nick, string year)
    {
        SqlParameter[] param = new[]
        {
            new SqlParameter("@year", year),
            new SqlParameter("@sitenick", nick)
        };
        List <TopSiteTotalInfo> list = new List <TopSiteTotalInfo>();
        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_OTOTAL_MONTH, param);

        foreach (DataRow dr in dt.Rows)
        {
            TopSiteTotalInfo info = new TopSiteTotalInfo();
            info.SiteTotalDate = dr["stdate"].ToString();
            info.SitePVCount   = dr["sSitePVCount"] == DBNull.Value ? 0 : int.Parse(dr["sSitePVCount"].ToString());

            info.SiteUVCount    = dr["sSiteUVCount"] == DBNull.Value ? 0 : int.Parse(dr["sSiteUVCount"].ToString());
            info.SiteOrderCount = dr["sSiteOrderCount"] == DBNull.Value ? 0 : int.Parse(dr["sSiteOrderCount"].ToString());
            info.SiteOrderPay   = dr["sSiteOrderPay"] == DBNull.Value ? 0 : decimal.Parse(dr["sSiteOrderPay"].ToString());
            info.SiteUVBack     = dr["sSiteUVBack"] == DBNull.Value ? 0 : int.Parse(dr["sSiteUVBack"].ToString());

            info.SiteSecondBuy      = dr["sSiteSecondBuy"] == DBNull.Value ? 0 : int.Parse(dr["sSiteSecondBuy"].ToString());
            info.PostFee            = dr["sSitePostFee"] == DBNull.Value ? 0 : decimal.Parse(dr["sSitePostFee"].ToString());
            info.GoodsCount         = dr["sSiteGoodsCount"] == DBNull.Value ? 0 : int.Parse(dr["sSiteGoodsCount"].ToString());
            info.SiteBuyCustomTotal = dr["sSiteBuyCustomTotal"] == DBNull.Value ? 0 : int.Parse(dr["sSiteBuyCustomTotal"].ToString());
            list.Add(info);
        }
        return(list);
    }
    public List <TopSiteTotalInfo> GetGoodsCountTotal(string start, string end, string nick)
    {
        List <TopSiteTotalInfo> list = new List <TopSiteTotalInfo>();

        SqlParameter[] param = new[]
        {
            new SqlParameter("@start", start),
            new SqlParameter("@end", end),
            new SqlParameter("@nick", nick)
        };

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_GOODSCOUNT_TOTAL, param);

        foreach (DataRow dr in dt.Rows)
        {
            TopSiteTotalInfo info = new TopSiteTotalInfo();
            info.GoodsCount    = int.Parse(dr["SiteGoodsCount"].ToString());
            info.SiteOrderPay  = decimal.Parse(dr["SiteOrderPay"].ToString());
            info.SiteTotalDate = dr["SiteTotalDate"].ToString();

            list.Add(info);
        }

        return(list);
    }
    public IList <TopSiteTotalInfo> GetNickOrderTotal(DateTime start, DateTime end, string nick)
    {
        IList <TopSiteTotalInfo> list = new List <TopSiteTotalInfo>();

        SqlParameter[] param = new[]
        {
            new SqlParameter("@start", start.ToString("yyyyMMdd")),
            new SqlParameter("@end", end.ToString("yyyyMMdd")),
            new SqlParameter("@SiteNick", nick)
        };
        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_ORDER_BYDAY, param);

        foreach (DataRow dr in dt.Rows)
        {
            TopSiteTotalInfo info = new TopSiteTotalInfo();
            info.SiteTotalDate = dr["SiteTotalDate"].ToString();
            info.SitePVCount   = int.Parse(dr["SitePVCount"].ToString());

            info.SiteUVCount = int.Parse(dr["SiteUVCount"].ToString());
            //info.SiteOrderCount = int.Parse(dr["SiteOrderCount"].ToString());
            //info.SiteOrderPay = decimal.Parse(dr["SiteOrderPay"].ToString());
            info.SiteUVBack = int.Parse(dr["SiteUVBack"].ToString());

            //info.SiteSecondBuy = int.Parse(dr["SiteSecondBuy"].ToString());
            //info.PostFee = decimal.Parse(dr["SitePostFee"].ToString());
            //info.GoodsCount = int.Parse(dr["SiteGoodsCount"].ToString());
            //info.SiteBuyCustomTotal = int.Parse(dr["SiteBuyCustomTotal"].ToString());

            info.SiteNick = nick;

            list.Add(info);
        }

        return(list);
    }
示例#5
0
    private void InsertTongbi(IList <TopSiteTotalInfo> siteTotalList)
    {
        TopSiteTotalInfo lastinfo  = siteTotalList.OrderByDescending(o => o.SiteTotalDate).ToList()[1];
        TopSiteTotalInfo localinfo = siteTotalList.OrderByDescending(o => o.SiteTotalDate).ToList()[0];

        TopSiteTotalInfo info = new TopSiteTotalInfo();

        info.SiteTotalDate = "同比";
        info.SitePVCount   = localinfo.SitePVCount - lastinfo.SitePVCount;
        info.SiteUVCount   = localinfo.SiteUVCount - lastinfo.SiteUVCount;
        info.ZhiTongFlow   = localinfo.ZhiTongFlow - lastinfo.ZhiTongFlow;
        info.SiteZuanZhan  = localinfo.SiteZuanZhan - lastinfo.SiteZuanZhan;

        info.FreeFlow         = localinfo.FreeFlow - lastinfo.FreeFlow;
        info.AskOrder         = localinfo.AskOrder - lastinfo.AskOrder;
        info.LostOrder        = Math.Round(decimal.Parse(localinfo.LostOrder.Replace("%", "")) - decimal.Parse(lastinfo.LostOrder.Replace("%", "")), 2) + "%";
        info.SiteOrderCount   = localinfo.SiteOrderCount - lastinfo.SiteOrderCount;
        info.SiteOrderPay     = localinfo.SiteOrderPay - lastinfo.SiteOrderPay;
        info.SellAvg          = (decimal.Parse(localinfo.SellAvg) - decimal.Parse(lastinfo.SellAvg)).ToString();
        info.OneCustomerPrice = (decimal.Parse(localinfo.OneCustomerPrice) - decimal.Parse(lastinfo.OneCustomerPrice)).ToString();

        info.CreateAVG     = Math.Round(decimal.Parse(localinfo.CreateAVG.Replace("%", "")) - decimal.Parse(lastinfo.CreateAVG.Replace("%", "")), 2) + "%";
        info.SiteSecondBuy = localinfo.SiteSecondBuy - lastinfo.SiteSecondBuy;
        info.BackSee       = Math.Round(decimal.Parse(localinfo.BackSee.Replace("%", "")) - decimal.Parse(lastinfo.BackSee.Replace("%", "")), 2) + "%";
        info.Refund        = Math.Round(decimal.Parse(localinfo.Refund.Replace("%", "")) - decimal.Parse(lastinfo.Refund.Replace("%", "")), 2) + "%";

        info.SeeDeepAVG = (decimal.Parse(localinfo.SeeDeepAVG) - decimal.Parse(lastinfo.SeeDeepAVG)).ToString();
        info.SeeTop     = new TaoBaoAPIHelper.GoodsInfo();
        info.SellTop    = new TaoBaoAPIHelper.GoodsInfo();
        info.Collection = localinfo.Collection - lastinfo.Collection;
        siteTotalList.Add(info);
    }
    public TopSiteTotalInfo GetOrderTotalInfo(DateTime start, DateTime end, string nick)
    {
        TopSiteTotalInfo info = new TopSiteTotalInfo();

        SqlParameter[] param = new[]
        {
            new SqlParameter("@start", start.ToString("yyyyMMdd")),
            new SqlParameter("@end", end.ToString("yyyyMMdd")),
            new SqlParameter("@nick", nick)
        };

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_SUM_SITETOTAL, param);

        foreach (DataRow dr in dt.Rows)
        {
            //info.SiteTotalDate = dr["sSiteTotalDate"].ToString();
            info.SitePVCount = dr["sSitePVCount"] == DBNull.Value ? 0 : int.Parse(dr["sSitePVCount"].ToString());

            info.SiteUVCount    = dr["sSiteUVCount"] == DBNull.Value ? 0 : int.Parse(dr["sSiteUVCount"].ToString());
            info.SiteOrderCount = dr["sSiteOrderCount"] == DBNull.Value ? 0 : int.Parse(dr["sSiteOrderCount"].ToString());
            info.SiteOrderPay   = dr["sSiteOrderPay"] == DBNull.Value ? 0 : decimal.Parse(dr["sSiteOrderPay"].ToString());
            info.SiteUVBack     = dr["sSiteUVBack"] == DBNull.Value ? 0 : int.Parse(dr["sSiteUVBack"].ToString());

            info.SiteSecondBuy      = dr["sSiteSecondBuy"] == DBNull.Value ? 0 : int.Parse(dr["sSiteSecondBuy"].ToString());
            info.PostFee            = dr["sSitePostFee"] == DBNull.Value ? 0 : decimal.Parse(dr["sSitePostFee"].ToString());
            info.GoodsCount         = dr["sSiteGoodsCount"] == DBNull.Value ? 0 : int.Parse(dr["sSiteGoodsCount"].ToString());
            info.SiteBuyCustomTotal = dr["sSiteBuyCustomTotal"] == DBNull.Value ? 0 : int.Parse(dr["sSiteBuyCustomTotal"].ToString());
        }
        return(info);
    }
 public void AddOrUp(TopSiteTotalInfo info)
 {
     if (CheckHadSiteTotalInfo(info.SiteNick, info.SiteTotalDate))
     {
         UpdateSiteTotalInfo(info);
     }
     else
     {
         AddSiteTotalInfo(info);
     }
 }
 private static SqlParameter[] GetParameter(TopSiteTotalInfo info)
 {
     return(new[]
     {
         new SqlParameter("@SiteNick", info.SiteNick),
         new SqlParameter("@SiteOrderCount", info.SiteOrderCount),
         new SqlParameter("@SiteOrderPay", info.SiteOrderPay),
         new SqlParameter("@SitePVCount", info.SitePVCount),
         new SqlParameter("@SiteTotalDate", info.SiteTotalDate),
         new SqlParameter("@SiteUVBack", info.SiteUVBack),
         new SqlParameter("@SiteUVCount", info.SiteUVCount),
         new SqlParameter("@SiteGoodsCount", info.GoodsCount),
         new SqlParameter("@SitePostFee", info.PostFee),
         new SqlParameter("@SiteSecondBuy", info.SiteSecondBuy),
         new SqlParameter("@SiteBuyCustomTotal", info.SiteBuyCustomTotal)
     });
 }
示例#9
0
    private void BindRpt_OrderTotal(SiteTotalService siteTotalDal)
    {
        string nickNo = HttpUtility.UrlDecode(Request.Cookies["nick"].Value);
        List <TopSiteTotalInfo> list  = new List <TopSiteTotalInfo>();
        TopSiteTotalInfo        today = siteTotalDal.GetOrderTotalInfo(DateTime.Now, DateTime.Now, nickNo);

        today.SiteNick = "今天";

        TopSiteTotalInfo yesterday = siteTotalDal.GetOrderTotalInfo(DateTime.Now.AddDays(-1), DateTime.Now.AddDays(-1), nickNo);

        yesterday.SiteNick = "昨天";

        list.Add(today);
        list.Add(yesterday);

        Rpt_OrderTotal.DataSource = list;
        Rpt_OrderTotal.DataBind();
    }
    public TopSiteTotalInfo GetPvUvTotal(DateTime start, DateTime end, string tableName)
    {
        string sql = SQL_SELECT_PVUVTOTAL.Replace("@tableName", tableName);

        SqlParameter[] param = new[]
        {
            new SqlParameter("@start", start),
            new SqlParameter("@end", end)
        };
        TopSiteTotalInfo info = null;
        DataTable        dt   = DBHelper.ExecuteDataTable(sql, param);

        foreach (DataRow dr in dt.Rows)
        {
            info             = new TopSiteTotalInfo();
            info.SiteUVCount = int.Parse(dr["ucount"].ToString());
            info.SitePVCount = dr["vtotal"] == DBNull.Value ? 0 : int.Parse(dr["vtotal"].ToString());
        }

        return(info);
    }
示例#11
0
 private static SqlParameter[] GetParameter(TopSiteTotalInfo info)
 {
     return(new[]
     {
         new SqlParameter("@SiteNick", info.SiteNick),
         new SqlParameter("@SiteOrderCount", info.SiteOrderCount),
         new SqlParameter("@SiteOrderPay", info.SiteOrderPay),
         new SqlParameter("@SitePVCount", info.SitePVCount),
         new SqlParameter("@SiteTotalDate", info.SiteTotalDate),
         new SqlParameter("@SiteUVBack", info.SiteUVBack),
         new SqlParameter("@SiteUVCount", info.SiteUVCount),
         new SqlParameter("@SiteGoodsCount", info.GoodsCount),
         new SqlParameter("@SitePostFee", info.PostFee),
         new SqlParameter("@SiteSecondBuy", info.SiteSecondBuy),
         new SqlParameter("@SiteBuyCustomTotal", info.SiteBuyCustomTotal),
         new SqlParameter("@SiteZhiTongTotal", info.ZhiTongFlow),
         new SqlParameter("@SiteZuanZhan", info.SiteZuanZhan),
         new SqlParameter("@RefundOrderCount", info.RefundOrderCount),
         new SqlParameter("@RefundMoney", info.RefundMoney),
         new SqlParameter("@AskOrder", info.AskOrder)
     });
 }
    public TopSiteTotalInfo GetOrderTotalPay(DateTime start, DateTime end, string nick)
    {
        SqlParameter[] param = new[]
        {
            new SqlParameter("@start", start),
            new SqlParameter("@end", end),
            new SqlParameter("@seller_nick", nick)
        };
        TopSiteTotalInfo info = null;

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_ORDERPAYTOTAL, param);

        foreach (DataRow dr in dt.Rows)
        {
            info = new TopSiteTotalInfo();
            info.SiteOrderCount     = int.Parse(dr["myototal"].ToString());
            info.SiteOrderPay       = decimal.Parse(dr["mypaytotal"].ToString());
            info.SiteNick           = dr["seller_nick"].ToString();
            info.PostFee            = decimal.Parse(dr["mypostfee"].ToString());
            info.SiteBuyCustomTotal = int.Parse(dr["custotal"].ToString());
        }
        return(info);
    }
    public List <TopSiteTotalInfo> GetRealTotal(string nick, DateTime start, DateTime end)
    {
        SqlParameter[] param = new[]
        {
            new SqlParameter("@nick", nick),
            new SqlParameter("@start", start.ToString("yyyyMMdd")),
            new SqlParameter("@end", end.ToString("yyyyMMdd"))
        };
        List <TopSiteTotalInfo> list = new List <TopSiteTotalInfo>();
        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_ORDER_REAL_TOTAL_POST_FEE, param);

        foreach (DataRow dr in dt.Rows)
        {
            TopSiteTotalInfo info = new TopSiteTotalInfo();
            info.SiteTotalDate = dr["SiteTotalDate"].ToString();
            info.SiteOrderPay  = decimal.Parse(dr["SiteOrderPay"].ToString());
            info.RealPostFee   = dr["RealPostFee"] == DBNull.Value ? 0 : decimal.Parse(dr["RealPostFee"].ToString());
            info.RealTotalFee  = dr["RealTotalFee"] == DBNull.Value ? 0 : decimal.Parse(dr["RealTotalFee"].ToString());
            list.Add(info);
        }

        return(list);
    }
示例#14
0
    protected string SevenSiteBackOrder()
    {
        TopSiteTotalInfo linfo  = (TopSiteTotalInfo)ViewState["lastweek"];
        TopSiteTotalInfo llinfo = (TopSiteTotalInfo)ViewState["llastweek"];

        if (llinfo.SiteSecondBuy == 0)
        {
            if (linfo.SiteSecondBuy == 0)
            {
                return("0");
            }
            return("<font color='green'>↑" + linfo.SiteSecondBuy * 100 + "%</font>");
        }

        decimal pay = (decimal)linfo.SiteSecondBuy / llinfo.SiteSecondBuy;

        if (pay > 1)
        {
            return("<font color='green'>↑" + Math.Round((pay - 1) * 100, 2).ToString() + "%</font>");
        }

        return("<font color='red'>↓" + Math.Round((1 - pay) * 100, 2).ToString() + "%</font>");
    }
示例#15
0
    public List <TopSiteTotalInfo> GetZuanZhanTotal(string start, string end, string nick)
    {
        List <TopSiteTotalInfo> list = new List <TopSiteTotalInfo>();

        SqlParameter[] param = new[]
        {
            new SqlParameter("@start", start),
            new SqlParameter("@end", end),
            new SqlParameter("@nick", nick)
        };

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_ZUANZHAN, param);

        foreach (DataRow dr in dt.Rows)
        {
            TopSiteTotalInfo info = new TopSiteTotalInfo();
            info.SiteZuanZhan  = int.Parse(dr["SiteZuanZhan"].ToString());
            info.SiteTotalDate = dr["SiteTotalDate"].ToString();

            list.Add(info);
        }

        return(list);
    }
示例#16
0
    protected string SevenSiteSellWith()
    {
        TopSiteTotalInfo linfo  = (TopSiteTotalInfo)ViewState["lastweek"];
        TopSiteTotalInfo llinfo = (TopSiteTotalInfo)ViewState["llastweek"];

        if (llinfo.GoodsCount == 0 || linfo.GoodsCount == 0 || llinfo.SiteBuyCustomTotal == 0 || linfo.SiteBuyCustomTotal == 0)
        {
            return("0");
        }

        if (linfo.GoodsCount != 0 && linfo.SiteBuyCustomTotal != 0 && llinfo.GoodsCount == 0 && llinfo.SiteBuyCustomTotal == 0)
        {
            return("<font color='green'>↑" + (linfo.SiteOrderPay / linfo.GoodsCount) * 100 + "%</font>");
        }

        decimal pay = ((linfo.SiteOrderPay / linfo.SiteBuyCustomTotal) / (llinfo.SiteOrderPay / llinfo.SiteBuyCustomTotal)) / ((linfo.SiteOrderPay / linfo.GoodsCount) / (llinfo.SiteOrderPay / llinfo.GoodsCount));

        if (pay > 1)
        {
            return("<font color='green'>↑" + Math.Round((pay - 1) * 100, 2).ToString() + "%</font>");
        }

        return("<font color='red'>↓" + Math.Round((1 - pay) * 100, 2).ToString() + "%</font>");
    }
示例#17
0
    public static void UpdateSiteTotal(string nick, string session, DateTime now, SiteTotalService taoDal)
    {
        List <RefundInfo> refundList = (List <RefundInfo>)TaoBaoAPI.GetRefundInfoList(now.AddDays(-2), now, nick, session, "SUCCESS");
        //所有有订单的用户
        TopSiteTotalInfo stinfo = taoDal.GetOrderTotalPay(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);
        //所有表名(添加过统计代码到网页的)
        //List<string> tableList = taoDal.GetTableName();
        //string tablename = GetTableName(nick);
        List <string> mytablelist = new List <string>();//tableList.Where(o => o == tablename).ToList();

        TopSiteTotalInfo addup = new TopSiteTotalInfo();

        addup.SiteNick      = nick;
        addup.SiteTotalDate = now.ToString("yyyyMMdd");
        //给询单数赋值
        addup.AskOrder = new TalkRecodService().GetCustomerList(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick).Count;

        //有添加统计代码
        if (mytablelist.Count > 0)
        {
            //有订单
            if (stinfo != null)
            {
                addup.SiteOrderCount     = stinfo.SiteOrderCount;
                addup.SiteOrderPay       = stinfo.SiteOrderPay;
                addup.PostFee            = stinfo.PostFee;
                addup.SiteBuyCustomTotal = stinfo.SiteBuyCustomTotal;
                addup.SiteSecondBuy      = taoDal.GetSecondBuyTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);
            }
            //TopSiteTotalInfo puvinfo = taoDal.GetPvUvTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), tablename);
            addup.SiteUVCount  = 0; //puvinfo.SiteUVCount;
            addup.SitePVCount  = 0; // puvinfo.SitePVCount;
            addup.ZhiTongFlow  = 0; // taoDal.GetZhiTongTotal(now, now.AddDays(1), tablename);
            addup.SiteZuanZhan = 0; // taoDal.GetZuanZhanTotal(now, now.AddDays(1), tablename);

            addup.SiteUVBack = 0;   // taoDal.GetBackTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), tablename);
        }
        else
        {
            //有订单
            if (stinfo != null)
            {
                addup.SiteOrderCount     = stinfo.SiteOrderCount;
                addup.SiteOrderPay       = stinfo.SiteOrderPay;
                addup.PostFee            = stinfo.PostFee;
                addup.SiteBuyCustomTotal = stinfo.SiteBuyCustomTotal;
                addup.SiteSecondBuy      = taoDal.GetSecondBuyTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);
            }
        }

        IList <string> tidList = taoDal.GetOrderIds(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);

        if (tidList.Count > 0)
        {
            addup.GoodsCount = taoDal.GetGoodsCount(tidList);
        }

        //退款情况
        List <RefundInfo> trefundList = refundList.Where(o => o.modified.ToShortDateString() == now.ToShortDateString()).ToList();

        if (trefundList.Count > 0)
        {
            int     rorderCount = 0;
            decimal rpay        = 0;
            foreach (RefundInfo refund in trefundList)
            {
                if (!tidList.Contains(refund.tid))
                {
                    continue;
                }
                rorderCount++;
                rpay += (refund.total_fee - refund.payment);
            }
            addup.RefundOrderCount = rorderCount;
            addup.RefundMoney      = rpay;
        }

        taoDal.AddOrUp(addup);
    }
示例#18
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Request.Cookies["nick"] == null)
            {
                System.Threading.Thread.Sleep(1000 * 6);
            }
            string       nickNo    = DataHelper.Encrypt(HttpUtility.UrlDecode(Request.Cookies["nick"].Value));
            VisitService vistitDal = new VisitService();
            DateTime[]   darray    = DataHelper.GetDateTime(DateTime.Now, 1);
            Rpt_IpPV.DataSource = vistitDal.GetIndexTotalInfoList(nickNo, darray[0], darray[1]).OrderByDescending(o => o.Value).ToList();
            Rpt_IpPV.DataBind();

            Rpt_OnlineCustomer.DataSource = vistitDal.GetIndexOnlineCustomer(nickNo, 3, darray[0], darray[1]);
            Rpt_OnlineCustomer.DataBind();

            TaoBaoGoodsServive taoGoodsService = new TaoBaoGoodsServive();

            IList <GoodsInfo> list = taoGoodsService.GetTopBuyGoods(HttpUtility.UrlDecode(Request.Cookies["nick"].Value), darray[0], darray[1], 1, 3);

            if (list.Count > 0)
            {
                string           pids       = "";
                List <GoodsInfo> cachegoods = new List <GoodsInfo>();
                if (Cache["taobaogoodslist"] != null)
                {
                    cachegoods = (List <GoodsInfo>)Cache["taobaogoodslist"];
                }
                foreach (GoodsInfo info in list)
                {
                    if (!cachegoods.Contains(info))
                    {
                        pids += info.num_iid + ",";
                    }
                }

                if (pids != "")
                {
                    List <GoodsInfo> goodsinfoList = TaoBaoAPI.GetGoodsInfoList(HttpUtility.UrlDecode(Request.Cookies["nick"].Value), Request.Cookies["nicksession"].Value, pids.Substring(0, pids.Length - 1));

                    if (Cache["taobaogoodslist"] == null)
                    {
                        Cache.Insert("taobaogoodslist", goodsinfoList, null, DateTime.Now.AddHours(12), System.Web.Caching.Cache.NoSlidingExpiration);
                    }
                    else
                    {
                        cachegoods.AddRange(goodsinfoList);
                    }
                }
                for (int i = 0; i < list.Count; i++)
                {
                    IList <GoodsInfo> thislist = ((List <GoodsInfo>)Cache["taobaogoodslist"]).Where(o => o.num_iid == list[i].num_iid).ToList();
                    if (thislist.Count > 0)
                    {
                        list[i].title   = thislist[0].title;
                        list[i].price   = thislist[0].price;
                        list[i].pic_url = thislist[0].pic_url;
                    }
                }
            }

            Rpt_GoodsSellTop.DataSource = list;
            Rpt_GoodsSellTop.DataBind();

            SiteTotalService siteTotalDal = new SiteTotalService();
            BindRpt_OrderTotal(siteTotalDal);
            TopSiteTotalInfo lastweek  = siteTotalDal.GetOrderTotalInfo(DateTime.Now.AddDays(-7), DateTime.Now, HttpUtility.UrlDecode(Request.Cookies["nick"].Value));
            TopSiteTotalInfo llastweek = siteTotalDal.GetOrderTotalInfo(DateTime.Now.AddDays(-14), DateTime.Now.AddDays(-8), HttpUtility.UrlDecode(Request.Cookies["nick"].Value));
            ViewState["lastweek"]  = lastweek;
            ViewState["llastweek"] = llastweek;
        }
    }
 /// <summary>
 /// 更新一条
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 private static int UpdateSiteTotalInfo(TopSiteTotalInfo info)
 {
     return(DBHelper.ExecuteNonQuery(SQL_UPDATE, GetParameter(info)));
 }
示例#20
0
    public static void UpdateSiteTotal(string nick, string session, DateTime now, SiteTotalService taoDal)
    {
        RefundService           refDal  = new RefundService();
        TaoBaoGoodsOrderService tbgoDal = new TaoBaoGoodsOrderService();

        List <RefundInfo> refundList = (List <RefundInfo>)TaoBaoAPI.GetRefundInfoList(now.AddDays(-2), now, nick, session, "SUCCESS");
        //所有有订单的用户
        TopSiteTotalInfo stinfo = taoDal.GetOrderTotalPay(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);
        //所有表名(添加过统计代码到网页的)
        List <string> tableList   = taoDal.GetTableName();
        string        tablename   = GetTableName(nick);
        List <string> mytablelist = tableList.Where(o => o == tablename).ToList();

        TopSiteTotalInfo addup = new TopSiteTotalInfo();

        addup.SiteNick      = nick;
        addup.SiteTotalDate = now.ToString("yyyyMMdd");
        //给询单数赋值
        addup.AskOrder = new TalkRecodService().GetCustomerList(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick).Count;

        //有添加统计代码
        if (mytablelist.Count > 0)
        {
            //有订单
            if (stinfo != null)
            {
                addup.SiteOrderCount     = stinfo.SiteOrderCount;
                addup.SiteOrderPay       = stinfo.SiteOrderPay;
                addup.PostFee            = stinfo.PostFee;
                addup.SiteBuyCustomTotal = stinfo.SiteBuyCustomTotal;
                addup.SiteSecondBuy      = taoDal.GetSecondBuyTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);
            }
            TopSiteTotalInfo puvinfo = taoDal.GetPvUvTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), tablename);
            addup.SiteUVCount  = puvinfo.SiteUVCount;
            addup.SitePVCount  = puvinfo.SitePVCount;
            addup.ZhiTongFlow  = taoDal.GetZhiTongTotal(now, now.AddDays(1), tablename);
            addup.SiteZuanZhan = taoDal.GetZuanZhanTotal(now, now.AddDays(1), tablename);

            addup.SiteUVBack = taoDal.GetBackTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), tablename);
        }
        else
        {
            //有订单
            if (stinfo != null)
            {
                addup.SiteOrderCount     = stinfo.SiteOrderCount;
                addup.SiteOrderPay       = stinfo.SiteOrderPay;
                addup.PostFee            = stinfo.PostFee;
                addup.SiteBuyCustomTotal = stinfo.SiteBuyCustomTotal;
                addup.SiteSecondBuy      = taoDal.GetSecondBuyTotal(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);
            }
        }

        IList <string> tidList = taoDal.GetOrderIds(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()), nick);

        if (tidList.Count > 0)
        {
            addup.GoodsCount = taoDal.GetGoodsCount(tidList);
        }
        List <RefundInfo> hadReList = refDal.GetAllRefund(nick, now.AddDays(-2), now);

        //退款情况
        List <RefundInfo> trefundList = refundList.Where(o => o.modified.ToShortDateString() == now.ToShortDateString()).ToList();

        if (trefundList.Count > 0)
        {
            int     rorderCount = 0;
            decimal rpay        = 0;
            foreach (RefundInfo refund in new List <RefundInfo>(trefundList))
            {
                if (!tidList.Contains(refund.tid))
                {
                    GoodsOrderInfo roinfo = tbgoDal.GetGoodsOrderInfo(refund.tid);
                    if (roinfo == null)
                    {
                        continue;
                    }
                    else
                    {
                        if (hadReList.Where(o => o.tid == refund.tid).ToList().Count > 0)
                        {
                            continue;
                        }
                        if (roinfo.pay_time != DateTime.Parse("1990-1-1"))
                        {
                            refund.OrderTime = roinfo.pay_time;
                        }
                        else
                        {
                            refund.OrderTime = roinfo.created;
                        }
                        refund.seller_nick = nick;
                        refDal.AddRefund(refund);
                        //需要查询这一天有多少订单
                        RefundInfo newrefund = refDal.GetRefundTotal(nick, DateTime.Parse(refund.OrderTime.ToShortDateString()), DateTime.Parse(refund.OrderTime.ToShortDateString()).AddDays(1));

                        taoDal.UpdateGoodsOrderInfo(nick, refund.OrderTime.ToString("yyyyMMdd"), newrefund.total_fee, newrefund.num);
                    }
                    continue;
                }
                rorderCount++;
                rpay += (refund.total_fee - refund.payment);
            }
            addup.RefundOrderCount = rorderCount;
            addup.RefundMoney      = rpay;
        }

        taoDal.AddOrUp(addup);
    }
 /// <summary>
 /// 插入一条
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 private static int AddSiteTotalInfo(TopSiteTotalInfo info)
 {
     return(DBHelper.ExecuteNonQuery(SQL_INSERT, GetParameter(info)));
 }