dengjunjie
2024-10-25 663489b2ce63ee84851dfbc2db32814e40ae9a89
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs
@@ -9,6 +9,7 @@
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_Core.HttpContextUser;
using WIDESEAWCS_ISystemRepository;
using WIDESEAWCS_ISystemServices;
@@ -42,7 +43,7 @@
            return list;
        }
        public  List<RoleNodes> GetAllRoleId()
        public List<RoleNodes> GetAllRoleId()
        {
            List<RoleNodes> roles = BaseDal.QueryData().Select(s => new RoleNodes() { Id = s.RoleId, ParentId = s.ParentId, RoleName = s.RoleName }).ToList();
@@ -89,7 +90,41 @@
        {
            return GetUserTreePermission(App.User.RoleId);
        }
        public override WebResponseContent UpdateData(SaveModel saveModel)
        {
            var ParentId = saveModel.MainData[nameof(Sys_Role.ParentId).FirstLetterToLower()].ObjToInt();//父级ID
            var RoleId = saveModel.MainData[nameof(Sys_Role.RoleId).FirstLetterToLower()].ObjToInt();//角色ID
            if (RoleId == ParentId) return WebResponseContent.Instance.Error("无操作权限");
            if (App.User.RoleId == RoleId) return WebResponseContent.Instance.Error("无操作权限");
            return base.UpdateData(saveModel);
        }
        public override PageGridData<Sys_Role> GetPageData(PageDataOptions options)
        {
            PageGridData<Sys_Role> pageGridData = new PageGridData<Sys_Role>();
            if (App.User.IsSuperAdmin)
            {
                var GridData = base.GetPageData(options);
                pageGridData = new PageGridData<Sys_Role>()
                {
                    Rows = options.Order?.ToLower() == OrderByType.Asc.ToString().ToLower() ? GridData.Rows.OrderBy(x => x.RoleId).ToList() : GridData.Rows,
                    Total = GridData.Total
                };
                return pageGridData;
            }
            var roleIds = GetAllChildren(App.User.RoleId).Select(x => x.Id);
            //树形菜单传查询角色下所有用户
            string where = ValidatePageOptions(options);
            int total = 0;
            pageGridData = new PageGridData<Sys_Role>()
            {
                Rows = BaseDal.Db.Queryable<Sys_Role>().Where(x => roleIds.Contains(x.RoleId)).Where(where).OrderBy(x => x.RoleId).ToPageList(options.Page, options.Rows),
                Total = total
            };
            return pageGridData;
        }
        /// <summary>
        /// ç¼–辑权限时,获取指定角色的所有菜单权限
        /// </summary>
@@ -107,7 +142,7 @@
            //获取用户权限
            List<Permissions> permissions = _MenuRepository.GetPermissions(roleId);
            //权限用户权限查询所有的菜单信息
            List<Sys_Menu> menus =  _MenuService.GetUserMenuList(roleId);
            List<Sys_Menu> menus = _MenuService.GetUserMenuList(roleId);
            //获取当前用户权限如:(Add,Search)对应的显示文本信息如:Add:添加,Search:查询
            var data = menus.Select(x => new
            {
@@ -192,11 +227,11 @@
                    x.AuthValue = "";
                });
                //将取消的权限设置为""
                _RoleAuthRepository.UpdateData(delAuths);
                _RoleAuthRepository.DeleteData(delAuths);
                int addCount = updateAuths.Where(x => x.AuthId <= 0).Count();
                int updateCount = updateAuths.Where(x => x.AuthId > 0).Count();
                string _version = DateTime.Now.ToString("yyyyMMddHHMMssfff");