using Microsoft.AspNetCore.Mvc;
using QYZH.InteractiveMagazine.IService;
using QYZH.InteractiveMagazine.Models.Common;
using QYZH.InteractiveMagazine.Models.Dto;
namespace QYZH.InteractiveMagazine.WebApi.Controllers;
///
/// 操作日志控制器
///
[Route("api/[controller]")]
[ApiController]
public class OperationLogController : BaseController
{
private readonly IOperationLogService _operationLogService;
private readonly ILogger _logger;
public OperationLogController(IOperationLogService operationLogService, ILogger logger)
{
_operationLogService = operationLogService;
_logger = logger;
}
///
/// 分页查询操作日志
///
[HttpPost("list")]
public async Task>> GetList([FromBody] OperationLogQueryInput input)
{
try
{
var result = await _operationLogService.GetListAsync(input);
return Success(result);
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "查询操作日志业务异常: {Message}", ex.Message);
return BaseResponse>.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "查询操作日志系统异常");
return BaseResponse>.Fail("查询操作日志失败,请稍后重试");
}
}
///
/// 获取操作日志详情
///
[HttpGet("{id}")]
public async Task> GetDetail(long id)
{
try
{
var result = await _operationLogService.GetDetailAsync(id);
return Success(result);
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "查询操作日志详情业务异常: {Message}", ex.Message);
return BaseResponse.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "查询操作日志详情系统异常");
return BaseResponse.Fail("查询操作日志详情失败,请稍后重试");
}
}
}