请求前端国际化增加缓存-需要迁移

Uat_Study
hang 2024-01-10 15:24:45 +08:00
parent 403885ef3f
commit 9adf2ad52b
2 changed files with 32 additions and 12 deletions

View File

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

View File

@ -183,7 +183,10 @@ public static class StaticData
public static class InternationalData
{
public const string Front = "Front";
}
/// <summary> /// <summary>
/// 匿名化配置 key /// 匿名化配置 key