45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			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_AddFixedFiled, systemAnonymizationList.Where(t => t.IsAdd && t.IsFixed).ToList(), TimeSpan.FromDays(7));
 | 
						|
            _provider.Set(StaticData.Anonymize_AddIRCInfoFiled, systemAnonymizationList.Where(t => t.IsAdd && t.IsFixed == false).ToList(), TimeSpan.FromDays(7));
 | 
						|
            _provider.Set(StaticData.Anonymize_FixedField, systemAnonymizationList.Where(t => t.IsAdd == false && t.IsFixed).ToList(), TimeSpan.FromDays(7));
 | 
						|
            _provider.Set(StaticData.Anonymize_IRCInfoField, systemAnonymizationList.Where(t => t.IsAdd == false && t.IsFixed == false).ToList(), TimeSpan.FromDays(7));
 | 
						|
 | 
						|
            return Task.FromResult(true);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
}
 |