/// <summary> /// 获取用户角色 /// </summary> /// <param name="userGuid"></param> /// <returns></returns> public OpreateResult <List <UserRoleDto> > GetUserRole(Guid userGuid, int companyNo) { OpreateResult <List <UserRoleDto> > opreateResult = new OpreateResult <List <UserRoleDto> >(); try { opreateResult.Data = ObjectMapper.Map <List <UserRoleDto> >(_userRoleReposity.GetAllList(x => x.UserGuid == userGuid && x.CompanyNo == companyNo)); } catch (Exception ex) { opreateResult.AddError(ex); } return(opreateResult); }
/// <summary> /// 获取用户菜单信息 /// </summary> /// <param name="userGuid"></param> /// <param name="companyNo"></param> /// <returns></returns> public OpreateResult <UserMenuOutPut> GetUserMenu(Guid userGuid, int companyNo) { OpreateResult <UserMenuOutPut> opreateResult = new OpreateResult <UserMenuOutPut>(); try { var userMenuOutPut = _companyRepository.GetAll().Where(x => x.CompanyNo == companyNo && x.UserGuid == userGuid).Select(x => new UserMenuOutPut { CompanyNo = companyNo, UserGuid = userGuid, EmpGuid = x.EmployeeGuid, UserName = x.RealName }).FirstOrDefault(); var roleIds = _userRoleReposity.GetAll().Where(x => x.CompanyNo == companyNo && x.UserGuid == userGuid && x.Status == EnumStatus.Normal).Select(x => x.RoleId).ToList(); var actions = _actionRoleReposity.GetAll().Where(x => x.CompanyNo == companyNo && roleIds.Contains(x.RoleId)).Select(x => x.ActionPermission).ToList(); var meuns = _meunRoleReposity.GetAll().Where(x => x.CompanyNo == companyNo && roleIds.Contains(x.RoleId)).Select(x => new MenuOutPut { Icon = x.MenuPermission.Icon, Title = x.MenuPermission.Title, Url = x.MenuPermission.Area + "/" + x.MenuPermission.Controller + "/" + x.MenuPermission.Action, MenuId = x.MenuPermissionId }).ToList(); foreach (var item in meuns) { item.ActionOutputs.AddRange(actions.Where(x => x.MenuPermissionId == item.MenuId).Select(x => new ActionOutput { Title = x.Description, Url = x.Controller + "/" + x.Action })); } userMenuOutPut.MenuOutPuts.AddRange(meuns); opreateResult.Data = userMenuOutPut; } catch (Exception ex) { opreateResult.AddError(ex); } return(opreateResult); }
/// <summary> /// 登录 /// </summary> /// <param name="userNoOrEmail"></param> /// <param name="passWord"></param> /// <returns></returns> public OpreateResult <SystemUser> Login(string userNoOrEmail, string passWord) { OpreateResult <SystemUser> opreateResult = new OpreateResult <SystemUser>(); var user = this._repository.GetAll().FirstOrDefault(x => x.UserNo.ToString() == userNoOrEmail || x.UserName == userNoOrEmail || x.Email == userNoOrEmail); if (user == null) { opreateResult.AddError("账号不存在!"); return(opreateResult); } switch ((EnumPasswordFormat)user.PasswordFormatId) { case EnumPasswordFormat.Encrypted: passWord = _encryptionService.EncryptText(passWord); break; case EnumPasswordFormat.Hashed: passWord = _encryptionService.CreatePasswordHash(passWord, user.PasswordSalt); break; case EnumPasswordFormat.MD5: passWord = _encryptionService.MD5Hash(passWord, user.PasswordSalt); break; } bool isValid = passWord == user.Password; if (isValid) { user.LatestLoginDateUtc = DateTime.UtcNow; _repository.Update(user); opreateResult.Data = user; opreateResult.Message = "登陆成功!"; } else { opreateResult.Message = "用户密码错误!"; opreateResult.AddError("用户密码错误!"); } return(opreateResult); }