TKApiBLL.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. using Lottomat.Application.Busines.SystemManage;
  2. using Lottomat.Application.Entity.GalleryManage;
  3. using Lottomat.Application.Entity.SystemManage;
  4. using Lottomat.Application.Entity.ViewModel.GallerMangerModel;
  5. using Lottomat.Util.WebControl;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using Newtonsoft;
  12. using Lottomat.Util.Extension;
  13. using Lottomat.Application.Entity.SystemManage.ViewModel;
  14. using System.Globalization;
  15. namespace Lottomat.Application.Busines.GalleryManage
  16. {
  17. public static class TKApiBLL
  18. {
  19. /// <summary>
  20. /// 根据菜单id拉取到栏目列表
  21. /// </summary>
  22. public static List<DataItemDetailEntity> QueryCloumn(string menuid)
  23. {
  24. DataItemDetailBLL dataItemDetailBLL = new DataItemDetailBLL();
  25. List<DataItemDetailEntity> list = dataItemDetailBLL.GetList(menuid).ToList();
  26. return list;
  27. }
  28. /// <summary>
  29. ///查询图库全部列表
  30. /// </summary>
  31. /// <returns></returns>
  32. public static List<QueryAllDataModel> QueryAll(int count)
  33. {
  34. List<QueryAllDataModel> rtdata = new List<QueryAllDataModel>();
  35. Tk_GalleryBLL tk_GalleryBLL = new Tk_GalleryBLL();
  36. List<Tk_Gallery> list = tk_GalleryBLL.QueryAll(count);
  37. string[] aryname = new string[] { "A", "B", "C" };
  38. for (int i = 0; i < aryname.Length; i++)
  39. {
  40. List<ImageMenuInfoModel> tlist = new List<ImageMenuInfoModel>();
  41. IEnumerator<Tk_Gallery> tmp = list.Where(t => t.AreaCode == aryname[i]).GetEnumerator();
  42. while (tmp.MoveNext())
  43. {
  44. ImageMenuInfoModel tmpImg = new ImageMenuInfoModel()
  45. {
  46. AreaCode = tmp.Current.AreaCode,
  47. CreateTime = tmp.Current.CreateTime.Value.ToString(),
  48. GalleryName = tmp.Current.GalleryName,
  49. GalleryNumber = tmp.Current.GalleryNumber.Value,
  50. HotNumber = tmp.Current.HotNumber.Value,
  51. ID = tmp.Current.ID,
  52. Reamrk = tmp.Current.Reamrk
  53. };
  54. tlist.Add(tmpImg);
  55. }
  56. rtdata.Add(new QueryAllDataModel() { AreaName = aryname[i], list = tlist });
  57. }
  58. return rtdata;
  59. }
  60. public static List<QueryAllDataModel> QueryAll(int page, int rows, string queryjson, out int totalrows, out int totalpage, int periodsNumber)
  61. {
  62. List<QueryAllDataModel> rtdata = new List<QueryAllDataModel>();
  63. Tk_GalleryBLL tk_GalleryBLL = new Tk_GalleryBLL();
  64. Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL();
  65. Pagination pageparam = new Pagination()
  66. {
  67. page = page,
  68. rows = rows,
  69. sidx = "GalleryNumber",
  70. sord = "asc"
  71. };
  72. List<Tk_Gallery> list = tk_GalleryBLL.GetPageList(pageparam, queryjson).ToList();
  73. List<string> gallid = list.Select(s => s.ID).ToList();
  74. List<Tk_GalleryDetail> qDetailList = new List<Tk_GalleryDetail>();
  75. if (periodsNumber == 0)
  76. {
  77. periodsNumber = getNewperoidNumber();
  78. }
  79. if (gallid.Count > 0)
  80. {
  81. qDetailList = tk_GalleryDetailBLL.QueryDetailByGalleryId(gallid, periodsNumber);
  82. }
  83. totalrows = pageparam.records;
  84. totalpage = pageparam.total;
  85. string[] aryname = new string[] { "A", "B", "C" };
  86. for (int i = 0; i < aryname.Length; i++)
  87. {
  88. List<ImageMenuInfoModel> tlist = new List<ImageMenuInfoModel>();
  89. IEnumerator<Tk_Gallery> tmp = list.Where(t => t.AreaCode == aryname[i]).GetEnumerator();
  90. while (tmp.MoveNext())
  91. {
  92. ImageMenuInfoModel tmpImg = new ImageMenuInfoModel()
  93. {
  94. GalleryNumStr = tmp.Current.AreaCode + GetGallerNum(tmp.Current.GalleryNumber.Value),
  95. AreaCode = tmp.Current.AreaCode,
  96. CreateTime = tmp.Current.CreateTime.Value.ToString(),
  97. GalleryName = tmp.Current.GalleryName,
  98. GalleryNumber = tmp.Current.GalleryNumber.Value,
  99. HotNumber = tmp.Current.HotNumber.Value,
  100. ID = tmp.Current.ID,
  101. Reamrk = tmp.Current.Reamrk,
  102. HasImage = 0
  103. };
  104. List<Tk_GalleryDetail> qtmp = qDetailList.Where(w => w.GalleryId == tmpImg.ID && w.PeriodsNumber == periodsNumber.ToString()).ToList();
  105. if (qtmp.Count > 0)
  106. {
  107. tmpImg.ImageUrl = qtmp[0].ImageUrl;
  108. tmpImg.HasImage = 1;
  109. }
  110. tlist.Add(tmpImg);
  111. }
  112. tlist = tlist.OrderBy(s => s.GalleryNumber).ToList();//升序排序
  113. rtdata.Add(new QueryAllDataModel() { AreaName = aryname[i], list = tlist, PeriodsNumber = periodsNumber });
  114. }
  115. return rtdata;
  116. }
  117. /// <summary>
  118. /// 获取最新期数(计算出非数据库)
  119. /// </summary>
  120. /// <returns></returns>
  121. public static int getNewperoidNumber()
  122. {
  123. string timeStr = DateTime.Now.ToString(CultureInfo.InvariantCulture);
  124. //obj.Year = DateTime.Now.Year.ToString();
  125. //判断当前时间是否在工作时间段内
  126. string _strWorkingDayPM = "21:30";
  127. //string _strWorkingDayPM = "17:30";
  128. TimeSpan dspWorkingDayPM = DateTime.Parse(_strWorkingDayPM).TimeOfDay;
  129. //TimeSpan dspWorkingDayPM = DateTime.Parse(_strWorkingDayPM).TimeOfDay;
  130. //string time1 = "2017-2-17 8:10:00";
  131. DateTime t1 = Convert.ToDateTime(timeStr);
  132. int peroidNumber = 0;
  133. TimeSpan dspNow = t1.TimeOfDay;
  134. if (dspNow < dspWorkingDayPM)
  135. {
  136. peroidNumber = (int.Parse(DateTime.Now.DayOfYear.ToString()) - 8 + 1);
  137. }
  138. else
  139. {
  140. peroidNumber = (int.Parse(DateTime.Now.DayOfYear.ToString()) - 8 + 1 + 1);
  141. }
  142. return peroidNumber;
  143. }
  144. public static string GetGallerNum(int num)
  145. {
  146. if (num.ToString().Length < 2)
  147. {
  148. return "0" + num.ToString();
  149. }
  150. else
  151. {
  152. return num.ToString();
  153. }
  154. }
  155. /// <summary>
  156. /// 查询热门图库分类
  157. /// </summary>
  158. /// <param name="count"></param>
  159. /// <returns></returns>
  160. public static List<HotMenuModel> QueryHotMenu(string[] itemname)
  161. {
  162. DataItemDetailBLL dataItemCache = new DataItemDetailBLL();
  163. IEnumerator<DataItemModel> enumerator = dataItemCache.GetDataItemList().Where(t => itemname.Contains(t.EnCode)).GetEnumerator();
  164. List<HotMenuModel> rtdata = new List<HotMenuModel>();
  165. while (enumerator.MoveNext())
  166. {
  167. HotMenuModel tmp = new HotMenuModel()
  168. {
  169. EnCode = enumerator.Current.EnCode,
  170. SimpleSpelling = enumerator.Current.SimpleSpelling,
  171. SortCode = enumerator.Current.SortCode.Value,
  172. ID = enumerator.Current.ItemDetailId,
  173. ItemName = enumerator.Current.ItemName,
  174. ItemValue = enumerator.Current.ItemValue,
  175. };
  176. rtdata.Add(tmp);
  177. }
  178. //rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序
  179. return rtdata;
  180. }
  181. /// <summary>
  182. /// 查询热门图库
  183. /// </summary>
  184. /// <returns></returns>
  185. public static List<ImageMenuInfoModel> QueryHotArtList(int page, int rows, string menuname, out int totalrows, out int totalpage, int periodsNumber)
  186. {
  187. Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL();
  188. Tk_GalleryBLL tk_GalleryBLL = new Tk_GalleryBLL();
  189. Pagination pageparam = new Pagination()
  190. {
  191. page = page,
  192. rows = rows,
  193. sidx = "GalleryNumber",
  194. sord = "asc"
  195. };
  196. List<Tk_Gallery> list = tk_GalleryBLL.GetPageList(pageparam, new { SeoKey = menuname }.TryToJson()).ToList();
  197. totalrows = pageparam.records;
  198. totalpage = pageparam.total;
  199. List<string> gallid = list.Select(s => s.ID).ToList();
  200. List<Tk_GalleryDetail> qDetailList = new List<Tk_GalleryDetail>();
  201. //int periodsNumber = tk_GalleryDetailBLL.NewPeriodsNumber();
  202. if (periodsNumber == 0)
  203. {
  204. periodsNumber = tk_GalleryDetailBLL.NewPeriodsNumber();
  205. }
  206. if (gallid.Count > 0)
  207. {
  208. qDetailList = tk_GalleryDetailBLL.QueryDetailByGalleryId(gallid, periodsNumber);
  209. }
  210. List<ImageMenuInfoModel> rtdata = new List<ImageMenuInfoModel>();
  211. List<ImageMenuInfoModel> tplist = new List<ImageMenuInfoModel>();
  212. IEnumerator<Tk_Gallery> enumerator = list.GetEnumerator();
  213. while (enumerator.MoveNext())
  214. {
  215. ImageMenuInfoModel tmp = new ImageMenuInfoModel()
  216. {
  217. GalleryNumStr = enumerator.Current.AreaCode + GetGallerNum(enumerator.Current.GalleryNumber.Value),
  218. GalleryName = enumerator.Current.GalleryName,
  219. AreaCode = enumerator.Current.AreaCode,
  220. CreateTime = enumerator.Current.CreateTime.ToString(),
  221. GalleryNumber = enumerator.Current.GalleryNumber.Value,
  222. HotNumber = enumerator.Current.HotNumber.Value,
  223. ID = enumerator.Current.ID,
  224. Reamrk = enumerator.Current.Reamrk
  225. };
  226. List<Tk_GalleryDetail> qtmp = qDetailList.Where(w => w.GalleryId == tmp.ID && w.PeriodsNumber == periodsNumber.ToString()).ToList();
  227. if (qtmp.Count > 0)
  228. {
  229. tmp.ImageUrl = qtmp[0].ImageUrl;
  230. tmp.HasImage = 1;
  231. }
  232. tplist.Add(tmp);
  233. }
  234. // rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序
  235. List<ImageMenuInfoModel> alist = tplist.Where(w => w.AreaCode == "A").OrderBy(o => o.GalleryNumber).ToList();
  236. List<ImageMenuInfoModel> blist = tplist.Where(w => w.AreaCode == "B").OrderBy(o => o.GalleryNumber).ToList();
  237. List<ImageMenuInfoModel> clist = tplist.Where(w => w.AreaCode == "C").OrderBy(o => o.GalleryNumber).ToList();
  238. rtdata.AddRange(alist);
  239. rtdata.AddRange(blist);
  240. rtdata.AddRange(clist);
  241. return rtdata;
  242. }
  243. /// <summary>
  244. /// 查询图谜包
  245. /// </summary>
  246. /// <param name="count"></param>
  247. /// <returns></returns>
  248. public static List<Tk_Gallery> QueryImgMystery(int count)
  249. {
  250. //string sql = string.Format("");
  251. //return this.BaseRepository().FindList(sql).ToList();
  252. return null;
  253. }
  254. /// <summary>
  255. /// 查询最新的
  256. /// </summary>
  257. /// <returns></returns>
  258. public static List<ImageMenuInfoModel> QueryNew(int page, int rows, out int totalrows, out int totalpage, int periodsNumber)
  259. {
  260. Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL();
  261. Tk_GalleryBLL tk_GalleryBLL = new Tk_GalleryBLL();
  262. Pagination pageparam = new Pagination()
  263. {
  264. page = page,
  265. sidx = "GalleryNumber",
  266. rows = rows,
  267. sord = "asc"
  268. };
  269. List<Tk_Gallery> list = tk_GalleryBLL.GetPageList(pageparam, "").ToList();
  270. IEnumerator<Tk_Gallery> enumerator = list.GetEnumerator();
  271. totalrows = pageparam.records;
  272. totalpage = pageparam.total;
  273. List<string> gallid = list.Select(s => s.ID).ToList();
  274. List<Tk_GalleryDetail> qDetailList = new List<Tk_GalleryDetail>();
  275. if (periodsNumber == 0)
  276. {
  277. periodsNumber = tk_GalleryDetailBLL.NewPeriodsNumber();
  278. }
  279. if (gallid.Count > 0)
  280. {
  281. qDetailList = tk_GalleryDetailBLL.QueryDetailByGalleryId(gallid, periodsNumber);
  282. }
  283. List<ImageMenuInfoModel> rtdata = new List<ImageMenuInfoModel>();
  284. List<ImageMenuInfoModel> tplist = new List<ImageMenuInfoModel>();
  285. while (enumerator.MoveNext())
  286. {
  287. ImageMenuInfoModel tmp = new ImageMenuInfoModel()
  288. {
  289. GalleryNumStr = enumerator.Current.AreaCode + GetGallerNum(enumerator.Current.GalleryNumber.Value),
  290. GalleryName = enumerator.Current.GalleryName,
  291. AreaCode = enumerator.Current.AreaCode,
  292. CreateTime = enumerator.Current.CreateTime.ToString(),
  293. GalleryNumber = enumerator.Current.GalleryNumber.Value,
  294. HotNumber = enumerator.Current.HotNumber.Value,
  295. ID = enumerator.Current.ID,
  296. Reamrk = enumerator.Current.Reamrk
  297. };
  298. List<Tk_GalleryDetail> qtmp = qDetailList.Where(w => w.GalleryId == tmp.ID && w.PeriodsNumber == periodsNumber.ToString()).ToList();
  299. if (qtmp.Count > 0)
  300. {
  301. tmp.ImageUrl = qtmp[0].ImageUrl;
  302. tmp.HasImage = 1;
  303. }
  304. tplist.Add(tmp);
  305. }
  306. List<ImageMenuInfoModel> alist = tplist.Where(w => w.AreaCode == "A").OrderBy(o => o.GalleryNumber).ToList();
  307. List<ImageMenuInfoModel> blist = tplist.Where(w => w.AreaCode == "B").OrderBy(o => o.GalleryNumber).ToList();
  308. List<ImageMenuInfoModel> clist = tplist.Where(w => w.AreaCode == "C").OrderBy(o => o.GalleryNumber).ToList();
  309. rtdata.AddRange(alist);
  310. rtdata.AddRange(blist);
  311. rtdata.AddRange(clist);
  312. return rtdata;
  313. // rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序
  314. }
  315. /// <summary>
  316. /// 查询图谜实体
  317. /// </summary>
  318. /// <param name="artInfoParams"></param>
  319. /// <returns></returns>
  320. public static ImageInfoModel QueryArtInfo(ArtInfoParams artInfoParams)
  321. {
  322. Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL();
  323. string json = artInfoParams.TryToJson();
  324. List<Tk_GalleryDetail> list = tk_GalleryDetailBLL.GetPageList(new Pagination() { page = 1, rows = 1, sidx = "PeriodsNumber", sord = "desc" }, json).ToList();
  325. ImageInfoModel rtdata = new ImageInfoModel();
  326. if (list.Count > 0)
  327. {
  328. rtdata = new ImageInfoModel()
  329. {
  330. galleryId = list[0].GalleryId,
  331. SortCode = list[0].SortCode.Value,
  332. ID = list[0].ID,
  333. ImageUrl = list[0].ImageUrl,
  334. PeriodsNumber = list[0].PeriodsNumber
  335. };
  336. }
  337. return rtdata;
  338. }
  339. public static ImageInfoModel NewArtList(ArtInfoParams artInfoParams)
  340. {
  341. Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL();
  342. string json = artInfoParams.TryToJson();
  343. List<Tk_GalleryDetail> list = tk_GalleryDetailBLL.GetPageList(new Pagination() { page = 1, rows = 1, sidx = "PeriodsNumber", sord = "desc" }, json).ToList();
  344. ImageInfoModel rtdata = new ImageInfoModel();
  345. if (list.Count > 0)
  346. {
  347. rtdata = new ImageInfoModel()
  348. {
  349. PeriodsNumber = list[0].PeriodsNumber
  350. };
  351. }
  352. // rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序
  353. return rtdata;
  354. }
  355. public static int MenuNewPeriodsNumber(string menuname)
  356. {
  357. Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL();
  358. return tk_GalleryDetailBLL.MenuNewPeriodsNumber(menuname);
  359. }
  360. }
  361. }