SysOperlogController.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using Microsoft.AspNetCore.Mvc;
  2. using ZR.Model.System.Dto;
  3. namespace ZR.Admin.WebApi.Controllers.monitor
  4. {
  5. /// <summary>
  6. /// 操作日志记录
  7. /// </summary>
  8. [Route("/monitor/operlog")]
  9. [ApiExplorerSettings(GroupName = "sys")]
  10. public class SysOperlogController : BaseController
  11. {
  12. private ISysOperLogService sysOperLogService;
  13. public SysOperlogController(ISysOperLogService sysOperLogService)
  14. {
  15. this.sysOperLogService = sysOperLogService;
  16. }
  17. /// <summary>
  18. /// 查询操作日志
  19. /// </summary>
  20. /// <param name="sysOperLog"></param>
  21. /// <returns></returns>
  22. [HttpGet("list")]
  23. public IActionResult OperList([FromQuery] SysOperLogQueryDto sysOperLog)
  24. {
  25. sysOperLog.OperName = !HttpContextExtension.IsAdmin(HttpContext) ? HttpContextExtension.GetName(HttpContext) : sysOperLog.OperName;
  26. var list = sysOperLogService.SelectOperLogList(sysOperLog);
  27. return SUCCESS(list);
  28. }
  29. /// <summary>
  30. /// 删除操作日志
  31. /// </summary>
  32. /// <param name="operIds"></param>
  33. /// <returns></returns>
  34. [Log(Title = "操作日志", BusinessType = BusinessType.DELETE)]
  35. [ActionPermissionFilter(Permission = "monitor:operlog:delete")]
  36. [HttpDelete("{operIds}")]
  37. public IActionResult Remove(string operIds)
  38. {
  39. if (!HttpContextExtension.IsAdmin(HttpContext))
  40. {
  41. return ToResponse(ApiResult.Error("操作失败"));
  42. }
  43. long[] operIdss = Tools.SpitLongArrary(operIds);
  44. return SUCCESS(sysOperLogService.DeleteOperLogByIds(operIdss));
  45. }
  46. /// <summary>
  47. /// 清空操作日志
  48. /// </summary>
  49. /// <returns></returns>
  50. [Log(Title = "清空操作日志", BusinessType = BusinessType.CLEAN)]
  51. [ActionPermissionFilter(Permission = "monitor:operlog:delete")]
  52. [HttpDelete("clean")]
  53. public IActionResult ClearOperLog()
  54. {
  55. if (!HttpContextExtension.IsAdmin(HttpContext))
  56. {
  57. return ToResponse(ResultCode.CUSTOM_ERROR,"操作失败");
  58. }
  59. sysOperLogService.CleanOperLog();
  60. return SUCCESS(1);
  61. }
  62. /// <summary>
  63. /// 导出操作日志
  64. /// </summary>
  65. /// <returns></returns>
  66. [Log(Title = "操作日志", BusinessType = BusinessType.EXPORT)]
  67. [ActionPermissionFilter(Permission = "monitor:operlog:export")]
  68. [HttpGet("export")]
  69. public IActionResult Export([FromQuery] SysOperLogQueryDto sysOperLog)
  70. {
  71. sysOperLog.PageSize = 100000;
  72. var list = sysOperLogService.SelectOperLogList(sysOperLog);
  73. var result = ExportExcelMini(list.Result, "操作日志", "操作日志");
  74. return ExportExcel(result.Item2, result.Item1);
  75. }
  76. }
  77. }