using System; using System.Collections.Generic; using System.Threading.Tasks; using YiSha.Business.Cache.IService; using YiSha.Cache.Factory; using YiSha.Entity.SystemManage; using YiSha.IService.SystemManage; namespace YiSha.Business.Cache.Service { public class MenuCacheService : IMenuCacheService { private IMenuService _menuService; public MenuCacheService(IMenuService menuService) { _menuService = menuService; } public string CacheKey => this.GetType().Name; public async Task> GetList() { var cacheList = CacheFactory.Cache.GetCache>(CacheKey); if (cacheList == null) { var list = await _menuService.GetListPartial(null); CacheFactory.Cache.SetCache(CacheKey, list); return list; } else { return cacheList; } } public bool Remove() { return CacheFactory.Cache.RemoveCache(CacheKey); } } }