/// <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(); }
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); }