/// <summary> /// 会员添加角色 /// </summary> /// <param name="dicwhere">修改条件</param> /// <param name="kID">当前数据主键KID</param> /// <param name="opertionUser">操作者信息</param> /// <returns>Result.</returns> public static Result SetEmployeeRole(string empid, string roleids) { var res = new Result(); var dickey = new Dictionary <string, object>(); dickey.Add(nameof(Sysuserrole.Userid), empid); dickey.Add(nameof(Sysuserrole.IsDeleted), 0); SysuserroleLogic.DeleteByWhere(dickey, new OpertionUser()); var list = new List <Sysuserrole>(); if (!string.IsNullOrEmpty(roleids)) { var time = DateTime.Now; foreach (var item in roleids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { list.Add(new Sysuserrole { CreateTime = time, UpdateTime = time, CreateUserId = "1", CreateUserName = "******", Userid = empid, Roleid = item, UserType = 0 }); } } res = SysuserroleLogic.Adds(list, new OpertionUser()); return(res); }
/// <summary> /// 根据员工账号查询菜单 /// </summary> /// <param name="userKID">员工账号ID</param> /// <returns> /// UserAuthorMenu. /// </returns> public static UserAuthorMenu GetMenuByUserID(int userKID) { //递归查询得到菜单信息 UserAuthorMenu ret = new UserAuthorMenu() { UserMenuList = new List <zTreeModel>() }; var allmenu = GetAllList().OrderByDescending(t => t.Menusort); var roleList = new List <Sysrole>(); var dic = new Dictionary <string, object>(); if (userKID > 1) { dic.Add(nameof(Sysuserrole.Userid), userKID); var roleLst = SysuserroleLogic.GetList(dic); if (roleLst.Count() == 0) { return(new UserAuthorMenu() { Message = "未分配权限角色,请联系管理员开通权限" }); } var allRoleIds = string.Join(",", roleLst.Select(p => p.Roleid).ToArray()); if (allRoleIds.Count() == 0) { return(new UserAuthorMenu() { Message = "未分配权限角色,请联系管理员开通权限" }); } dic = new Dictionary <string, object>(); dic.Add(nameof(Sysrole.KID) + "|i", allRoleIds); dic.Add(nameof(Sysrole.IsDeleted), 0); roleList = SysroleLogic.GetList(dic); if (roleList.Count() == 0) { return(new UserAuthorMenu() { Message = "不存在对应角色,请联系管理员开通权限" }); } List <string> removelst = new List <string>(); var allAuthMenu = string.Join(",", roleList.Select(p => p.MenuList).ToArray()).Split(',').ToList(); foreach (var item in allmenu.Where(p => allAuthMenu.Contains(p.KID.ToString())).OrderByDescending(k => k.Menusort)) { if (item.IsNull()) { continue; } if (item.IsNull() || removelst.Contains(item.KID.ToString())) { continue; } removelst.Add(item.KID.ToString()); ret.UserMenuList.Add(new zTreeModel() { id = item.KID.ToString(), pId = item.Fatherid.ToString(), name = item.Menuname, url = item.MenuUrl, sort = item.Menusort, ico = item.Menuicon, open = true }); } } else { foreach (var item in allmenu.OrderByDescending(p => p.Menusort)) { ret.UserMenuList.Add(new zTreeModel() { id = item.KID.ToString(), pId = item.Fatherid.ToString(), name = item.Menuname, url = item.MenuUrl, sort = item.Menusort, ico = item.Menuicon, open = true }); } } if (ret.UserMenuList.Count() > 0) { ret.IsSucceed = true; ret.Message = "菜单获取成功"; } else { ret.Message = "未找到对应菜单,请联系管理员"; } return(ret); }