EapDataCollectBll.cs 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. using Cksoft.Data;
  2. using Cksoft.Data.Repository;
  3. using Cksoft.Unity;
  4. using Cksoft.Unity.Log4NetConfig;
  5. using DllEapDal;
  6. using DllEapDal.OFILM;
  7. using Hangfire.Pro;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Text;
  11. using System.Threading;
  12. using System.Threading.Tasks;
  13. namespace DllEapBll
  14. {
  15. public class EapDataCollectBll
  16. {
  17. public static async Task CollectEapData()
  18. {
  19. EapDataCollectBll bll = new EapDataCollectBll();
  20. bll.DoCollectEapData();
  21. }
  22. public static async Task HandleFailCollection()
  23. {
  24. EapDataCollectBll bll = new EapDataCollectBll();
  25. bll.DoHandledFailCollection();
  26. }
  27. public static async Task PushBIStatusData()
  28. {
  29. EapDataCollectBll bll = new EapDataCollectBll();
  30. bll.DoPushBIStatusData();
  31. }
  32. [Mutex("PushBIOutput")]
  33. public static async Task PushBIOutput()
  34. {
  35. EapDataCollectBll bll = new EapDataCollectBll();
  36. bll.DoPushBIOutput();
  37. }
  38. public static async Task PushBIFailedStatus()
  39. {
  40. EapDataCollectBll bll = new EapDataCollectBll();
  41. bll.DoPushFailedBiStatus();
  42. }
  43. public void DoCollectEapData()
  44. {
  45. Console.OutputEncoding = Encoding.Default;
  46. Console.WriteLine("开始执行");
  47. IDatabase eapdb = null;
  48. try
  49. {
  50. eapdb = DbFactory.Base("eap");
  51. eapdb.BeginTrans();
  52. var dal = new McaEventStatisticByDayDal(eapdb);
  53. string error = string.Empty;
  54. if (dal.Async(DateTime.Now, ref error) < 0)
  55. {
  56. eapdb.Rollback();
  57. Console.WriteLine(error);
  58. return;
  59. }
  60. eapdb.Commit();
  61. Console.WriteLine("汇总成功");
  62. }
  63. catch (Exception e)
  64. {
  65. if (eapdb != null)
  66. eapdb.Rollback();
  67. Console.WriteLine(e.StackTrace);
  68. Console.WriteLine(e.Message);
  69. }
  70. finally
  71. {
  72. if (eapdb != null)
  73. {
  74. eapdb.Close();
  75. }
  76. }
  77. }
  78. public void DoHandledFailCollection()
  79. {
  80. var connStr = AppConfigurtaionServices.Configuration["eap:ConnectionStrings"];
  81. Task.Run(() =>
  82. {
  83. while (true)
  84. {
  85. LogHelper<EapDataCollectBll>.LogFatal("开始处理汇总失败记录---------", "EapAsync", string.Empty);
  86. string errorinfo = string.Empty;
  87. using (IDatabase db = DbFactory.Base(connStr, DatabaseType.MySql))
  88. {
  89. var dal = new McaEventStatisticByDayDal(db);
  90. dal.AsyncFails(connStr, DatabaseType.MySql, ref errorinfo);
  91. }
  92. Thread.Sleep(1000 * 60 * 60);
  93. }
  94. });
  95. }
  96. /// <summary>
  97. /// 推送欧菲光BI大数据平台需要的数据
  98. /// </summary>
  99. public void DoPushBIStatusData()
  100. {
  101. Console.OutputEncoding = Encoding.Default;
  102. Console.WriteLine("开始执行");
  103. IDatabase eapdb = null;
  104. try
  105. {
  106. eapdb = DbFactory.Base("eap");
  107. eapdb.BeginTrans();
  108. var dal = new BICollectDal(eapdb);
  109. string error = string.Empty;
  110. if (dal.CollectMacStatus(ref error) < 0)
  111. {
  112. eapdb.Rollback();
  113. Console.WriteLine(error);
  114. return;
  115. }
  116. eapdb.Commit();
  117. Console.WriteLine("汇总成功");
  118. }
  119. catch (Exception e)
  120. {
  121. if (eapdb != null)
  122. eapdb.Rollback();
  123. Console.WriteLine(e.StackTrace);
  124. Console.WriteLine(e.Message);
  125. }
  126. finally
  127. {
  128. if (eapdb != null)
  129. {
  130. eapdb.Close();
  131. }
  132. }
  133. }
  134. public void DoPushBIOutput()
  135. {
  136. Console.OutputEncoding = Encoding.Default;
  137. Console.WriteLine("开始执行");
  138. IDatabase eapdb = null;
  139. try
  140. {
  141. eapdb = DbFactory.Base("eap");
  142. eapdb.BeginTrans();
  143. var dal = new BICollectDal(eapdb);
  144. string error = string.Empty;
  145. Thread.Sleep(120 * 1000);
  146. if (dal.CollectOutput(2, ref error) < 0)
  147. {
  148. eapdb.Rollback();
  149. Console.WriteLine(error);
  150. return;
  151. }
  152. eapdb.Commit();
  153. Console.WriteLine("推送成功");
  154. }
  155. catch (Exception e)
  156. {
  157. if (eapdb != null)
  158. eapdb.Rollback();
  159. Console.WriteLine(e.StackTrace);
  160. Console.WriteLine(e.Message);
  161. }
  162. finally
  163. {
  164. if (eapdb != null)
  165. {
  166. eapdb.Close();
  167. }
  168. }
  169. }
  170. public async void DoPushFailedBiStatus()
  171. {
  172. Console.OutputEncoding = Encoding.Default;
  173. Console.WriteLine("开始执行");
  174. IDatabase eapdb = null;
  175. try
  176. {
  177. eapdb = DbFactory.Base("eap");
  178. eapdb.BeginTrans();
  179. var dal = new BICollectDal(eapdb);
  180. string error = string.Empty;
  181. if (!await dal.PushFailedDatas(error))
  182. {
  183. eapdb.Rollback();
  184. Console.WriteLine(error);
  185. return;
  186. }
  187. eapdb.Commit();
  188. Console.WriteLine("推送成功");
  189. }
  190. catch (Exception e)
  191. {
  192. if (eapdb != null)
  193. eapdb.Rollback();
  194. Console.WriteLine(e.StackTrace);
  195. Console.WriteLine(e.Message);
  196. }
  197. finally
  198. {
  199. if (eapdb != null)
  200. {
  201. eapdb.Close();
  202. }
  203. }
  204. }
  205. }
  206. }