ZXApiBLL.cs 8.5 KB

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