using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using VolPro.Core.DbSqlSugar;
using VolPro.Core.Extensions;
using VolPro.Core.ManageUser;
using VolPro.Core.Services;
using VolPro.Core.Utilities;
using VolPro.Entity;
using VolPro.Entity.DomainModels;
using VolPro.Sys.IRepositories;
namespace VolPro.Sys.Services
{
public partial class Sys_MenuService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ISys_MenuRepository _repository;//访问数据库
[ActivatorUtilitiesConstructor]
public Sys_MenuService(
ISys_MenuRepository dbRepository,
IHttpContextAccessor httpContextAccessor
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
}
///
/// 菜单静态化处理,每次获取菜单时先比较菜单是否发生变化,如果发生变化从数据库重新获取,否则直接获取_menus菜单
///
private static List _menus { get; set; }
///
/// 从数据库获取菜单时锁定的对象
///
private static object _menuObj = new object();
///
/// 当前服务器的菜单版本
///
private static string _menuVersionn = "";
private const string _menuCacheKey = "inernalMenu";
///
/// 编辑修改菜单时,获取所有菜单
///
///
public async Task