コード例 #1
0
        /// <summary>
        ///     根据登录名和密码查询是否存在
        /// </summary>
        /// <param name="input">登录名、密码等</param>
        /// <returns></returns>
        public async Task <OperateStatus <UserLoginOutput> > CheckUserByCodeAndPwdAsync(UserLoginInput input)
        {
            var operateStatus = new OperateStatus <UserLoginOutput>();

            try
            {
                var data = await _systemUserRepository.CheckUserByCodeAndPwd(input);

                //是否存在
                if (data == null)
                {
                    operateStatus.ResultSign = ResultSign.Error;
                    operateStatus.Message    = ResourceSystem.用户名或密码错误;
                    goto End;
                }
                if (data.IsFreeze)
                {
                    operateStatus.ResultSign = ResultSign.Error;
                    operateStatus.Message    = ResourceSystem.登录用户已冻结;
                    goto End;
                }
                operateStatus.ResultSign = ResultSign.Successful;
                operateStatus.Message    = "登录成功!";
                operateStatus.Message    = string.Format(Chs.Successful, "登录成功");
                operateStatus.Data       = data;
                if (data.FirstVisitTime == null)
                {
                    //更新用户最后一次登录时间
                    await _systemUserRepository.UpdateFirstVisitTime(new IdInput(data.UserId));
                }
                //更新用户最后一次登录时间
                await _systemUserRepository.UpdateLastLoginTime(new IdInput(data.UserId));
            }
            catch (Exception ex)
            {
                operateStatus.Message = string.Format(Chs.Successful, "登录失败");
                operateStatus.Message = ex.Message;
                goto End;
            }
End:
            return(operateStatus);
        }