You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.2 KiB
C#
57 lines
2.2 KiB
C#
|
|
|
|
using Furion.DependencyInjection;
|
|
using Furion.DynamicApiController;
|
|
using Myshipping.Core.Entity;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SqlSugar;
|
|
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Myshipping.Core.Service;
|
|
|
|
/// <summary>
|
|
/// 异常日志服务
|
|
/// </summary>
|
|
[ApiDescriptionSettings(Name = "ExLog", Order = 100)]
|
|
public class SysExLogService : ISysExLogService, IDynamicApiController, ITransient
|
|
{
|
|
private readonly SqlSugarRepository<SysLogEx> _sysExLogRep; // 操作日志表仓储
|
|
|
|
public SysExLogService(SqlSugarRepository<SysLogEx> sysExLogRep)
|
|
{
|
|
_sysExLogRep = sysExLogRep;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分页查询异常日志
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("/sysExLog/page")]
|
|
public async Task<dynamic> QueryExLogPageList([FromQuery] ExLogInput input)
|
|
{
|
|
var exLogs = await _sysExLogRep.AsQueryable()
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.ClassName), u => u.ClassName == input.ClassName)
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.MethodName), u => u.MethodName == input.MethodName)
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.ExceptionMsg), u => u.ExceptionMsg.Contains(input.ExceptionMsg.Trim()))
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.SearchBeginTime), u => u.ExceptionTime >= DateTime.Parse(input.SearchBeginTime.Trim()) &&
|
|
u.ExceptionTime <= DateTime.Parse(input.SearchEndTime.Trim()))
|
|
.OrderBy(u => u.Id, OrderByType.Desc)
|
|
.Select<ExLogOutput>()
|
|
.ToPagedListAsync(input.PageNo, input.PageSize);
|
|
return exLogs.XnPagedResult();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 清空异常日志
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost("/sysExLog/delete")]
|
|
public async Task ClearExLog()
|
|
{
|
|
await _sysExLogRep.DeleteAsync(m => true);
|
|
}
|
|
}
|