using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CY.BLL; using CY.Infrastructure.Cache; using System.Data; using CY.BLL.Sys; using CY.Model; using CY.Infrastructure.Common; using CY.Infrastructure.Query; using CY.BLL.EC; using CY.WebForm.cs; using System.IO; namespace CY.WebForm.Pages.front { //吴辉 //前台-首页 public partial class Home : MainPage { Info_ContentBLL bll_Info_ContentBLL = null; Info_SortBLL bll_Info_SortBLL = null; Sys_DictionaryBLL bll_Sys_DictionaryBLL = null; EC_MemberBasicBLL bll_EC_MemberBasicBLL = null; EC_PrizeInfoBLL bll_EC_PrizeInfoBLL = null; Pay_PaymentAccountBLL bll_Pay_PaymentAccountBLL = null; Info_AdBLL bll_Info_AdBLL = null; private static ICacheStrategy CACHE = null;//缓存接口对象 private const string ASSEMBLYFORHomeKEYNews = "AssemblyForHomeNews";//首页新闻缓存键 private const string ASSEMBLYFORHomeKEYWebLink = "AssemblyForHomeWebLink";//首页新闻缓存键 private const string ASSEMBLYFORHomeKEYSupply = "AssemblyForHomeSupply";//首页供应信息缓存键 private const string ASSEMBLYFORHomeKEYPrize = "AssemblyForHomePrize";//首页礼品信息缓存键 private const string ASSEMBLYFORHomeKEYMemberScore = "AssemblyForHomeMemberScore";//首页积分排名缓存键 private const string ASSEMBLYFORHomeKEYAD = "AssemblyForHomeAD";//首页广告缓存键 //初始化 public Home() { bll_Info_ContentBLL = new Info_ContentBLL(); bll_Info_SortBLL = new Info_SortBLL(); bll_Sys_DictionaryBLL = new Sys_DictionaryBLL(); bll_EC_MemberBasicBLL = new EC_MemberBasicBLL(); bll_EC_PrizeInfoBLL = new EC_PrizeInfoBLL(); bll_Pay_PaymentAccountBLL = new Pay_PaymentAccountBLL(); bll_Info_AdBLL = new Info_AdBLL(); CacheFactory.InitializeCacheFactory(new DefaultCacheStrategy());//初始化缓存工厂 CACHE = CacheFactory.GetCacher();//创建缓存 } //页面加载 protected void Page_Load(object sender, EventArgs e) { string ss = CY.Infrastructure.DESEncrypt.DESEncrypt.Decrypt("EBBF83CAB8B97B8D"); if (!IsPostBack) { InitDataNews(); InitDataWebLink(); InitDataSupply(); InitDataPrize(); InitDataMemberScore(); InitDataAD(); InitDataOrder(); InitDataSeckillBusiness(); InitDataQuoteDemand(); } } #region 缓存新闻 //绑定数据 public void InitDataNews() { try { string NewsCacheHtml = ""; object ablDal = CACHE.RetrieveObject(ASSEMBLYFORHomeKEYNews);//从缓存中获取数据访问值 if (null != ablDal) NewsCacheHtml = ablDal.ToString();//缓存中有值则直接返回值 else { NewsCacheHtml = InitialSelectNewsData(); CACHE.AddObject(ASSEMBLYFORHomeKEYNews, NewsCacheHtml);//将值写入缓存 } this.divNewsHtml.InnerHtml = NewsCacheHtml; } catch (Exception ex) { PAGEHandleException(ex); return; } } //加载查询条件 protected string InitialSelectNewsData() { try { DataTable ds = bll_Info_SortBLL.SelectList("11111111-1111-1111-1111-111111111111".ToGuid2()); string SortTypeHtml = ""; if (ds != null && ds.Rows.Count > 0) { GetDataByLevelNews(ref SortTypeHtml, ds, bll_Sys_DictionaryBLL.GetKeyIdByKeyid(3, "网站资讯类型"), 1); } return SortTypeHtml; } catch (Exception ex) { PAGEHandleException(ex); return ""; } } //遍历数据 public void GetDataByLevelNews(ref string SortTypeHtml, DataTable data, int? parentId, int level) { try { if (data == null || data.Rows.Count == 0) return; DataRow[] result = data.Select(string.Format("ParentId={0}", parentId)); int i = -1; while (++i < 4) { if (level == 1) { SortTypeHtml += "

更多>>" + result[i]["Title"].ToString2() + "

"; } } } catch (Exception ex) { PAGEHandleException(ex); return; } } #endregion #region 缓存友情链接 //绑定数据 public void InitDataWebLink() { try { string WebLinkCacheHtml = ""; object ablDal = CACHE.RetrieveObject(ASSEMBLYFORHomeKEYWebLink);//从缓存中获取数据访问值 if (null != ablDal) WebLinkCacheHtml = ablDal.ToString();//缓存中有值则直接返回值 else { WebLinkCacheHtml = InitialSelectWebLinkData(); CACHE.AddObject(ASSEMBLYFORHomeKEYWebLink, WebLinkCacheHtml);//将值写入缓存 } this.ulWebLinkHtml.InnerHtml = WebLinkCacheHtml; } catch (Exception ex) { PAGEHandleException(ex); return; } } //加载查询条件 protected string InitialSelectWebLinkData() { try { DataTable ds = bll_Info_SortBLL.SelectList("11111111-1111-1111-1111-111111111111".ToGuid2()); string HotWebLinkHtml = "
  • 热门:"; string NormalWebLinkHtml = ""; if (ds != null && ds.Rows.Count > 0) { GetDataByLevelWebLink(ref HotWebLinkHtml, ref NormalWebLinkHtml, ds, bll_Sys_DictionaryBLL.GetKeyIdByKeyid(4, "网站资讯类型"), 1); } HotWebLinkHtml += "
  • "; return NormalWebLinkHtml + "

    "; } catch (Exception ex) { PAGEHandleException(ex); return ""; } } //遍历数据 public void GetDataByLevelWebLink(ref string HotWebLinkHtml, ref string NormalWebLinkHtml, DataTable data, int? parentId, int level) { try { if (data == null || data.Rows.Count == 0) return; DataRow[] result = data.Select(string.Format("ParentId={0}", parentId)); int i = -1; while (++i < result.Length) { if (level == 1) { NormalWebLinkHtml += "
  • " + result[i]["Title"].ToString2() + ":"; List m_Info_ContentList = bll_Info_ContentBLL.SelectListByWhere(result[i]["Keyid"].ToInt32(), 100, true) as List; if (m_Info_ContentList != null) { foreach (var item in m_Info_ContentList) { NormalWebLinkHtml += ("" + item.Title.ToString2() + ""); } } NormalWebLinkHtml += "
  • " + (i == 0 ? "

    " : ""); } } } catch (Exception ex) { PAGEHandleException(ex); return; } } #endregion #region 缓存供应信息 //绑定数据 public void InitDataSupply() { try { string SupplyCacheHtml = ""; object ablDal = CACHE.RetrieveObject(ASSEMBLYFORHomeKEYSupply);//从缓存中获取数据访问值 if (null != ablDal) SupplyCacheHtml = ablDal.ToString();//缓存中有值则直接返回值 else { SupplyCacheHtml = InitialSupplyData(); CACHE.AddObject(ASSEMBLYFORHomeKEYSupply, SupplyCacheHtml);//将值写入缓存 } this.ulSupplyHtml.InnerHtml = SupplyCacheHtml; } catch (Exception ex) { PAGEHandleException(ex); return; } } //加载数据 public string InitialSupplyData() { try { Pagination pa = new Pagination(); pa.PageSize = 20; pa.PageIndex = 1; string html = ""; List m_EC_FirmInfo = bll_EC_MemberBasicBLL.SelectModelPage(pa, "", "", "", "", "") as List; if (m_EC_FirmInfo != null && m_EC_FirmInfo.Count > 0) { foreach (var m_EC_Firm in m_EC_FirmInfo) { EC_MemberBasic m_EC_MemberBasic = bll_EC_MemberBasicBLL.GetMemberByMemberId(m_EC_Firm.MemberId); if (m_EC_MemberBasic != null) { html += "
    " + m_EC_Firm.CompanyName + "
    " + m_EC_Firm.SupplyInfo + "
    "; } } } return html; } catch (Exception ex) { PAGEHandleException(ex); return ""; } } #endregion #region 缓存奖品 //绑定数据 public void InitDataPrize() { try { string PrizeCacheHtml = ""; object ablDal = CACHE.RetrieveObject(ASSEMBLYFORHomeKEYPrize);//从缓存中获取数据访问值 if (null != ablDal) PrizeCacheHtml = ablDal.ToString();//缓存中有值则直接返回值 else { PrizeCacheHtml = InitialPrizeData(); CACHE.AddObject(ASSEMBLYFORHomeKEYPrize, PrizeCacheHtml);//将值写入缓存 } this.ulPrizeHtml.InnerHtml = PrizeCacheHtml; } catch (Exception ex) { PAGEHandleException(ex); return; } } //加载数据 public string InitialPrizeData() { try { Pagination pa = new Pagination(); pa.PageSize = 20; pa.PageIndex = 1; string html = ""; List m_EC_PrizeInfoList = bll_EC_PrizeInfoBLL.getAllPrizeInfo(pa) as List; if (m_EC_PrizeInfoList != null) { foreach (var m_EC_PrizeInfo in m_EC_PrizeInfoList) { html += "
  • " + m_EC_PrizeInfo.PrizeName + "

    " + m_EC_PrizeInfo.NeedIntegral + "积分

  • "; } } return html; } catch (Exception ex) { PAGEHandleException(ex); return ""; } } #endregion #region 缓存积分排名 //绑定数据 public void InitDataMemberScore() { try { string MemberScoreCacheHtml = ""; object ablDal = CACHE.RetrieveObject(ASSEMBLYFORHomeKEYMemberScore);//从缓存中获取数据访问值 if (null != ablDal) MemberScoreCacheHtml = ablDal.ToString();//缓存中有值则直接返回值 else { MemberScoreCacheHtml = InitialMemberScoreData(); CACHE.AddObject(ASSEMBLYFORHomeKEYMemberScore, MemberScoreCacheHtml);//将值写入缓存 } this.ulMemberScoreHtml.InnerHtml = MemberScoreCacheHtml; } catch (Exception ex) { PAGEHandleException(ex); return; } } //加载数据 public string InitialMemberScoreData() { try { string html = ""; List m_Pay_PaymentAccountList = bll_Pay_PaymentAccountBLL.SelectModleByRows(20) as List; if (m_Pay_PaymentAccountList != null) { foreach (var m_Pay_PaymentAccount in m_Pay_PaymentAccountList) { html += "
  • " + GetLastSunday().AddDays(1).ToString("yyyy/MM/dd") + "
    " + m_Pay_PaymentAccount.MemberName + "
    " + (m_Pay_PaymentAccount.LastWeekScore ?? 0) + "分
  • "; //html += "
  • " + GetLastSunday().AddDays(1).ToString("yyyy/MM/dd") + "
    印刷厂商测印刷厂商测试帐号
    2000分
  • "; } } return html; } catch (Exception ex) { PAGEHandleException(ex); return ""; } } //获取上周周末日期 public DateTime GetLastSunday() { DateTime? time = DateTime.Now.ToString("yyyy-MM-dd").ToDateTime2(); if (time.Value.DayOfWeek == DayOfWeek.Sunday) { time = time.Value.AddDays(-2); } else time = time.Value.AddDays(-1); while (time.Value.DayOfWeek != DayOfWeek.Sunday) { time = time.Value.AddDays(-1); } return time.Value; } #endregion #region 缓存广告 //绑定数据 public void InitDataAD() { try { string ADCacheHtml0 = ""; string ADCacheHtml1 = ""; string ADCacheHtml2 = ""; string ADCacheHtml3 = ""; string ADCacheHtml4 = ""; string ADCacheHtml5 = ""; string ADCacheHtml6 = ""; List ADList = new List(); object ablDal = CACHE.RetrieveObject(ASSEMBLYFORHomeKEYAD);//从缓存中获取数据访问值 ADList = ablDal as List; if (null != ablDal) { ADCacheHtml0 = ADList[0];//缓存中有值则直接返回值 ADCacheHtml1 = ADList[1];//缓存中有值则直接返回值 ADCacheHtml2 = ADList[2];//缓存中有值则直接返回值 ADCacheHtml3 = ADList[3];//缓存中有值则直接返回值 ADCacheHtml4 = ADList[4];//缓存中有值则直接返回值 ADCacheHtml5 = ADList[5];//缓存中有值则直接返回值 ADCacheHtml6 = ADList[6];//缓存中有值则直接返回值 } else { ADList = new List(); ADCacheHtml0 = InitialADData("网站首页", "顶部横幅广告(滚动1)") + InitialADData("网站首页", "顶部横幅广告(滚动2)") + InitialADData("网站首页", "顶部横幅广告(滚动3)") + InitialADData("网站首页", "顶部横幅广告(滚动4)") + InitialADData("网站首页", "顶部横幅广告(滚动5)"); ADList.Add(ADCacheHtml0); ADCacheHtml1 = InitialADData("网站首页", "特价秒杀(下)"); ADList.Add(ADCacheHtml1); ADCacheHtml2 = InitialADData("网站首页", "大家都在本网交易(下)"); ADList.Add(ADCacheHtml2); ADCacheHtml3 = InitialADData("网站首页", "最新需求信息(下左)"); ADList.Add(ADCacheHtml3); ADCacheHtml4 = InitialADData("网站首页", "最新需求信息(下中)"); ADList.Add(ADCacheHtml4); ADCacheHtml5 = InitialADData("网站首页", "最新需求信息(下右)"); ADList.Add(ADCacheHtml5); ADCacheHtml6 = InitialADData("网站首页", "最新供应信息(左)"); ADList.Add(ADCacheHtml6); CACHE.AddObject(ASSEMBLYFORHomeKEYAD, ADList);//将值写入缓存 } this.ad0.InnerHtml = ADCacheHtml0; this.ad1.InnerHtml = ADCacheHtml1; this.ad2.InnerHtml = ADCacheHtml2; this.ad3.InnerHtml = ADCacheHtml3; this.ad4.InnerHtml = ADCacheHtml4; this.ad5.InnerHtml = ADCacheHtml5; this.ad6.InnerHtml = ADCacheHtml6; } catch (Exception ex) { PAGEHandleException(ex); return; } } //加载数据 public string InitialADData(string ForumName, string LocationName) { try { if (!string.IsNullOrEmpty(ForumName) && !string.IsNullOrEmpty(LocationName)) { return bll_Info_AdBLL.SelectAdByLocationName(ForumName, LocationName); } else { return ""; } } catch (Exception ex) { PAGEHandleException(ex); return ""; } } #endregion #region 加载订单 //初始化最新订单信息 private void InitDataOrder() { try { rptOrders.DataSource = WebUtil.LatestOrders(); rptOrders.DataBind(); } catch (Exception ex) { return; } } #endregion #region 加载秒杀 //初始化最新秒杀业务信息 private void InitDataSeckillBusiness() { try { rptSeckillBusiness.DataSource = WebUtil.LatestSeckillBusiness(); rptSeckillBusiness.DataBind(); } catch (Exception ex) { PAGEHandleException(ex); return; } } #endregion #region 加载需求 //初始化最新需求信息 private void InitDataQuoteDemand() { try { rptQuoteDemand.DataSource = WebUtil.LatestQuoteDemand(); rptQuoteDemand.DataBind(); } catch (Exception ex) { return; } } #endregion } }