using Microsoft.Extensions.DependencyInjection;
using Quartz;
using Wood.Data.Repository;
using Wood.Entity.SystemManage;
using Wood.Util;
namespace Wood.AutoJob
{
///
/// 日志清理job
///
[JobDetail(JobId = "job_DBLogClear", GroupName = "system", Description = "清理日志")]
[PeriodMinutes(480, TriggerId = "trigger_DBLogClear")]
[DisallowConcurrentExecution]
public class DBLogClearJob : AutoJobTask
{
public override async Task Run(IJobExecutionContext context, IServiceProvider serviceProvider)
{
DateTime startTime = DateTime.Now.AddDays(0 - GlobalContext.SystemConfig!.LogDays);
var ldRepository = serviceProvider.GetRequiredService>();
var levRepository = serviceProvider.GetRequiredService>();
var lexRepository = serviceProvider.GetRequiredService>();
var ljRepository = serviceProvider.GetRequiredService>();
var llRepository = serviceProvider.GetRequiredService>();
var loRepository = serviceProvider.GetRequiredService>();
await ldRepository.DeleteAsync(it => it.CreateTime < startTime);
await levRepository.DeleteAsync(it => it.CreateTime < startTime);
await lexRepository.DeleteAsync(it => it.CreateTime < startTime);
await ljRepository.DeleteAsync(it => it.CreateTime < startTime);
await llRepository.DeleteAsync(it => it.CreateTime < startTime);
await loRepository.DeleteAsync(it => it.CreateTime < startTime);
}
}
}