Пример #1
0
        public QueryResultList <MenuExtentData> GetRoleMenuExtends()
        {
            var result = new QueryResultList <MenuExtentData>();

            try
            {
                var menus = Cache.Instance["mango_rolemenuextends"];
                if (menus == null)
                {
                    result.Body = RoleRightDA.GetRoleMenuExtends();

                    Cache.Instance.Add("mango_rolemenuextends", result.Body);
                }
                else
                {
                    result.Body = menus as List <MenuExtentData>;
                }


                result.ErrCode = 0;
                result.Message = "ok";
            }
            catch (Exception ex)
            {
                Logger.WriteException("GetRoleMenuExtends", ex, "");
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #2
0
        private void RefreshRightCache(int roleId)
        {
            try
            {
                Cache.Instance.Remove("mango_rolemenus");

                var rolemenus = RoleRightDA.GetRoleMenus();

                Cache.Instance.Add("mango_rolemenus", rolemenus);

                Cache.Instance.Remove("mango_rolemenuextends");

                var menuextends = RoleRightDA.GetRoleMenuExtends();

                Cache.Instance.Add("mango_rolemenuextends", menuextends);

                // mango_menuextends
                //清楚缓存,让用户重新登录
                Cache.Instance.Remove("juncheng_platform_menu_" + roleId);
            }
            catch (Exception ex)
            {
                Logger.WriteException("【刷新角色才能】", ex, "");
            }
        }
Пример #3
0
        public OperationResult SetUserRoleRightList(RequestOperation <SetRoleRightData> request)
        {
            var result = new OperationResult();

            try
            {
                if (request.Body == null ||
                    request.Body.RightIDs == null ||
                    request.Body.RightIDs.Count == 0)
                {
                    result.Message = "没有可保存的数据";
                    return(result);
                }

                string sqlTemplate = "({0},{1}),";
                string sql1        = "";
                string extsql2     = "";
                foreach (var right in request.Body.RightIDs)
                {
                    if (right < 0)
                    {
                        extsql2 += String.Format(sqlTemplate, request.Body.RoleID, right);
                    }
                    else
                    {
                        sql1 += String.Format(sqlTemplate, request.Body.RoleID, right);
                    }
                }

                if (sql1.Length > 0)
                {
                    sql1 = " INSERT INTO [dbo].[T_RoleMenu_Mapping]([RoleID],[MID]) VALUES "
                           + sql1.TrimEnd(',');
                }

                if (extsql2.Length > 0)
                {
                    extsql2 = " INSERT INTO [dbo].[T_RoleMenuExtent_Mapping]([RoleID],[ExtendID]) VALUES "
                              + extsql2.TrimEnd(',');
                }

                int rows = RoleRightDA.SetUserRoleRight(request.Body.RoleID, sql1, extsql2);
                if (rows == 0)
                {
                    throw new Exception("设置角色权限失败");
                }
                result.ErrCode = 0;
                result.Message = "ok";

                Task.Factory.StartNew(() => RefreshRightCache(request.Body.RoleID));
            }
            catch (Exception ex)
            {
                Logger.WriteException("SetUserRoleRightList", ex, request);
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #4
0
        /// <summary>
        /// 获取角色id
        /// </summary>
        /// <returns></returns>
        public QueryResultList <RoleData> GetRoleTree()
        {
            var result = new QueryResultList <RoleData>();

            try
            {
                var roles = Cache.Instance["mango_roles"];
                if (roles == null)
                {
                    result.Body = RoleRightDA.GetRoles("A");
                    if (result.Body == null || result.Body.Count == 0)
                    {
                        throw new Exception("没有获取到相关角色");
                    }

                    Cache.Instance.Add("mango_roles", result.Body);
                }
                else
                {
                    result.Body = roles as List <RoleData>;
                }


                result.ErrCode = 0;
                result.Message = "ok";
            }
            catch (Exception ex)
            {
                Logger.WriteException("GetRoles", ex, "");
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #5
0
        public MenusData GetMenus()
        {
            var result = new MenusData();

            try
            {
                var menus = Cache.Instance["mango_menus"];
                if (menus == null)
                {
                    result = RoleRightDA.GetMenus();
                    if (result == null || result.PageRight == null ||
                        result.PageRight.Count == 0)
                    {
                        throw new Exception("没有配置菜单项");
                    }

                    Cache.Instance.Add("mango_menus", result);
                }
                else
                {
                    result = menus as MenusData;
                }
            }
            catch (Exception ex)
            {
                Logger.WriteException("GetMenus", ex, "");
                throw new Exception("没有配置菜单项");
            }

            return(result);
        }
Пример #6
0
        public OperationResult UpdateUserRoles(RequestOperation <UserRoleUpdateData> request)
        {
            var result = new OperationResult();

            try
            {
                int row = RoleRightDA.UpdateUserRoles(request);
                if (row != 1)
                {
                    throw new Exception("变更角色失败");
                }
                result.ErrCode = 0;
                result.Message = "ok";
            }
            catch (Exception ex)
            {
                Logger.WriteException("UpdateUserRoles", ex, request);
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #7
0
        public QueryResultList <UserRoleData> GetUserRoles(QueryRequest <UserRoleQueryData> query)
        {
            var result = new QueryResultList <UserRoleData>();

            try
            {
                result = RoleRightDA.GetUserRoles(query);
                if (result.Body == null)
                {
                    result.Body = new List <UserRoleData>();
                }
                result.ErrCode = 0;
                result.Message = "ok";
            }
            catch (Exception ex)
            {
                Logger.WriteException("GetUserRoles", ex, query);
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #8
0
        public QueryResultList <RoleData> GetRoles(string status)
        {
            var result = new QueryResultList <RoleData>();

            try
            {
                result.Body = RoleRightDA.GetRoles(status);
                if (result.Body == null || result.Body.Count == 0)
                {
                    throw new Exception("没有获取到相关角色");
                }
                result.ErrCode = 0;
                result.Message = "ok";
            }
            catch (Exception ex)
            {
                Logger.WriteException("GetRoles", ex, "");
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #9
0
        public OperationResult SetCustomerPwd(RequestOperation <UserPasswordSetData> request)
        {
            var result = new OperationResult();

            try
            {
                request.Body.Password = MD5Helper.Encode(request.Body.Password);
                int row = RoleRightDA.SetCustomerPwd(request);
                if (row != 1)
                {
                    throw new Exception("设置密码失败");
                }
                result.ErrCode = 0;
                result.Message = "ok";
            }
            catch (Exception ex)
            {
                Logger.WriteException("SetCustomerPwd", ex, request);
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #10
0
        public QueryResultList <RoleRightListData> GetUserRoleRightList(RequestOperation <int> request)
        {
            var result = new QueryResultList <RoleRightListData>();

            try
            {
                result.Body = RoleRightDA.GetUserRoleRightList(request.Body);
                if (result.Body == null || result.Body.Count == 0)
                {
                    result.Message = "没有角色权限";
                    return(result);
                }
                result.ErrCode = 0;
                result.Message = "ok";
            }
            catch (Exception ex)
            {
                Logger.WriteException("GetUserRoleRightList", ex, request);
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }
Пример #11
0
        public QueryResultList <RoleData> SetRole(RequestOperation <RoleData> request)
        {
            var result = new QueryResultList <RoleData>();

            try
            {
                int row = RoleRightDA.SetRole(request);
                if (row != 1)
                {
                    throw new Exception("设置角色失败");
                }


                result = GetRoles("A");
            }
            catch (Exception ex)
            {
                Logger.WriteException("SetRole", ex, request);
                result.ErrCode = -1;
                result.Message = ex.Message;
            }

            return(result);
        }