コード例 #1
0
        /// <summary>
        /// 记录用户登陆日志
        /// author:陶林辉
        /// </summary>
        /// <param name="loginLog"></param>
        /// <returns></returns>
        public async Task RecordLoginLogAsync(userLoginLogDto loginLog)
        {
            var vEntity = _mapper.Map <userLoginLogDto, UserLoginLogEntity>(loginLog);

            _context.userLoginLog.Add(vEntity);
            await _context.SaveChangesAsync();
        }
コード例 #2
0
        public async Task <H5ResponseViewModel <TokenView> > Login([FromBody] H5RequestViewModel Parameters)
        {
            //判断参数完整
            var sysCode = _sys.CheckParameters(Parameters.data, "Login");
            H5ResponseViewModel <TokenView> response = null;
            TokenView result = null;
            //用户手机号码
            string phone = Parameters.data.phone;
            //验证码缓存Key
            string strKey = $"{CacheKey.H5LogIn.ToString()}{phone}";

            if (sysCode == SysCode.Ok)
            {
                //判断验证码是否正确
                if (RedisHelper.KeyExists(strKey, RedisFolderEnum.code, RedisEnum.Four) &&
                    RedisHelper.StringGet(strKey, RedisFolderEnum.code, RedisEnum.Four).Equals((string)Parameters.data.verifyCode))
                {
                    //判断手机号码是否注册
                    long userId = 0;
                    if (await _user.PhoneExistAsync(phone))
                    {
                        userId = _user.GetUserIdByPhone(phone);
                    }
                    else
                    {
                        /*注册信息*/
                        /*登陆信息*/
                        /*用户基本信息*/
                        userId = _user.Register(new RegisterDto
                        {
                            App_version = "",
                            Channel     = Parameters.data.channelId,
                            Createtime  = DateTime.Now,
                            Device_code = "",
                            Os_type     = "",
                            Gps         = "",
                            Os_version  = "",
                            Phone       = phone,
                            Platform    = "H5",
                            Updatetime  = DateTime.Now
                        }, new UserLoginDto
                        {
                            Createtime = TimeHelper.GetDateTime(),
                            Is_first   = 1,
                            Password   = "",
                            Phone      = phone,
                            Status     = 0,
                            Salt       = 0,
                            Updatetime = TimeHelper.GetDateTime(),
                        }, new UserInfoDto
                        {
                            Createtime = TimeHelper.GetDateTime(),
                            Head       = "",
                            Updatetime = TimeHelper.GetDateTime(),
                            Nick_name  = ""
                        });
                    }
                    if (userId != 0)
                    {
                        result = _token.GetH5Token(userId);
                        //记录用户登陆日志
                        userLoginLogDto Log = new userLoginLogDto
                        {
                            App_version = "H5",
                            Createtime  = TimeHelper.GetDateTime(),
                            Device_code = "H5",
                            Gps         = "H5",
                            Os_type     = "H5",
                            Os_version  = "H5",
                            Phone       = phone,
                            Userid      = userId
                        };
                        await _user.RecordLoginLogAsync(Log);
                    }
                    else
                    {
                        sysCode = SysCode.Err;
                    }
                }
                else
                {
                    //验证码不存在或者验证错误
                    sysCode = SysCode.CodeErr;
                }
            }
            response = new H5ResponseViewModel <TokenView>(sysCode, result ?? null);
            return(response);
        }