diff --git a/Src/Dlhis.Basic/Common/ApiLog/Services/ApiLogService.cs b/Src/Dlhis.Basic/Common/ApiLog/Services/ApiLogService.cs index bbf0ea41..8474b220 100644 --- a/Src/Dlhis.Basic/Common/ApiLog/Services/ApiLogService.cs +++ b/Src/Dlhis.Basic/Common/ApiLog/Services/ApiLogService.cs @@ -2,35 +2,40 @@ using Dlhis.Basic.Common.ApiLog.Response; using Dlhis.Basic.Common.ApiLog.Services.Implements; using Dlhis.Entity.Common; +using Kurisu.AspNetCore.CustomClass; using Kurisu.AspNetCore.DataAccess.Dto; using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions; using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; using Kurisu.AspNetCore.Utils.Extensions; using SqlSugar; -namespace Dlhis.Basic.Common.ApiLog.Services +namespace Dlhis.Basic.Common.ApiLog.Services; + +public class ApiLogService : IApiLogService { - public class ApiLogService : IApiLogService + private readonly IDbContext _dbContext; + + public ApiLogService(IDbContext dbContext) { - private readonly IDbContext _dbContext; + _dbContext = dbContext; + } - public ApiLogService(IDbContext dbContext) + public async Task> GetLogsAsync(ApiLogRequest request) + { + var logs = await _dbContext.ChangeDb("log").Queryable() + .WhereIF(request.SearchDateTimePeriod.HasValue(), x => x._ts >= request.SearchDateTimePeriod.Start && x._ts <= request.SearchDateTimePeriod.End) + .WhereIF(request.Level.HasValue, x => x.Level == request.Level) + .WhereIF(request.Search.IsPresent(), x => x.Message.Contains(request.Search)) + .OrderBy(x => x._ts, OrderByType.Desc) + .Select() + .ToPageListAsync(request.PageIndex, request.PageSize); + + return new Pagination { - _dbContext = dbContext; - } - - public async Task> GetLogsAsync(ApiLogRequest request) - { - var logs = await _dbContext.ChangeDb("log").Queryable() - .WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true && request.SearchDateTimePeriod?.End.HasValue == true, - x => x._ts >= request.SearchDateTimePeriod.Start && x._ts <= request.SearchDateTimePeriod.End) - .WhereIF(request.Search.IsPresent(), x => x.Message.Contains(request.Search)) - .WhereIF(request.Level.HasValue, x => x.Level == request.Level) - .OrderBy(x => x.Timestamp, OrderByType.Desc) - .Select() - .ToPageListAsync(request); - - return logs; - } + PageIndex = request.PageIndex, + PageSize = request.PageSize, + Total = 0, + Data = logs + }; } } \ No newline at end of file