12345678910111213141516171819202122232425262728 |
- using Hotline.Caching.Interfaces;
- using Hotline.Settings;
- using XF.Domain.Cache;
- using XF.Domain.Dependency;
- namespace Hotline.Caching.Services
- {
- public class SysDicDataCacheManager : ISysDicDataCacheManager, IScopeDependency
- {
- private readonly ISysDicDataRepository _sysDicDataRepository;
- private readonly ITypedCache<IReadOnlyList<SysDicData>> _cacheSysDicData;
- public SysDicDataCacheManager(ISysDicDataRepository sysDicDataRepository, ITypedCache<IReadOnlyList<SysDicData>> cacheSysDicData)
- {
- _sysDicDataRepository = sysDicDataRepository;
- _cacheSysDicData = cacheSysDicData;
- }
- public IReadOnlyList<SysDicData> GetSysDicDataCache(string code)
- {
- var sysDicDataList = _cacheSysDicData.GetOrSet(code, k =>
- {
- return _sysDicDataRepository.Queryable().Where(x => x.DicTypeCode == code).ToTreeAsync(x => x.Children, it => it.ParentId, "").GetAwaiter().GetResult();
- });
- return sysDicDataList;
- }
- }
- }
|