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

Uat_Study
hang 2024-01-10 15:24:45 +08:00
parent 7cc9731edf
commit 2491fd1fff
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,7 +39,14 @@ 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;
if(cacheList != null && cacheList.Count!=0)
{
return cacheList;
}
else
{
var list = await _internationalizationRepository.Where(t => t.InternationalizationType == 0).Select(t => new InternationalizationSimpleDto() var list = await _internationalizationRepository.Where(t => t.InternationalizationType == 0).Select(t => new InternationalizationSimpleDto()
{ {
Code = t.Code, Code = t.Code,
@ -45,9 +56,13 @@ namespace IRaCIS.Core.Application.Service
Description = t.Description, Description = t.Description,
}).ToListAsync(); }).ToListAsync();
_provider.Set<List<InternationalizationSimpleDto>>(StaticData.InternationalData.Front, list, TimeSpan.FromDays(1));
return list; return list;
} }
}
/// <summary> /// <summary>
/// 前端批量提交,后端判断不存在就添加,存在就更新 /// 前端批量提交,后端判断不存在就添加,存在就更新
/// </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