EI-Image-Viewer-Api/IRaCIS.Core.Application/_MediatR/Handlers/AnonymizeCacheHandler.cs

45 lines
1.6 KiB
C#

using EasyCaching.Core;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infra.EFCore;
using MediatR;
namespace IRaCIS.Core.Application.MediatR.Handlers
{
public class AnonymizeCacheRequest : IRequest<bool>
{
}
public class AnonymizeCacheHandler : IRequestHandler<AnonymizeCacheRequest,bool>
{
private readonly IRepository _repository;
private readonly IEasyCachingProvider _provider;
/// <summary>
/// 构造函数注入
/// </summary>
public AnonymizeCacheHandler(IRepository repository, IEasyCachingProvider provider)
{
_repository = repository;
_provider = provider;
}
public Task<bool> Handle(AnonymizeCacheRequest request, CancellationToken cancellationToken)
{
var systemAnonymizationList = _repository.Where<SystemAnonymization>(t => t.IsEnable).ToList();
_provider.Set(StaticData.Anonymize.Anonymize_AddFixedFiled, systemAnonymizationList.Where(t => t.IsAdd && t.IsFixed).ToList(), TimeSpan.FromDays(7));
_provider.Set(StaticData.Anonymize.Anonymize_AddIRCInfoFiled, systemAnonymizationList.Where(t => t.IsAdd && t.IsFixed == false).ToList(), TimeSpan.FromDays(7));
_provider.Set(StaticData.Anonymize.Anonymize_FixedField, systemAnonymizationList.Where(t => t.IsAdd == false && t.IsFixed).ToList(), TimeSpan.FromDays(7));
_provider.Set(StaticData.Anonymize.Anonymize_IRCInfoField, systemAnonymizationList.Where(t => t.IsAdd == false && t.IsFixed == false).ToList(), TimeSpan.FromDays(7));
return Task.FromResult(true);
}
}
}