示例#1
0
        /// <summary>
        /// 设置角色权限
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <StatusResult> SetRolePermissionAsync(SetRolePermissionInputDto dto)
        {
            var result = new StatusResult();
            var role   = await _roleRepository.Where(o => o.Id == dto.RoleId && o.Enabled).AnyAsync();

            if (!role)
            {
                result.SetErrorMessage("未获取到角色信息");
                return(result);
            }
            await _rolePermissionRepository.DeleteAsync(o => o.RoleId == dto.RoleId);

            var data = new List <RolePermissionEntity>();

            foreach (var item in dto.PermissionIds)
            {
                var model = new RolePermissionEntity()
                {
                    Id           = Snowflake.GenId(),
                    PermissionId = item,
                    RoleId       = dto.RoleId
                };
                data.Add(model);
            }
            await _rolePermissionRepository.InsertAsync(data);

            return(result);
        }
示例#2
0
        /// <summary>
        /// 修改用户
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <StatusResult> UpdateAsync(UserUpdateInputDto input)
        {
            var user = await _userRepository.Select.Where(o => o.Id == input.Id).FirstAsync();

            if (user == null)
            {
                return(new StatusResult("用户不存在!"));
            }
            var thisUser = new UserEntity()
            {
                Id = input.Id
            };

            _userRepository.Attach(thisUser);
            thisUser.Avatar   = input.Avatar;
            thisUser.NickName = input.NickName;
            thisUser.Phone    = input.Phone;
            thisUser.RealName = input.RealName;
            int res = await _userRepository.UpdateAsync(thisUser);

            await _userRoleRepository.DeleteAsync(o => o.UserId == user.Id);

            var userRoles = input.RoleIds.Select(o => new UserRoleEntity()
            {
                RoleId = o.key,
                UserId = user.Id,
                Id     = Snowflake.GenId()
            });
            await _userRoleRepository.InsertAsync(userRoles);

            return(new StatusResult(res == 0, "修改失败"));
        }
示例#3
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <StatusResult> AddAsync(PermissionInputDto input)
        {
            var entity = input.Adapt <Permission>();

            entity.Id = Snowflake.GenId();
            var result = await _permissionRepository.InsertAsync(entity);

            return(new StatusResult(result == null, "添加失败"));
        }
示例#4
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <StatusResult> AddAsync(UserRoleInputDto input)
        {
            var entity = input.Adapt <UserRole>();

            entity.Id = Snowflake.GenId();
            var result = await _userRoleRepository.InsertAsync(entity);

            return(new StatusResult(result == null, "添加失败"));
        }
示例#5
0
        /// <summary>
        /// 添加菜单
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <StatusResult> InsertMenu(MenuInputDto dto)
        {
            var model = dto.Adapt <MenuEntity>();

            model.Id = Snowflake.GenId();
            if (_menuRepository.Where(o => o.Code == dto.Code).Any())
            {
                return(new StatusResult("当前菜单code已存在"));
            }
            var res = await _menuRepository.InsertOrUpdateAsync(model);

            return(new StatusResult(res == null, "操作失败"));
        }
示例#6
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <StatusResult> AddAsync(RoleInputDto input)
        {
            if (_roleRepository.Select.Any(o => o.Name == input.Name))
            {
                return(new StatusResult("角色名已存在"));
            }
            var entity = input.Adapt <RoleEntity>();

            entity.Id = Snowflake.GenId();
            var result = await _roleRepository.InsertAsync(entity);

            return(new StatusResult(result == null, "添加失败"));
        }
示例#7
0
        /// <summary>
        /// 添加权限
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <StatusResult> InsertPermission(PermissionInputDto dto)
        {
            if (dto.PermissionType == DataLayer.Enums.PermissionType.Button)
            {
                if (dto.PermissionCode.IsNull())
                {
                    return(new StatusResult("请输入权限编码"));
                }
            }
            var model = dto.Adapt <PermissionEntity>();

            model.Id = Snowflake.GenId();
            var res = await _modelRepository.InsertOrUpdateAsync(model);

            return(new StatusResult(res == null, "操作失败"));
        }
示例#8
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <returns></returns>
        public async Task <StatusResult> Init()
        {
            var user = await _userRepository
                       .Select.FirstAsync();

            if (user != null)
            {
                return(new StatusResult("当前已存在人员信息,无法初始化"));
            }
            var password = MySecurity.MD5(MySecurity.MD5Lower("123456"));
            var model    = new UserEntity()
            {
                Id       = Snowflake.GenId(),
                Avatar   = "",
                UserName = "******",
                Password = password
            };

            _userRepository.Insert(model);
            return(new StatusResult()
            {
                Message = "初始化人员成功,账号【123456】,密码【123456】"
            });
        }
示例#9
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <StatusResult> AddAsync(UserAddInputDto input)
        {
            if (_userRepository.Select.Any(o => o.UserName == input.UserName || o.Phone == input.Phone))
            {
                return(new StatusResult("账号或手机号已存在"));
            }

            var password = MySecurity.MD5(MySecurity.MD5Lower("123456"));
            var entity   = input.Adapt <UserEntity>();

            entity.Id       = Snowflake.GenId();
            entity.Password = password;
            var res = await _userRepository.InsertOrUpdateAsync(entity);

            var userRoles = input.RoleIds.Select(o => new UserRoleEntity()
            {
                RoleId = o.key,
                UserId = entity.Id,
                Id     = Snowflake.GenId()
            });
            await _userRoleRepository.InsertAsync(userRoles);

            return(new StatusResult(res == null, "添加失败"));
        }