ZXApiBLL.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. using Business.TK;
  2. using Business.ZX;
  3. using Cache;
  4. using Cache.Cache;
  5. using Common;
  6. using KJH55128_Rec.ViewModels;
  7. using Models;
  8. using Models.Entity.LottomatBaseDB;
  9. using Models.Views;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Linq;
  13. using System.Web;
  14. namespace KJH55128_Rec.Business
  15. {
  16. public static class ZXApiBLL
  17. {
  18. //private static LogHelper log = null;
  19. private static readonly string[] types = { "FC3D", "SSQ", "PL3", "QT" };
  20. static ZXApiBLL()
  21. {
  22. // log = new LogHelper();
  23. }
  24. public static List<News_Preview> GetCacheHomeNewsList()
  25. {
  26. if (!Ctrl.ZXViewNeedUpdate())
  27. {
  28. Ctrl.SETZXView(GetHomeNewsList());
  29. }
  30. return Ctrl.GetZXView() as List<News_Preview>;
  31. }
  32. public static List<News_Preview> GetHomeNewsList()
  33. {
  34. List<News_Preview> res = new List<News_Preview>();
  35. var data = DataItemBLL.GetBaseDataItemListbyEnCode(types.ToList());
  36. try
  37. {
  38. foreach (string code in types)
  39. {
  40. List<Base_News> news = NewsBLL.GetHomeNewsList(code);
  41. if (news.Count > 0)
  42. {
  43. News_Preview preview = new News_Preview
  44. {
  45. NewsType = code
  46. };
  47. var tmpbaseitme = data.Single(w => w.ItemCode == code);
  48. preview.ItemName = tmpbaseitme.ItemName;
  49. List<NewsPreviewItem> newsPreviewItem = new List<NewsPreviewItem>();
  50. foreach (Base_News n in news)
  51. {
  52. NewsPreviewItem preItem = new NewsPreviewItem
  53. {
  54. AddTime = n.CreateDate.ToString("yyyy-MM-dd"),
  55. NewsId = n.PK.ToString(),
  56. Title = n.FullHead,
  57. PeriodsNumber = n.PeriodsNumber
  58. };
  59. newsPreviewItem.Add(preItem);
  60. }
  61. preview.NewsPreviewItem = newsPreviewItem;
  62. res.Add(preview);
  63. }
  64. }
  65. }
  66. catch (Exception ee)
  67. {
  68. LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetHomeNewsList");
  69. }
  70. return res;
  71. }
  72. public static GetZX_NewsDetails GetNewsDetails(string id)
  73. {
  74. GetZX_NewsDetails res = new GetZX_NewsDetails();
  75. try
  76. {
  77. var tmpnews = NewsBLL.GetItem(int.Parse(id));
  78. List<Base_News> data = NewsBLL.GetGetNewsDetails(tmpnews.NewsId);
  79. //获取数据
  80. if (data != null)
  81. {
  82. var tmp = data.SingleOrDefault(w => w.NewsId == tmpnews.NewsId);
  83. res = new GetZX_NewsDetails
  84. {
  85. NewsId = tmp.NewsId,
  86. PK = tmp.PK,
  87. FullHead = tmp.FullHead,
  88. CreateDate = tmp.CreateDate.ToString("yyyy-MM-dd"),
  89. CreateUserName = tmp.CreateUserName,
  90. NewsContent = tmp.NewsContent,
  91. PeriodsNumber = tmp.PeriodsNumber,
  92. IsRecommend = tmp.IsRecommend,
  93. IsHot = tmp.IsHot ?? false,
  94. PV = tmp.PV,
  95. TitleElement = tmp.TitleElement,
  96. DescriptionElement = tmp.DescriptionElement,
  97. KeywordElement = tmp.KeywordElement,
  98. Category = tmp.Category
  99. };
  100. #region 新增上一期、下一期预告
  101. // List<OnThene> preAndNext = GetNewsListByPk(res.PK ?? 1);
  102. List<OnThene> list = new List<OnThene>();
  103. #region 上一期
  104. Base_News dataPre = data.SingleOrDefault(w => w.PK == tmp.PK - 1);
  105. if (dataPre != null)
  106. {
  107. //上一期
  108. OnThene onThene = new OnThene
  109. {
  110. Which = 1,
  111. Title = dataPre.FullHead,
  112. NewsId = dataPre.PK.ToString()
  113. };
  114. list.Add(onThene);
  115. }
  116. else
  117. {
  118. //上一期
  119. OnThene onThene = new OnThene
  120. {
  121. Which = 1,
  122. Title = "已经是最新一期啦",
  123. NewsId = ""
  124. };
  125. list.Add(onThene);
  126. }
  127. #endregion
  128. #region 下一期
  129. Base_News dataNext = data.SingleOrDefault(w => w.PK == tmp.PK + 1);
  130. if (dataNext != null)
  131. {
  132. //下一期
  133. OnThene onThene = new OnThene
  134. {
  135. Which = 2,
  136. Title = dataNext.FullHead,
  137. NewsId = dataNext.PK.ToString()
  138. };
  139. list.Add(onThene);
  140. }
  141. else
  142. {
  143. //下一期
  144. OnThene onThene = new OnThene
  145. {
  146. Which = 2,
  147. Title = "已经是最后一期啦",
  148. NewsId = ""
  149. };
  150. list.Add(onThene);
  151. }
  152. #endregion
  153. res.PreAndNextNewsList = list;
  154. #endregion
  155. return res;
  156. }
  157. }
  158. catch (Exception ee)
  159. {
  160. LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetNewsDetails");
  161. }
  162. return res;
  163. }
  164. public static List<NewsPreviewItem> GetNewsList(int page, int rows, string ItemId, string order = null, bool isdes = false)
  165. {
  166. //分类Ids
  167. List<NewsPreviewItem> newsPreviewItem = new List<NewsPreviewItem>();
  168. try
  169. {
  170. int count = 0;
  171. //获取数据
  172. Dictionary<string, object> dict = new Dictionary<string, object>();
  173. dict["CategoryId"] = new List<string>() { { ItemId } };
  174. List<Base_News> news = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", true);
  175. if (news.Count > 0)
  176. {
  177. newsPreviewItem = news.Select(n => new NewsPreviewItem
  178. {
  179. AddTime = n.CreateDate.ToString("yyyy-MM-dd"),
  180. NewsId = n.PK.ToString(),
  181. Title = n.FullHead
  182. }).ToList();
  183. }
  184. else
  185. {
  186. //如果为空,则默认查询太湖字谜和彩神通字谜下面子分类咨询
  187. List<Base_DataItemDetail> list = DataItemBLL.GetListbyItemId(ItemId);
  188. if (list != null)
  189. {
  190. List<string> itemDetailIds = list.Select(d => d.ItemDetailId).ToList();
  191. //获取数据
  192. dict["CategoryId"] = itemDetailIds;
  193. List<Base_News> temp = NewsBLL.GetPageList(page, rows, dict, out count, "CreateDate", true);
  194. newsPreviewItem = temp.Select(n => new NewsPreviewItem
  195. {
  196. AddTime = n.CreateDate.ToString("yyyy-MM-dd"),
  197. NewsId = n.PK.ToString(),
  198. Title = n.FullHead
  199. }).ToList();
  200. }
  201. }
  202. }
  203. catch (Exception ee)
  204. {
  205. LogHelper.Error(typeof(ZXApiBLL), ee.Message + "GetNewsList");
  206. }
  207. return newsPreviewItem;
  208. }
  209. public static List<Base_News> GetNewsCache()
  210. {
  211. var data = ZXviewDataCache.GetNewsList();
  212. return data;
  213. }
  214. }
  215. }