Exemple #1
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="loginName"></param>
        /// <param name="password"></param>
        /// <param name="clientType"></param>
        /// <param name="clientId"></param>
        /// <returns></returns>
        public async Task <BizResult <UserLoginDTO> > Login(string loginName, string password, string ip, string website, byte clientType, string clientId)
        {
            var result = new BizResult <UserLoginDTO>();

            var pwdMD5 = password.ToMD5();
            var user   = await _unitOfWork.GetRepository <User>()
                         .GetFirstOrDefaultAsync(p => new UserLoginDTO {
                UserId = p.Id
            }, predicate: p => p.LoginName == loginName && p.Password == pwdMD5);

            if (user == null)
            {
                return(result.Fail("登录名或密码错误"));
            }

            // 写登录日志
            await _unitOfWork.GetRepository <UserLog>()
            .InsertAsync(new UserLog
            {
                UserId     = user.UserId,
                Desc       = "用户登录系统",
                CreateTime = DateTime.Now,
                Keywords   = "Login",
                IP         = ip,
                Website    = website,
            });

            await _unitOfWork.SaveChangesAsync();

            return(result.Succeed(user));
        }
Exemple #2
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="loginName"></param>
        /// <param name="password"></param>
        /// <param name="nickname"></param>
        /// <param name="realName"></param>
        /// <param name="tel"></param>
        /// <param name="email"></param>
        /// <param name="refCode"></param>
        /// <param name="ip"></param>
        /// <param name="clientType"></param>
        /// <param name="clientId"></param>
        /// <returns></returns>
        public async Task <BizResult <bool> > Regist(string loginName, string password, string nickname, string realName, string tel, string email, string refCode, string ip, byte clientType, string clientId)
        {
            var result = new BizResult <bool>();

            var userRepo = _unitOfWork.GetRepository <User>();
            var user     = await userRepo.GetFirstOrDefaultAsync(p => new { p.Id }, p => p.LoginName == loginName);

            if (user != null)
            {
                return(result.Fail("登录名已被使用"));
            }

            var defaultGroup = await _unitOfWork.GetRepository <Group>().GetFirstOrDefaultAsync(predicate: p => p.Sys);

            if (defaultGroup == null)
            {
                return(result.Fail("用户默认组未设置"));
            }

            userRepo.Insert(new User
            {
                LoginName = loginName,
                Password  = password.ToMD5(),
                Nickname  = nickname,
                RealName  = realName,
                Tel       = tel,
                EMail     = email,
                RefCode   = refCode,
                RegTime   = DateTime.Now,
                RegIP     = ip,
                GroupId   = defaultGroup.Id
            });

            await _unitOfWork.SaveChangesAsync();

            return(result.Succeed(true));
        }