ZhouliProject/Zhouli.BLL/Implements/SysMenuBLL.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Transactions;
using Zhouli.BLL.Interface;
using Zhouli.Common.ResultModel;
using Zhouli.DAL.Interface;
using Zhouli.DbEntity.Models;
using Zhouli.Dto.ModelDto;
using Zhouli.Enum;
namespace Zhouli.BLL.Implements
{
/// <summary>
/// 菜单表Service接口
/// </summary>
public class SysMenuBLL : BaseBLL<SysMenu>, ISysMenuBLL
{
private List<SysMenuDto> listMenuDtos;
private readonly ISysMenuDAL sysMenuDAL;
private readonly ISysAuthorityBLL sysAuthorityBLL;
private readonly ISysAmRelatedDAL sysAmRelatedDAL;
/// <summary>
/// 用于实例化父级,sysMenuDAL
/// </summary>
/// <param name="sysMenuDAL"></param>
public SysMenuBLL(ISysMenuDAL sysMenuDAL, ISysAuthorityBLL sysAuthorityBLL, ISysAmRelatedDAL sysAmRelatedDAL) : base(sysMenuDAL)
{
this.sysMenuDAL = sysMenuDAL;
this.sysAuthorityBLL = sysAuthorityBLL;
this.sysAmRelatedDAL = sysAmRelatedDAL;
}
/// <summary>
/// 根据用户获取功能菜单
/// </summary>
/// <param name="user">用户实体</param>
/// <returns></returns>
public HandleResult<List<SysMenuDto>> GetMenusBy(SysUser user)
{
var listMenuDto = new List<SysMenuDto>();
listMenuDtos = Mapper.Map<List<SysMenuDto>>(((List<SysAuthority>)(sysAuthorityBLL.GetSysAuthorities(user, AuthorityType.Type_Menu).Data)).Select(t => t.sysMenu).ToList());
//找出所有一级菜单
listMenuDto.AddRange(listMenuDtos.Where(t => Guid.Empty.ToString().Equals(t.ParentMenuId)).OrderByDescending(t => t.MenuSort).ThenBy(t => t.CreateTime));
foreach (var item in listMenuDto)
{
item.children = GetMenuChildren(item.MenuId);
}
return new HandleResult<List<SysMenuDto>>
{
Data = listMenuDto
};
}
/// <summary>
/// 递归获取子集菜单
/// </summary>
/// <param name="ParentMenuId"></param>
/// <returns></returns>
后面还有 49 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。