Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
 public void Update(WeChatIndexMiddlecs obj)
 {
     throw new NotImplementedException();
 }