@@ -10,6 +10,9 @@ using IRaCIS.Core.Application.Interfaces;
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using IRaCIS.Core.Application.Helper;
|
||||
using EasyCaching.Core;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using OfficeOpenXml.FormulaParsing.Utilities;
|
||||
|
||||
namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
@@ -19,12 +22,13 @@ namespace IRaCIS.Core.Application.Service
|
||||
[ApiExplorerSettings(GroupName = "Common")]
|
||||
public class InternationalizationService : BaseService, IInternationalizationService
|
||||
{
|
||||
|
||||
private readonly IEasyCachingProvider _provider;
|
||||
private readonly IRepository<Internationalization> _internationalizationRepository;
|
||||
|
||||
public InternationalizationService(IRepository<Internationalization> internationalizationRepository)
|
||||
public InternationalizationService(IRepository<Internationalization> internationalizationRepository, IEasyCachingProvider provider)
|
||||
{
|
||||
_internationalizationRepository = internationalizationRepository;
|
||||
_provider = provider;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -35,17 +39,28 @@ namespace IRaCIS.Core.Application.Service
|
||||
[HttpGet]
|
||||
public async Task<IEnumerable<InternationalizationSimpleDto>> GetFrontInternationalizationList()
|
||||
{
|
||||
var cacheList= _provider.Get<List<InternationalizationSimpleDto>>(StaticData.InternationalData.Front).Value;
|
||||
|
||||
var list = await _internationalizationRepository.Where(t => t.InternationalizationType == 0).Select(t => new InternationalizationSimpleDto()
|
||||
if(cacheList != null && cacheList.Count!=0)
|
||||
{
|
||||
Code = t.Code,
|
||||
Value = t.Value,
|
||||
ValueCN = t.ValueCN,
|
||||
FrontType = t.FrontType,
|
||||
Description = t.Description,
|
||||
}).ToListAsync();
|
||||
return cacheList;
|
||||
}
|
||||
else
|
||||
{
|
||||
var list = await _internationalizationRepository.Where(t => t.InternationalizationType == 0).Select(t => new InternationalizationSimpleDto()
|
||||
{
|
||||
Code = t.Code,
|
||||
Value = t.Value,
|
||||
ValueCN = t.ValueCN,
|
||||
FrontType = t.FrontType,
|
||||
Description = t.Description,
|
||||
}).ToListAsync();
|
||||
|
||||
return list;
|
||||
_provider.Set<List<InternationalizationSimpleDto>>(StaticData.InternationalData.Front, list, TimeSpan.FromDays(1));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -72,9 +87,11 @@ namespace IRaCIS.Core.Application.Service
|
||||
await _internationalizationRepository.AddAsync(mapItem);
|
||||
}
|
||||
}
|
||||
|
||||
await _internationalizationRepository.SaveChangesAsync();
|
||||
|
||||
//清理缓存
|
||||
_provider.Set<List<InternationalizationSimpleDto>>(StaticData.InternationalData.Front, new List<InternationalizationSimpleDto>(), TimeSpan.FromDays(1));
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user