UserOnlineLogController.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using Microsoft.AspNetCore.Mvc;
  2. using ZR.Model.Dto;
  3. using ZR.ServiceCore.Monitor.IMonitorService;
  4. //创建时间:2024-03-27
  5. namespace ZR.Admin.WebApi.Controllers
  6. {
  7. /// <summary>
  8. /// 用户在线时长
  9. /// </summary>
  10. [ApiExplorerSettings(GroupName = "sys")]
  11. [Route("monitor/UserOnlineLog")]
  12. public class UserOnlineLogController : BaseController
  13. {
  14. /// <summary>
  15. /// 用户在线时长接口
  16. /// </summary>
  17. private readonly IUserOnlineLogService _UserOnlineLogService;
  18. public UserOnlineLogController(IUserOnlineLogService UserOnlineLogService)
  19. {
  20. _UserOnlineLogService = UserOnlineLogService;
  21. }
  22. /// <summary>
  23. /// 查询用户在线时长列表
  24. /// </summary>
  25. /// <param name="parm"></param>
  26. /// <returns></returns>
  27. [HttpGet("list")]
  28. //[ActionPermissionFilter(Permission = "useronlinelog:list")]
  29. public IActionResult QueryUserOnlineLog([FromQuery] UserOnlineLogQueryDto parm)
  30. {
  31. var response = _UserOnlineLogService.GetList(parm);
  32. return SUCCESS(response);
  33. }
  34. /// <summary>
  35. /// 删除用户在线时长
  36. /// </summary>
  37. /// <returns></returns>
  38. [HttpDelete("delete/{ids}")]
  39. [ActionPermissionFilter(Permission = "useronlinelog:delete")]
  40. [Log(Title = "用户在线时长", BusinessType = BusinessType.DELETE)]
  41. public IActionResult DeleteUserOnlineLog([FromRoute]string ids)
  42. {
  43. var idArr = Tools.SplitAndConvert<long>(ids);
  44. return ToResponse(_UserOnlineLogService.Delete(idArr));
  45. }
  46. /// <summary>
  47. /// 导出用户在线时长
  48. /// </summary>
  49. /// <returns></returns>
  50. [Log(Title = "用户在线时长", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
  51. [HttpGet("export")]
  52. [ActionPermissionFilter(Permission = "useronlinelog:export")]
  53. public IActionResult Export([FromQuery] UserOnlineLogQueryDto parm)
  54. {
  55. parm.PageNum = 1;
  56. parm.PageSize = 100000;
  57. var list = _UserOnlineLogService.ExportList(parm).Result;
  58. if (list == null || list.Count <= 0)
  59. {
  60. return ToResponse(ResultCode.FAIL, "没有要导出的数据");
  61. }
  62. var result = ExportExcelMini(list, "用户在线时长", "用户在线时长");
  63. return ExportExcel(result.Item2, result.Item1);
  64. }
  65. }
  66. }