/// <summary>
        /// 拼接XML
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public string StatisticsDataXMLAppend(SubjectSaleVisitStatisticsDataModel model)
        {
            StringBuilder sb = new StringBuilder();

            if (model != null && !string.IsNullOrEmpty(model.SubjectNo))
            {
                sb.Append("<XML>");
                sb.Append("<SubjectNo>" + model.SubjectNo + "</SubjectNo>");
                sb.Append("<SaleStatistic>");
                sb.Append("<SaleInfoID>" + model.SaleStatistic.SubjectSaleStatisticsID + "</SaleInfoID><SubjectNo>" + model.SaleStatistic.SubjectNo + "</SubjectNo>");
                sb.Append("<DateStatistics>" + model.SaleStatistic.DateStatistics.ToString("yyyy-MM-ddTHH:mm:ss") + "</DateStatistics><OrderNums>" + model.SaleStatistic.OrderNums + "</OrderNums>");
                sb.Append("<Amount>" + model.SaleStatistic.Amount + "</Amount><YesterDayAmount>" + model.SaleStatistic.YesterDayAmount + "</YesterDayAmount><CostAmount>" + model.SaleStatistic.CostAmount + "</CostAmount>");
                sb.Append("<StockCount>" + model.SaleStatistic.StockCount + "</StockCount><SKUCount>" + model.SaleStatistic.SKUCount + "</SKUCount><SaleCount>" + model.SaleStatistic.SaleCount + "</SaleCount>");
                sb.Append("<SaledSKUCount>" + model.SaleStatistic.SaledSKUCount + "</SaledSKUCount><StockTotalAmount>" + model.SaleStatistic.StockTotalAmount + "</StockTotalAmount><ListingOutletFlag>" + model.SaleStatistic.ListingOutletFlag + "</ListingOutletFlag>");
                sb.Append("</SaleStatistic>");
                sb.Append("<VisitStatistic>");
                sb.Append("<VisitinfoID>" + model.VisitStatistic.SubjectVisitStatisticsID + "</VisitinfoID><SubjectNo>" + model.VisitStatistic.SubjectNo + "</SubjectNo>");
                sb.Append("<DateStatistics>" + model.VisitStatistic.DateStatistics.ToString("yyyy-MM-ddTHH:mm:ss") + "</DateStatistics><PV>" + model.VisitStatistic.PV + "</PV><UV>" + model.VisitStatistic.UV + "</UV>");
                sb.Append("<VIP>" + model.VisitStatistic.VIP + "</VIP><GoldenVIP>" + model.VisitStatistic.GoldenVIP + "</GoldenVIP><PlatinaVIP>" + model.VisitStatistic.PlatinaVIP + "</PlatinaVIP><DiamondVIP>" + model.VisitStatistic.DiamondVIP + "</DiamondVIP>");
                sb.Append("<OrderNums>" + model.VisitStatistic.OrderNums + "</OrderNums><ListingOutletFlag>" + model.VisitStatistic.ListingOutletFlag + "</ListingOutletFlag>");
                sb.Append("</VisitStatistic>");
                sb.Append("</XML>");
            }
            else
            {
                sb.Append("");
            }
            return(sb.ToString());
        }
        /// <summary>
        /// 获取奥莱活动列表
        /// <param name="type">1今日新开,2正在进行,3即将结束</param>
        /// </summary>
        /// <returns></returns>
        public void GetSubjectDataList(int type)
        {
            List <SubjectSaleVisitStatisticsDataModel> list = new List <SubjectSaleVisitStatisticsDataModel>();
            string        caheKey   = string.Empty;
            string        subjectNo = string.Empty;
            string        startDate = string.Empty;
            string        stopDate  = string.Empty;
            StringBuilder sql       = new StringBuilder();

            sql.Append("SELECT sub.[SubjectNo] ,sub.[SubjectName] ");
            sql.Append("FROM [SWfsSubject] (NOLOCK) AS sub ");
            sql.Append("WHERE sub.SubjectType = 0 ");
            sql.Append("AND sub.IsRelated = 0 ");
            sql.Append("AND sub.[Status] = 1 ");
            sql.Append("AND sub.SubjectTemplate != 5 ");
            sql.Append("AND sub.IsAudited = 1 ");
            sql.Append("AND CHARINDEX('zsqd001', sub.ChannelNo) > 0 ");
            if (type == 1) //今天新开的活动
            {
                startDate = DateTime.Now.ToString("yyyy-MM-dd");
                sql.Append(" AND DATEDIFF(day, sub.DateBegin, @StartDate) = 0 AND sub.DateEnd > getdate() ");
            }
            else if (type == 2) //正在进行活动(包括今日新开活动、即将结束活动)
            {
                startDate = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
                stopDate  = DateTime.Now.ToString();
                sql.Append(" AND sub.DateBegin < @StartDate AND sub.DateEnd > @StopDate ");
            }
            else if (type == 3) //已结束的活动
            {
                sql.Append(" AND sub.DateEnd < GETDATE() AND DATEDIFF(mm, DateEnd, GETDATE()) <= 2 ");
            }
            sql.Append("ORDER BY sub.DateBegin DESC ,sub.DateCreate DESC ");
            SqlParameter[] param = new SqlParameter[] {
                new SqlParameter("@StartDate", startDate),
                new SqlParameter("@StopDate", stopDate)
            };
            SqlDataReader reader = SqlHelper.ExecuteReader(WfsConnString, CommandType.Text, sql.ToString(), param);

            if (reader != null)
            {
                while (reader.Read())
                {
                    subjectNo = reader["SubjectNo"] != null ? reader["SubjectNo"].ToString() : "";
                    SubjectSaleVisitStatisticsDataModel model = new SubjectSaleVisitStatisticsDataModel();
                    model.SubjectNo = subjectNo;
                    System.Threading.Thread.Sleep(300);
                    model.SaleStatistic = GetSubjectSaleStatisticsData(type, subjectNo); //销售统计
                    System.Threading.Thread.Sleep(300);
                    model.VisitStatistic = GetSubjectVisitStatisticsData(subjectNo);     //访问统计
                    list.Add(model);
                }
                reader.Dispose();
                reader.Close();
                if (list != null && list.Count() > 0)
                {
                    #region 加入缓存
                    if (type == 1)
                    {
                        //caheKey = "AoLaiSubjectSaleVisitStatisticData_Today";
                        //SetRedisCache(caheKey, list);
                        SubjectStatisticDataMain(list, type);
                        Console.WriteLine("今日新开活动统计数据已加入缓存!");
                    }
                    else if (type == 2)
                    {
                        //caheKey = "AoLaiSubjectSaleVisitStatisticData_Runing";
                        //SetRedisCache(caheKey, list);
                        SubjectStatisticDataMain(list, type);
                        Console.WriteLine("进行中活动统计数据已加入缓存!");
                    }
                    else if (type == 3)
                    {
                        //caheKey = "AoLaiSubjectSaleVisitStatisticData_End";
                        //SetRedisCache(caheKey, list);
                        SubjectStatisticDataMain(list, type);
                        Console.WriteLine("已结束活动统计数据已加入缓存!");
                    }
                    #endregion
                }
            }
        }