using Dlhis.Entity.Common; using Kurisu.SqlSugar.Services; using SqlSugar; namespace Dlhis.ScheduledTask.CommonJobs; public class DelApiLogTaskJob { private readonly IDbContext _dbContext; private readonly Logger _logger; public DelApiLogTaskJob(IDbContext dbContext, Logger logger) { _dbContext = dbContext; _logger = logger; } public async Task RunAsync() { try { DateTime now = DateTime.Now; DateTime todayStart = now.Date; DateTime threeDaysAgoStart = todayStart.AddDays(-3); var logs = await _dbContext.ChangeDb("log") .Queryable() .Where(x => x._ts <= threeDaysAgoStart) .Select(x => x.Id) .ToListAsync(); var lst = new List(); foreach (var id in logs) { var entity = new ApiLogEntity { Id = id, }; lst.Add(entity); } await _dbContext.ChangeDb("log").DeleteReallyAsync(lst); } catch (Exception ex) { _logger.LogError(ex, "删除日志异常:{message}", ex.Message); } } }