Exemplo n.º 1
0
        public async Task <IResultModel> Delete(string id)
        {
            var entity = await _repository.FirstAsync(id);

            if (entity == null)
            {
                return(ResultModel.NotExists);
            }

            var result = await _repository.SoftDeleteAsync(entity);

            return(ResultModel.Result(result));
        }
Exemplo n.º 2
0
        public async Task <IResultModel> GetAuthInfo()
        {
            var user = await _userRepository.FirstAsync(m => m.Id == _loginInfo.UserId && m.IsDel == false);

            if (user == null)
            {
                return(ResultModel.Failed("用户不存在"));
            }

            if (user.Status == UserStatus.Disabled)
            {
                return(ResultModel.Failed("用户已被禁用"));
            }

            var roles = await _roleUserRepository.QueryByUserId(_loginInfo.UserId);

            var skin = await _skinRepository.FirstAsync(m => m.UserId == user.Id && m.IsDel == false);

            var model = new AuthInfoModel
            {
                UserId    = user.Id,
                UserCode  = user.UserCode,
                UserName  = user.UserName,
                Sex       = user.Sex,
                JobName   = user.JobName,
                Phone     = user.Phone,
                Email     = user.Email,
                RoleIds   = string.Join(",", roles.Select(m => m.Id).ToList()),
                RoleCodes = string.Join(",", roles.Select(m => m.RoleCode).ToList()),
                RoleNames = string.Join(",", roles.Select(m => m.RoleName).ToList()),
                Skin      = skin
            };

            var getMenuTree = GetUserMenuTree(_loginInfo.UserId);

            model.Menus = await getMenuTree;

            //超级管理查询所有
            if (_loginInfo.RoleCodes.Contains(RoleKey.ROLE_SUPER_CODE))
            {
                model.Permissions = await _permissionRepository.GetListAsync(m => m.IsDel == false);
            }
            else
            {
                model.Permissions = await _permissionRepository.QueryByUserId(_loginInfo.UserId);
            }

            return(ResultModel.Success(model));
        }