/// <summary> /// 查询一个用户所拥有的权限 /// </summary> /// <param name="weChatInfoViewModel"></param> /// <returns></returns> public WeChatIndexMiddlecs WeChatLogin_Search(WeChatInfoViewModel weChatInfoViewModel) { WeChatIndexMiddlecs weChatIndexMiddlecs = new WeChatIndexMiddlecs(); //用户权限集合 List <User_Rights> user_Rights = new List <User_Rights>(); List <User_Rights> user_RightsQc = new List <User_Rights>(); List <RightsParentSearchMiddlecs> result = new List <RightsParentSearchMiddlecs>(); //获取用户信息 var user_info = _IUserInfoRepository.GetInfoAndDepartByUserid(weChatInfoViewModel.UserUid); //获取用户相关所有信息(部门,权限,角色等等) var user_Infos_All = _ILoginRepository.SearchInfoByWhere(weChatInfoViewModel.UserUid); //匹配相关信息 weChatIndexMiddlecs = _IMapper.Map(user_info, weChatIndexMiddlecs); //建有层级关系的权限扁平化 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); //所有权限集合 result.AddRange(user_All.Where(p => p.ParentId == "0").ToList()); //父节点集合 foreach (var el in result) { AddPermission(user_All, el); } weChatIndexMiddlecs.User_Rights = result; return(weChatIndexMiddlecs); }
public WeChatIndexMiddlecs WeChatLogin_Search(WeChatInfoViewModel weChatInfoViewModel) { WeChatIndexMiddlecs weChatIndexMiddlecs = new WeChatIndexMiddlecs(); //用户权限集合 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); //匹配相关信息 weChatIndexMiddlecs = _IMapper.Map(user_info, weChatIndexMiddlecs); //建有层级关系的权限扁平化 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); BianLi(user_All, right_chlid, right_parent, user_RightsQc); weChatIndexMiddlecs.User_Rights = right_parent; return(weChatIndexMiddlecs); }
/// <summary> /// 查询一个用户所拥有的权限 /// </summary> /// <param name="weChatInfoViewModel"></param> /// <returns></returns> public WeChatIndexMiddlecs WeChatLogin_Search(WeChatInfoViewModel weChatInfoViewModel) { WeChatIndexMiddlecs weChatIndexMiddlecs = new WeChatIndexMiddlecs(); weChatIndexMiddlecs.FoodStatus = "0"; //用户权限集合 List <User_Rights> user_Rights = new List <User_Rights>(); List <User_Rights> user_RightsQc = new List <User_Rights>(); List <RightsParentSearchMiddlecs> result = new List <RightsParentSearchMiddlecs>(); //获取用户信息 var user_info = _IUserInfoRepository.GetInfoAndDepartByUserid(weChatInfoViewModel.UserUid); //获取用户相关所有信息(部门,权限,角色等等) var user_Infos_All = _ILoginRepository.SearchInfoByWhere(weChatInfoViewModel.UserUid); //匹配相关信息 weChatIndexMiddlecs = _IMapper.Map(user_info, weChatIndexMiddlecs); //建有层级关系的权限扁平化 for (int i = 0; i < user_Infos_All.Count; i++) { if (user_Infos_All[i].User_Role.Id == 34) { weChatIndexMiddlecs.FoodStatus = "3"; } if (user_Infos_All[i].User_Role.Id == 35 && weChatIndexMiddlecs.FoodStatus != "3") { weChatIndexMiddlecs.FoodStatus = "1"; } if (user_Infos_All[i].User_Role.Id == 36 && weChatIndexMiddlecs.FoodStatus != "3") { weChatIndexMiddlecs.FoodStatus = "2"; } 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); //所有权限集合 result.AddRange(user_All.Where(p => p.ParentId == "0").ToList()); //父节点集合 result = result.OrderBy(x => x.Sort).ToList(); //按照sort 字段排序 foreach (var el in result) { AddPermission(user_All, el); } //判断当前时间是否在工作时间段内 DateTime _staDate = DateTime.Parse(_IOptions._staDate); //工作时间上午06:00 DateTime _endDate = DateTime.Parse(_IOptions._endDate); //工作时间上午09:00 DateTime now = DateTime.Now; if (now >= _staDate && now <= _endDate) { weChatIndexMiddlecs.status = "0";//符合兑换时间段 } else { weChatIndexMiddlecs.status = "1";//不符合兑换时间段 } weChatIndexMiddlecs.User_Rights = result; return(weChatIndexMiddlecs); }
public void Update(WeChatIndexMiddlecs obj) { throw new NotImplementedException(); }