選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

LogController.cs 11 KiB

2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. using DataVAPI.Model;
  2. using DataVAPI.ModelDataBus;
  3. using DataVAPI.ServerDB.MongoDB;
  4. using DataVAPI.Tool.IOT;
  5. using DataVAPI.UpAndDown;
  6. using Microsoft.AspNetCore.Mvc;
  7. using System;
  8. using System.Collections.Generic;
  9. using static AlibabaCloud.SDK.Iot20180120.Models.QueryDeviceFileResponseBody;
  10. namespace DataVAPI.Controllers
  11. {
  12. /// <summary>
  13. /// MG数据库:日志表 LogTable
  14. /// </summary>
  15. public class LogController : BaseController
  16. {
  17. MongoDbHelper<LogTable> mg = new MongoDbHelper<LogTable>(DataBus.connStr, DataBus.dbName);
  18. MongoDbHelper<DeviceTable> mgsb = new MongoDbHelper<DeviceTable>(DataBus.connStr, DataBus.dbName);
  19. string st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  20. /// <summary>
  21. /// 新增一条数据
  22. /// </summary>
  23. [HttpPost]
  24. public JsonMsg<LogTable> Create(LogTable auth)
  25. {
  26. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  27. try
  28. {
  29. if (string.IsNullOrEmpty(auth.ClientId))
  30. {
  31. return JsonMsg<LogTable>.Error(null, st, "设备ID不能为空"); ;
  32. }
  33. mg.Insert(auth);
  34. return JsonMsg<LogTable>.OK(auth, st);
  35. }
  36. catch (Exception ex)
  37. {
  38. return JsonMsg<LogTable>.Error(null, st, ex.Message);
  39. }
  40. }
  41. /// <summary>
  42. /// 批量新增数据
  43. /// </summary>
  44. /// <param name="auth">日志消息</param>
  45. [HttpPost]
  46. public JsonMsg<List<LogTable>> Creates(List<LogTable> auth)
  47. {
  48. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  49. try
  50. {
  51. mg.Inserts(auth);
  52. return JsonMsg<List<LogTable>>.OK(auth, st);
  53. }
  54. catch (Exception ex)
  55. {
  56. return JsonMsg<List<LogTable>>.Error(null, st, ex.Message);
  57. }
  58. }
  59. /// <summary>
  60. /// 修改数据
  61. /// </summary>
  62. /// <param name="auth"></param>
  63. /// <returns></returns>
  64. [HttpPost]
  65. public JsonMsg<LogTable> Modify(LogTable auth)
  66. {
  67. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  68. try
  69. {
  70. mg.UpdateID(auth);
  71. return JsonMsg<LogTable>.OK(auth, st);
  72. }
  73. catch (Exception ex)
  74. {
  75. return JsonMsg<LogTable>.Error(null, st, ex.Message);
  76. }
  77. }
  78. /// <summary>
  79. /// 根据ID查询数据
  80. /// </summary>
  81. /// <param name="id"></param>
  82. /// <returns></returns>
  83. [HttpGet]
  84. public JsonMsg<LogTable> QueryOne(string id)
  85. {
  86. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  87. try
  88. {
  89. return JsonMsg<LogTable>.OK(mg.QueryOne(id), st);
  90. }
  91. catch (Exception ex)
  92. {
  93. return JsonMsg<LogTable>.Error(null, st, ex.Message);
  94. }
  95. }
  96. /// <summary>
  97. /// 根据客户端ID查询当日未处理信息
  98. /// </summary>
  99. /// <param name="clientId"></param>
  100. /// <returns></returns>
  101. [HttpGet]
  102. public JsonMsg<List<LogTable>> QueryClientId(string clientId)
  103. {
  104. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  105. try
  106. {
  107. return JsonMsg<List<LogTable>>.OK(mg.QueryClientId(clientId), st);
  108. }
  109. catch (Exception ex)
  110. {
  111. return JsonMsg<List<LogTable>>.Error(null, st, ex.Message);
  112. }
  113. }
  114. /// <summary>
  115. /// 根据设备ID查询当日未处理信息
  116. /// </summary>
  117. /// <param name="clientId"></param>
  118. /// <returns></returns>
  119. [HttpGet]
  120. public JsonMsg<List<LogTable>> QueryDeviceId(string clientId, string deviceId)
  121. {
  122. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  123. try
  124. {
  125. return JsonMsg<List<LogTable>>.OK(mg.QueryDeviceId(clientId, deviceId), st);
  126. }
  127. catch (Exception ex)
  128. {
  129. return JsonMsg<List<LogTable>>.Error(null, st, ex.Message);
  130. }
  131. }
  132. /// <summary>
  133. /// 根据设备名称查询当日未处理信息
  134. /// </summary>
  135. /// <param name="DeviceName"></param>
  136. /// <returns></returns>
  137. [HttpGet]
  138. public JsonMsg<List<LogTable>> QueryDeviceName(string DeviceName, string StartTime, string StopTime)
  139. {
  140. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  141. try
  142. {
  143. DeviceTable device = mgsb.QueryDeviceName(DeviceName);
  144. if (device != null)
  145. {
  146. if (!string.IsNullOrEmpty(StartTime) && !string.IsNullOrEmpty(StopTime))
  147. {
  148. DateTime starttime, stoptime;
  149. starttime = Tools.ConvertLongToDateTime(long.Parse(StartTime));
  150. stoptime = Tools.ConvertLongToDateTime(long.Parse(StopTime));
  151. return JsonMsg<List<LogTable>>.OK(mg.QueryAllTime(device.ClientId, device.DeviceId, starttime, stoptime), st);
  152. }
  153. else return JsonMsg<List<LogTable>>.OK(mg.QueryClientId(device.ClientId), st);
  154. }
  155. return JsonMsg<List<LogTable>>.OK(null, st);
  156. }
  157. catch (Exception ex)
  158. {
  159. return JsonMsg<List<LogTable>>.Error(null, st, ex.Message);
  160. }
  161. }
  162. /// <summary>
  163. /// 根据客户端ID、设备ID、时间查询日志信息
  164. /// </summary>
  165. /// <param name="clientId">客户端ID</param>
  166. /// <param name="deviceId">设备ID</param>
  167. /// <param name="starttime">开始时间</param>
  168. /// <param name="endtime">结束时间</param>
  169. /// <returns></returns>
  170. [HttpGet]
  171. public JsonMsg<List<LogTable>> Query(string clientId, string deviceId, DateTime starttime, DateTime endtime)
  172. {
  173. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  174. try
  175. {
  176. return JsonMsg<List<LogTable>>.OK(mg.QueryAllTime(clientId, deviceId, starttime, endtime), st);
  177. }
  178. catch (Exception ex)
  179. {
  180. return JsonMsg<List<LogTable>>.Error(null, st, ex.Message);
  181. }
  182. }
  183. /// <summary>
  184. /// 分页查询
  185. /// </summary>
  186. /// <param name="chid"></param>
  187. /// <param name="datesta"></param>
  188. /// <param name="datastop"></param>
  189. /// <param name="PageNumber"></param>
  190. /// <param name="PageSize"></param>
  191. /// <returns></returns>
  192. [HttpGet]
  193. public JsonMsg<PaginationListModel<LogTable>> BasePagQuery(string clientId, string deviceId, DateTime datesta, DateTime datastop, int PageNumber = 1, int PageSize = 100)
  194. {
  195. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  196. try
  197. {
  198. return JsonMsg<PaginationListModel<LogTable>>.OK(mg.BasePagQuery(clientId, deviceId, datesta, datastop, PageNumber, PageSize), st);
  199. }
  200. catch (Exception ex)
  201. {
  202. return JsonMsg<PaginationListModel<LogTable>>.Error(null, st, ex.Message);
  203. }
  204. }
  205. /// <summary>
  206. /// 删除数据(假删除-只做标记)
  207. /// </summary>
  208. /// <param name="id"></param>
  209. /// <returns></returns>
  210. [HttpGet]
  211. public JsonMsg<string> Delete(string id)
  212. {
  213. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  214. try
  215. {
  216. if (string.IsNullOrEmpty(id))
  217. {
  218. return JsonMsg<string>.Error(null, st, "设备ID不能为空"); ;
  219. }
  220. else
  221. {
  222. mg.Modify(id, "State", "n");
  223. return JsonMsg<string>.OK("success!", st);
  224. }
  225. }
  226. catch (Exception ex)
  227. {
  228. return JsonMsg<string>.Error(null, st, ex.Message);
  229. }
  230. }
  231. /// <summary>
  232. /// 删除数据
  233. /// </summary>
  234. /// <param name="id"></param>
  235. /// <returns></returns>
  236. [HttpGet]
  237. public JsonMsg<string> DeleteDate(string id)
  238. {
  239. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  240. try
  241. {
  242. if (string.IsNullOrEmpty(id))
  243. {
  244. return JsonMsg<string>.Error(null, st, "设备ID不能为空"); ;
  245. }
  246. else
  247. {
  248. mg.Delete(id);
  249. return JsonMsg<string>.OK("success!", st);
  250. }
  251. }
  252. catch (Exception ex)
  253. {
  254. return JsonMsg<string>.Error(null, st, ex.Message);
  255. }
  256. }
  257. /// <summary>
  258. /// 查询设备所有文件
  259. /// </summary>
  260. /// <param name="DeviceName"></param>
  261. /// <returns></returns>
  262. [HttpGet]
  263. public JsonMsg<object> QueryLogFile(string DeviceName)
  264. {
  265. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  266. try
  267. {
  268. if (string.IsNullOrEmpty(DeviceName))
  269. {
  270. return JsonMsg<object>.Error(null, st, "设备名称不能为空");
  271. }
  272. else
  273. {
  274. List<QueryDeviceFileResponseBodyData> data = new List<QueryDeviceFileResponseBodyData>();
  275. try
  276. {
  277. data = Sample.FileQueryALL(DeviceName);
  278. }
  279. catch (Exception ex)
  280. {
  281. }
  282. return JsonMsg<object>.OK(data, st);
  283. }
  284. }
  285. catch (Exception ex)
  286. {
  287. return JsonMsg<object>.Error(null, st, ex.Message);
  288. }
  289. }
  290. /// <summary>
  291. /// 删除日志文件
  292. /// </summary>
  293. /// <param name="DeviceName"></param>
  294. /// <param name="FileId"></param>
  295. /// <returns></returns>
  296. [HttpGet]
  297. public JsonMsg<object> DeleteLogFile(string DeviceName, string FileId)
  298. {
  299. st = System.Reflection.MethodBase.GetCurrentMethod().Name;
  300. try
  301. {
  302. if (string.IsNullOrEmpty(DeviceName))
  303. {
  304. return JsonMsg<object>.Error(null, st, "设备名称不能为空");
  305. }
  306. else
  307. {
  308. return JsonMsg<object>.OK(Sample.DeleteFile(DeviceName, FileId), st);
  309. }
  310. }
  311. catch (Exception ex)
  312. {
  313. return JsonMsg<object>.Error(null, st, ex.Message);
  314. }
  315. }
  316. }
  317. }