using Microsoft.AspNetCore.Mvc; using ZR.Model.System.Dto; namespace ZR.Admin.WebApi.Controllers.monitor { /// /// 操作日志记录 /// [Route("/monitor/operlog")] [ApiExplorerSettings(GroupName = "sys")] public class SysOperlogController : BaseController { private ISysOperLogService sysOperLogService; public SysOperlogController(ISysOperLogService sysOperLogService) { this.sysOperLogService = sysOperLogService; } /// /// 查询操作日志 /// /// /// [HttpGet("list")] public IActionResult OperList([FromQuery] SysOperLogQueryDto sysOperLog) { sysOperLog.OperName = !HttpContextExtension.IsAdmin(HttpContext) ? HttpContextExtension.GetName(HttpContext) : sysOperLog.OperName; var list = sysOperLogService.SelectOperLogList(sysOperLog); return SUCCESS(list); } /// /// 删除操作日志 /// /// /// [Log(Title = "操作日志", BusinessType = BusinessType.DELETE)] [ActionPermissionFilter(Permission = "monitor:operlog:delete")] [HttpDelete("{operIds}")] public IActionResult Remove(string operIds) { if (!HttpContextExtension.IsAdmin(HttpContext)) { return ToResponse(ApiResult.Error("操作失败")); } long[] operIdss = Tools.SpitLongArrary(operIds); return SUCCESS(sysOperLogService.DeleteOperLogByIds(operIdss)); } /// /// 清空操作日志 /// /// [Log(Title = "清空操作日志", BusinessType = BusinessType.CLEAN)] [ActionPermissionFilter(Permission = "monitor:operlog:delete")] [HttpDelete("clean")] public IActionResult ClearOperLog() { if (!HttpContextExtension.IsAdmin(HttpContext)) { return ToResponse(ResultCode.CUSTOM_ERROR,"操作失败"); } sysOperLogService.CleanOperLog(); return SUCCESS(1); } /// /// 导出操作日志 /// /// [Log(Title = "操作日志", BusinessType = BusinessType.EXPORT)] [ActionPermissionFilter(Permission = "monitor:operlog:export")] [HttpGet("export")] public IActionResult Export([FromQuery] SysOperLogQueryDto sysOperLog) { sysOperLog.PageSize = 100000; var list = sysOperLogService.SelectOperLogList(sysOperLog); var result = ExportExcelMini(list.Result, "操作日志", "操作日志"); return ExportExcel(result.Item2, result.Item1); } } }