/// <summary> /// 获取普通商户的所有功能数据源列表 /// </summary> public static List <XCLCMS.Data.Model.View.v_SysFunction> GetNormalMerchantFunctionTreeList() { var bll = new XCLCMS.Data.BLL.SysFunction(); var roleBLL = new XCLCMS.Data.BLL.View.v_SysRole(); var roleModel = roleBLL.GetModelByCode(XCLCMS.Data.CommonHelper.SysRoleConst.SysRoleCodeEnum.MerchantMainRole.ToString()); if (null == roleModel) { throw new Exception("请指定普通商户所有功能主角色!"); } var allFuns = GetFunctionList(); var funLst = bll.GetListByRoleID(roleModel.SysRoleID.Value); var resultId = new List <long>(); if (null != funLst && funLst.Count > 0) { funLst.ForEach(k => { var lst = bll.GetLayerListBySysFunctionId(k.SysFunctionID); if (null != lst && lst.Count > 0) { resultId.AddRange(lst.Select(m => m.SysFunctionID)); } }); } resultId = resultId.Distinct().ToList(); return(allFuns.Where(k => resultId.Contains(k.SysFunctionID.Value)).ToList() ?? new List <Data.Model.View.v_SysFunction>()); }
/// <summary> /// 判断指定用户是否至少拥有权限组中的某个权限 /// </summary> public static bool HasAnyPermission(long userId, List <XCLCMS.Lib.Permission.Function.FunctionEnum> functionList) { bool flag = false; if (null != functionList && functionList.Count > 0) { List <long> funList = functionList.Select(k => (long)k).ToList(); flag = new XCLCMS.Data.BLL.SysFunction().CheckUserHasAnyFunction(userId, funList); } return(flag); }