LotterySkillController.cs 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. using System;
  2. using System.Data;
  3. using System.Net.Http;
  4. using System.Web.Http;
  5. using Lottomat.Application.Busines.CommonManage;
  6. using Lottomat.Application.Code;
  7. using Lottomat.Application.Entity.CommonEntity;
  8. using Lottomat.Application.Entity.LotteryNumberManage.Parameter;
  9. using Lottomat.Application.Entity.LotteryNumberManage.ViewModel;
  10. using Lottomat.SOA.API.Caching;
  11. using Lottomat.SOA.API.Controllers.Base;
  12. using Lottomat.Util.Extension;
  13. namespace Lottomat.SOA.API.Controllers.V1
  14. {
  15. /// <summary>
  16. /// 彩种技巧
  17. /// </summary>
  18. public class LotterySkillController : BaseApiController
  19. {
  20. private static readonly CommonBLL commonBll = new CommonBLL();
  21. /// <summary>
  22. /// 根据Id获取彩种技巧详情
  23. /// </summary>
  24. /// <param name="arg"></param>
  25. /// <returns></returns>
  26. [HttpPost]
  27. public HttpResponseMessage GetLotterySkillById(GetLotterySkillArgEntity arg)
  28. {
  29. var resultMsg = new BaseJson<LotterySkillListViewEntity>
  30. {
  31. Status = (int)JsonObjectStatus.Error,
  32. Message = "服务器未知错误。",
  33. Data = null
  34. };
  35. Logger(typeof(LotterySkillController), arg.TryToJson(), "根据Id获取彩种技巧详情-GetLotterySkillById", () =>
  36. {
  37. if (!string.IsNullOrEmpty(arg.t))
  38. if (arg.t.CheckTimeStamp())
  39. {
  40. DataTable data = null;
  41. string key = $"GetLotterySkillById/{arg.LotteryCode}/{arg.Id}";
  42. if (webCache.IsExist(key))
  43. {
  44. data = webCache.GetObject<DataTable>(key) as DataTable;
  45. }
  46. else
  47. {
  48. var sql = $"SELECT [Content],[Title],[Author],[AddTime] FROM [dbo].[B_LotterySkill] WHERE IsDelete = 0 AND [TypeId] = {(int)arg.LotteryCode} AND [PK] = {arg.Id}";
  49. data = commonBll.ExcuteSqlDataTable(sql);
  50. webCache.AddObject(key, data, (int)CacheTime.Data);
  51. }
  52. if (data.IsExistRows())
  53. {
  54. var res = data.DataTableToObject<LotterySkillListViewEntity>();
  55. resultMsg = new BaseJson<LotterySkillListViewEntity>
  56. {
  57. Status = (int)JsonObjectStatus.Success,
  58. Data = res,
  59. Message = JsonObjectStatus.Success.GetEnumText(),
  60. BackUrl = null
  61. };
  62. }
  63. else
  64. {
  65. resultMsg = new BaseJson<LotterySkillListViewEntity>
  66. {
  67. Status = (int)JsonObjectStatus.Success,
  68. Data = null,
  69. Message = JsonObjectStatus.Success.GetEnumText(),
  70. BackUrl = null
  71. };
  72. }
  73. }
  74. else
  75. {
  76. resultMsg = new BaseJson<LotterySkillListViewEntity>
  77. {
  78. Status = (int)JsonObjectStatus.Fail,
  79. Data = null,
  80. Message = JsonObjectStatus.Fail.GetEnumText() + ",无效参数。",
  81. BackUrl = null
  82. };
  83. }
  84. else
  85. resultMsg = new BaseJson<LotterySkillListViewEntity>
  86. {
  87. Status = (int)JsonObjectStatus.Fail,
  88. Data = null,
  89. Message = JsonObjectStatus.Fail.GetEnumText() + ",请求参数为空。",
  90. BackUrl = null
  91. };
  92. }, e =>
  93. {
  94. resultMsg = new BaseJson<LotterySkillListViewEntity>
  95. {
  96. Status = (int)JsonObjectStatus.Exception,
  97. Data = null,
  98. Message = JsonObjectStatus.Exception.GetEnumText() + ",异常信息:" + e.Message,
  99. BackUrl = null
  100. };
  101. });
  102. return resultMsg.TryToJson().ToHttpResponseMessage();
  103. }
  104. /// <summary>
  105. /// 获取彩种技巧列表
  106. /// </summary>
  107. /// <returns></returns>
  108. [HttpPost]
  109. public HttpResponseMessage GetLotterySkillList(GetLotterySkillListArgEntity arg)
  110. {
  111. var resultMsg = new BaseJson4Page<LotterySkillListViewEntity>
  112. {
  113. Status = (int)JsonObjectStatus.Error,
  114. Message = "服务器未知错误。",
  115. Data = null
  116. };
  117. Logger(typeof(LotterySkillController), arg.TryToJson(), "获取彩种技巧列表-GetLotterySkillList", () =>
  118. {
  119. if (!string.IsNullOrEmpty(arg.t))
  120. if (arg.t.CheckTimeStamp())
  121. {
  122. DataTablePagerCache<DataTable> tablePager = null;
  123. string key = $"GetLotterySkillList/{arg.LotteryCode}/{arg.PageIndex}/{arg.PageSize}";
  124. if (webCache.IsExist(key))
  125. {
  126. tablePager = webCache.GetObject<DataTablePagerCache<DataTable>>(key) as DataTablePagerCache<DataTable>;
  127. }
  128. else
  129. {
  130. var sql = $"SELECT [PK],[TypeName],[TypeId],[Title],[AddTime] FROM [dbo].[B_LotterySkill] WHERE IsDelete = 0 AND TypeId = {(int)arg.LotteryCode}";
  131. DataTable table = commonBll.FindPageDataTable(sql, "AddTime", false, arg.PageSize, arg.PageIndex,
  132. out var total);
  133. tablePager = new DataTablePagerCache<DataTable>() { Total = total, Table = table };
  134. webCache.AddObject(key, tablePager, (int)CacheTime.Data);
  135. }
  136. DataTable data = null;
  137. int recordTotal = 0;
  138. if (tablePager != null && tablePager.Table != null)
  139. {
  140. recordTotal = tablePager.Total;
  141. data = tablePager.Table;
  142. }
  143. else
  144. {
  145. data = new DataTable();
  146. }
  147. if (data.IsExistRows())
  148. {
  149. var res = data.DataTableToList<LotterySkillListViewEntity>();
  150. foreach (var item in res)
  151. {
  152. item.TypeCode = arg.LotteryCode.ToString();
  153. }
  154. var pageData = new PageData<LotterySkillListViewEntity>
  155. {
  156. TotalRow = recordTotal,
  157. TotalPage = (int)Math.Floor(recordTotal * 1.0 / arg.PageSize) + 1,
  158. PageIndex = arg.PageIndex,
  159. Rows = res
  160. };
  161. resultMsg = new BaseJson4Page<LotterySkillListViewEntity>
  162. {
  163. Status = (int)JsonObjectStatus.Success,
  164. Data = pageData,
  165. Message = JsonObjectStatus.Success.GetEnumText(),
  166. BackUrl = null
  167. };
  168. }
  169. else
  170. {
  171. resultMsg = new BaseJson4Page<LotterySkillListViewEntity>
  172. {
  173. Status = (int)JsonObjectStatus.Success,
  174. Data = null,
  175. Message = JsonObjectStatus.Success.GetEnumText(),
  176. BackUrl = null
  177. };
  178. }
  179. }
  180. else
  181. {
  182. resultMsg = new BaseJson4Page<LotterySkillListViewEntity>
  183. {
  184. Status = (int)JsonObjectStatus.Fail,
  185. Data = null,
  186. Message = JsonObjectStatus.Fail.GetEnumText() + ",无效参数。",
  187. BackUrl = null
  188. };
  189. }
  190. else
  191. resultMsg = new BaseJson4Page<LotterySkillListViewEntity>
  192. {
  193. Status = (int)JsonObjectStatus.Fail,
  194. Data = null,
  195. Message = JsonObjectStatus.Fail.GetEnumText() + ",请求参数为空。",
  196. BackUrl = null
  197. };
  198. }, e =>
  199. {
  200. resultMsg = new BaseJson4Page<LotterySkillListViewEntity>
  201. {
  202. Status = (int)JsonObjectStatus.Exception,
  203. Data = null,
  204. Message = JsonObjectStatus.Exception.GetEnumText() + ",异常信息:" + e.Message,
  205. BackUrl = null
  206. };
  207. });
  208. return resultMsg.TryToJson().ToHttpResponseMessage();
  209. }
  210. }
  211. }