public VolunteerBackgroundInfoModel IntellVolunteerBackgroundLogin_Search(VolunteerBackgroundInfoViewModel weChatInfoViewModel) { VolunteerBackgroundInfoModel v_IndexMiddlecs = new VolunteerBackgroundInfoModel(); //用户权限集合 List <User_Rights> user_Rights = new List <User_Rights>(); List <User_Rights> user_RightsQc = new List <User_Rights>(); List <RightsParentSearchMiddlecs> right_chlid = new List <RightsParentSearchMiddlecs>(); // List<RightsParentSearchMiddlecs> right_chlid2 = new List<RightsParentSearchMiddlecs>(); List <RightsParentSearchMiddlecs> right_parent = new List <RightsParentSearchMiddlecs>(); //获取用户信息 var user_info = _IUserInfoRepository.GetInfoAndDepartByUserid(weChatInfoViewModel.UserUid); //获取用户相关所有信息(部门,权限,角色等等) var user_Infos_All = _ILoginRepository.SearchInfoByWhere(weChatInfoViewModel.UserUid); //匹配相关信息 v_IndexMiddlecs = _IMapper.Map(user_info, v_IndexMiddlecs); //建有层级关系的权限扁平化 for (int i = 0; i < user_Infos_All.Count; i++) { int rightNum = user_Infos_All[i].User_Role.User_Relate_Role_Right.Count; for (int j = 0; j < rightNum; j++) { //将外键变为空 var tempRights = user_Infos_All[i].User_Role.User_Relate_Role_Right[j].User_Rights; user_Rights.Add(tempRights); } } foreach (User_Rights user in user_Rights)//去重 { if (user_RightsQc.Exists(x => x.Id == user.Id) == false) { user_RightsQc.Add(user); } } var user_All = _IMapper.Map <List <User_Rights>, List <RightsParentSearchMiddlecs> >(user_RightsQc); List <RightsParentSearchMiddlecs> result = new List <RightsParentSearchMiddlecs>(); //BianLi(user_All, right_chlid, right_parent, user_RightsQc); v_IndexMiddlecs.User_Rights = right_parent; result.AddRange(user_All.Where(p => p.ParentId == "0").ToList()); foreach (var e1 in result) { AddPrimission(user_All, e1); } return(v_IndexMiddlecs); }
public ActionResult <VloginInfoResModel> Manage_LoginSearchInfo(VolunteerBackgroundInfoViewModel viewModel) { VloginInfoResModel resultModel = new VloginInfoResModel(); var userInfo = _loginService.IntellVolunteerBackgroundLogin_Search(viewModel); if (userInfo.User_Rights.Count < 1) { resultModel.IsSuccess = false; resultModel.baseViewModel.Message = "用户无权限登录"; resultModel.baseViewModel.ResponseCode = 400; //_ILogger.Information("用户无权限,进入系统失败"); return(BadRequest(resultModel)); } else { resultModel.userInfo = userInfo; resultModel.IsSuccess = true; resultModel.baseViewModel.Message = "存在该用户,查询成功"; resultModel.baseViewModel.ResponseCode = 200; //_ILogger.Information("查询用户信息,存在该用户,权限查询成功"); return(Ok(resultModel)); } }