public Task <List <UserMenuResDto> > GetUserMenus(UserMenuReq request) { return(Task.Run <List <UserMenuResDto> >(() => { Channel channel = ClientFindCreateChannel.CreateChannel(_Mname, "GetUserMenus").Result; var client = this._MenuProxyClient(channel); var serverRes = client.GetUserMenus(request); channel.ShutdownAsync(); //关闭长连接 return serverRes; })); }
public Task <List <UserMenuResDto> > GetUserMenuPaths(UserMenuReq request, ServerCallContext context) { return(Task.Run(() => { List <B2B_MENU> menuList = base.baseService().FindAll(m => m.MENU_SORT == request.MENU_SORT && m.TERMINAL_TYPE == request.TERMINAL_TYPE && (request.IDs == null ? true : request.IDs.Contains(m.ID)) && m.IS_AVAILABLE == "Y").Result; if (menuList != null) { return EntityAutoMapper.ConvertMappingList <UserMenuResDto, B2B_MENU>(menuList); } return new List <UserMenuResDto>(); })); }
public Task <List <UserMenuResGroupDto> > GetUserMenus(int userId) { return(Task.Run(() => { B2B_USER user = _userClient.FindById(new ComEntity.IdModel { ID = userId }).Result; UserMenuReq userMenuReq = new UserMenuReq { MENU_SORT = user.PARTY_TYPE, TERMINAL_TYPE = "PC" }; if (user.IS_MAIN != "Y") { //不是主账号需要根据菜单分配来过滤 List <MenuByUserDto> menuUserList = _userMenuClient.FindMenuByUser(new ComEntity.IdModel { ID = userId }).Result; userMenuReq.IDs = new List <int>(); menuUserList.ForEach(mu => { userMenuReq.IDs.Add(Convert.ToInt32(mu.MAIN_MENU_ID)); userMenuReq.IDs.Add(Convert.ToInt32(mu.SUBMENU_ID)); }); } List <UserMenuResDto> userMenus = _menuClient.GetUserMenus(userMenuReq).Result; //将userMenus查询结果转换为菜单层级对象 List <UserMenuResGroupDto> userMenuGroups = new List <UserMenuResGroupDto>(); foreach (var item in userMenus.Where(m => m.MENU_TYPE == "M").OrderBy(m => m.ORDER).ToList()) { userMenuGroups.Add(new UserMenuResGroupDto { mainUserMenu = item, subUserMenus = userMenus.Where(m => m.MAIN_MENU_ID == item.ID).OrderBy(m => m.ORDER).ToList() }); } ; return userMenuGroups; })); }