1.remove redisMobileCheckCodeKey in case login success

main
Gary 10 months ago
parent 30e40640c2
commit 3d0ca23f6e

@ -103,23 +103,21 @@ public class LoginController extends BaseController {
@VerifyParam LoginReq loginReq) { @VerifyParam LoginReq loginReq) {
// 得到缓存中的验证码 // 得到缓存中的验证码
String redisMobileCheckCodeKey = Constants.REDIS_KEY_MOBILE_CHECK_CODE + loginReq.getDeviceId(); String redisMobileCheckCodeKey = Constants.REDIS_KEY_MOBILE_CHECK_CODE + loginReq.getDeviceId();
try { String redisMobileCheckCode = (String) redisTemplate.opsForValue().get(redisMobileCheckCodeKey);
String redisMobileCheckCode = (String) redisTemplate.opsForValue().get(redisMobileCheckCodeKey); if (StringTools.isEmpty(redisMobileCheckCode)) {
if (StringTools.isEmpty(redisMobileCheckCode)) { return Result.failed(StatusCode.USER_MOBILE_VERIFICATION_CODE_EXPIRED);
return Result.failed(StatusCode.USER_MOBILE_VERIFICATION_CODE_EXPIRED); }
} if (!redisMobileCheckCode.equals(loginReq.getMobileCheckCode())) {
if (!redisMobileCheckCode.equals(loginReq.getMobileCheckCode())) { return Result.failed(StatusCode.USER_MOBILE_VERIFICATION_CODE_MISMATCH);
return Result.failed(StatusCode.USER_MOBILE_VERIFICATION_CODE_MISMATCH);
}
UserInfo loginUserInfo = new UserInfo();
loginUserInfo.setMobile(loginReq.getMobile());
loginUserInfo.setLastUseDeviceId(loginReq.getDeviceId());
loginUserInfo.setLastUseDeviceBrand(loginReq.getDeviceBrand());
loginUserInfo.setLastLoginIp(getIpAddr(request));
return Result.success(userInfoService.loginOrRegister(loginUserInfo));
} finally {
redisTemplate.delete(redisMobileCheckCodeKey);
} }
UserInfo loginUserInfo = new UserInfo();
loginUserInfo.setMobile(loginReq.getMobile());
loginUserInfo.setLastUseDeviceId(loginReq.getDeviceId());
loginUserInfo.setLastUseDeviceBrand(loginReq.getDeviceBrand());
loginUserInfo.setLastLoginIp(getIpAddr(request));
String token = userInfoService.loginOrRegister(loginUserInfo);
redisTemplate.delete(redisMobileCheckCodeKey);
return Result.success(token);
} }
/** /**

Loading…
Cancel
Save