using Business.TK; using Business.ZX; using Cache; using Cache.Cache; using Common; using KJH55128_Rec.ViewModels; using Models; using Models.Entity.LottomatBaseDB; using Models.Views; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace KJH55128_Rec.Business { public static class ZXApiBLL { //private static LogHelper log = null; private static readonly string[] types = { "FC3D", "SSQ", "PL3", "QT" }; static ZXApiBLL() { // log = new LogHelper(); } public static List GetCacheHomeNewsList() { if (!Ctrl.ZXViewNeedUpdate()) { Ctrl.SETZXView(GetHomeNewsList()); } return Ctrl.GetZXView() as List; } public static List GetHomeNewsList() { List res = new List(); var data = DataItemBLL.GetBaseDataItemListbyEnCode(types.ToList()); try { foreach (string code in types) { List news = NewsBLL.GetHomeNewsList(code); if (news.Count > 0) { News_Preview preview = new News_Preview { NewsType = code }; var tmpbaseitme = data.Single(w => w.ItemCode == code); preview.ItemName = tmpbaseitme.ItemName; List newsPreviewItem = new List(); foreach (Base_News n in news) { NewsPreviewItem preItem = new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead, PeriodsNumber = n.PeriodsNumber }; newsPreviewItem.Add(preItem); } preview.NewsPreviewItem = newsPreviewItem; res.Add(preview); } } } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetHomeNewsList"); } return res; } public static GetZX_NewsDetails GetNewsDetails(string id) { GetZX_NewsDetails res = new GetZX_NewsDetails(); try { var tmpnews = NewsBLL.GetItem(int.Parse(id)); List data = NewsBLL.GetGetNewsDetails(tmpnews.NewsId); //获取数据 if (data != null) { var tmp = data.SingleOrDefault(w => w.NewsId == tmpnews.NewsId); res = new GetZX_NewsDetails { NewsId = tmp.NewsId, PK = tmp.PK, FullHead = tmp.FullHead, CreateDate = tmp.CreateDate.ToString("yyyy-MM-dd"), CreateUserName = tmp.CreateUserName, NewsContent = tmp.NewsContent, PeriodsNumber = tmp.PeriodsNumber, IsRecommend = tmp.IsRecommend, IsHot = tmp.IsHot ?? false, PV = tmp.PV, TitleElement = tmp.TitleElement, DescriptionElement = tmp.DescriptionElement, KeywordElement = tmp.KeywordElement, Category = tmp.Category }; #region 新增上一期、下一期预告 // List preAndNext = GetNewsListByPk(res.PK ?? 1); List list = new List(); #region 上一期 Base_News dataPre = data.SingleOrDefault(w => w.PK == tmp.PK - 1); if (dataPre != null) { //上一期 OnThene onThene = new OnThene { Which = 1, Title = dataPre.FullHead, NewsId = dataPre.PK.ToString() }; list.Add(onThene); } else { //上一期 OnThene onThene = new OnThene { Which = 1, Title = "已经是最新一期啦", NewsId = "" }; list.Add(onThene); } #endregion #region 下一期 Base_News dataNext = data.SingleOrDefault(w => w.PK == tmp.PK + 1); if (dataNext != null) { //下一期 OnThene onThene = new OnThene { Which = 2, Title = dataNext.FullHead, NewsId = dataNext.PK.ToString() }; list.Add(onThene); } else { //下一期 OnThene onThene = new OnThene { Which = 2, Title = "已经是最后一期啦", NewsId = "" }; list.Add(onThene); } #endregion res.PreAndNextNewsList = list; #endregion return res; } } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetNewsDetails"); } return res; } public static List GetNewsList(int page, int rows, string ItemId, string order = null, bool isdes = false) { //分类Ids List newsPreviewItem = new List(); try { int count = 0; //获取数据 Dictionary dict = new Dictionary(); dict["CategoryId"] = new List() { { ItemId } }; List news = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", true); if (news.Count > 0) { newsPreviewItem = news.Select(n => new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead }).ToList(); } else { //如果为空,则默认查询太湖字谜和彩神通字谜下面子分类咨询 List list = DataItemBLL.GetListbyItemId(ItemId); if (list != null) { List itemDetailIds = list.Select(d => d.ItemDetailId).ToList(); //获取数据 dict["CategoryId"] = itemDetailIds; List temp = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", true); newsPreviewItem = temp.Select(n => new NewsPreviewItem { AddTime = n.CreateDate.ToString("yyyy-MM-dd"), NewsId = n.PK.ToString(), Title = n.FullHead }).ToList(); } } } catch (Exception ee) { LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetNewsList"); } return newsPreviewItem; } public static List GetNewsCache() { var data = ZXviewDataCache.GetNewsList(); return data; } } }