提交 82cff69c authored 作者: Whispa's avatar Whispa

commit commit

上级 200f870e
...@@ -228,104 +228,110 @@ public class AuthController extends Controller { ...@@ -228,104 +228,110 @@ public class AuthController extends Controller {
// "token":"token", // "token":"token",
// } // }
// Check if firebase token is valid try {
boolean isTokenValid = user.getToken() != null && validateFirebaseToken(user.getToken()); // Check if firebase token is valid
boolean isTokenValid = user.getToken() != null && validateFirebaseToken(user.getToken());
boolean gotFromOld = false; boolean gotFromOld = false;
// if valid do sign in if firebase Uid exist in database or register as new user // if valid do sign in if firebase Uid exist in database or register as new user
if (isTokenValid) { if (isTokenValid) {
//Query to find user from database by firebase uid //Query to find user from database by firebase uid
Optional<TbCfUserInfo> optional = userRepository.findByFirebaseUid(user.getFirebaseUid()); Optional<TbCfUserInfo> optional = userRepository.findByFirebaseUid(user.getFirebaseUid());
if ( !optional.isPresent() && user.getEmail() != null && !user.getEmail().isEmpty() && userRepository.existsByAccount(user.getEmail())) { if (!optional.isPresent() && user.getEmail() != null && !user.getEmail().isEmpty() && userRepository.existsByAccount(user.getEmail())) {
optional = userRepository.findFirstByAccount(user.getEmail()); optional = userRepository.findFirstByAccount(user.getEmail());
gotFromOld = optional.isPresent(); gotFromOld = optional.isPresent();
} }
if ( !optional.isPresent() && user.getPhone() != null && !user.getPhone().isEmpty() && userRepository.existsByAccount(user.getPhone().replace("+",""))) { if (!optional.isPresent() && user.getPhone() != null && !user.getPhone().isEmpty() && userRepository.existsByAccount(user.getPhone().replace("+", ""))) {
optional = userRepository.findFirstByAccount(user.getPhone().replace("+","")); optional = userRepository.findFirstByAccount(user.getPhone().replace("+", ""));
gotFromOld = optional.isPresent(); gotFromOld = optional.isPresent();
} }
if (!optional.isPresent()) { if (!optional.isPresent()) {
String userid = IdUtil.createIdbyUUID(); String userid = IdUtil.createIdbyUUID();
user.setPassword(encoder.encode(user.getFirebaseUid())); user.setPassword(encoder.encode(user.getFirebaseUid()));
user.setUserId(userid); user.setUserId(userid);
fillUserNecessayInfo(user); fillUserNecessayInfo(user);
user = userRepository.save(user); user = userRepository.save(user);
//赠送用户优惠券 //赠送用户优惠券
fixCoupon(user); fixCoupon(user);
} else { } else {
TbCfUserInfo userInfo = optional.get(); TbCfUserInfo userInfo = optional.get();
if (user.hasFcm()) { if (user.hasFcm()) {
userInfo.setFcm(user.getFcm()); userInfo.setFcm(user.getFcm());
} }
String property = domainProperties.getProperty("user.avatar"); String property = domainProperties.getProperty("user.avatar");
property = property == null ? "" : property; property = property == null ? "" : property;
boolean b = property.equals(userInfo.getAvatar()) || userInfo.getAvatar() == null || userInfo.getAvatar().isEmpty(); boolean b = property.equals(userInfo.getAvatar()) || userInfo.getAvatar() == null || userInfo.getAvatar().isEmpty();
if (user.getAvatar() != null && b) { if (user.getAvatar() != null && b) {
userInfo.setAvatar(user.getAvatar()); userInfo.setAvatar(user.getAvatar());
} }
boolean b1 = userInfo.getNick() == null || userInfo.getNick().isEmpty(); boolean b1 = userInfo.getNick() == null || userInfo.getNick().isEmpty();
if (user.getNick() != null && b1) { if (user.getNick() != null && b1) {
userInfo.setNick(user.getNick()); userInfo.setNick(user.getNick());
} }
if (user.getEmail() != null) { if (user.getEmail() != null) {
userInfo.setEmail(user.getEmail()); userInfo.setEmail(user.getEmail());
} }
if (user.getUserType() != null) { if (user.getUserType() != null) {
userInfo.setUserType(user.getUserType()); userInfo.setUserType(user.getUserType());
} }
if (user.getPhone() != null) { if (user.getPhone() != null) {
userInfo.setPhone(user.getPhone()); userInfo.setPhone(user.getPhone());
} }
user = userInfo; user = userInfo;
} }
String very = gotFromOld ? user.getPassword() : null;
// generate token codes has been moved downwards from if condition of checking if user doesn't exist in database, because even if
// user exist we have to generate token also
if (user.getPassword() == null || gotFromOld) {
user.setPassword(encoder.encode(user.getFirebaseUid()));// Assign user from database to the user we have to return back to request
}
String very = gotFromOld ? user.getPassword() : null;
// generate token codes has been moved downwards from if condition of checking if user doesn't exist in database, because even if
// user exist we have to generate token also
if (user.getPassword() == null || gotFromOld) {
user.setPassword(encoder.encode(user.getFirebaseUid()));// Assign user from database to the user we have to return back to request
}
fixCode(user);
fixCode(user); //addToNetwork(user);
//addToNetwork(user); user.setLastLoginTime(new Date());
userRepository.save(user);
//注册成功 创建token
user.setLastLoginTime(new Date()); LoginRequest loginRequest = new LoginRequest(user.getFirebaseUid(), user.getFirebaseUid());
userRepository.save(user);
//注册成功 创建token
LoginRequest loginRequest = new LoginRequest(user.getFirebaseUid(), user.getFirebaseUid()); loginRequest.setVeryOldPassword(very);
loginRequest.setVeryOldPassword(very); return authenticateUser(loginRequest);
return authenticateUser(loginRequest);
} else {
return new Result<>(ResultCodeEnum.ILLEGAL_ARGUMENT.getCode(), ResultCodeEnum.ILLEGAL_ARGUMENT.getDesc());
}
}catch (Exception e){
System.out.println(e.getMessage());
return new Result<>(ResultCodeEnum.ILLEGAL_ARGUMENT.getCode(), e.getMessage());
} else {
return new Result<>(ResultCodeEnum.ILLEGAL_ARGUMENT.getCode(), ResultCodeEnum.ILLEGAL_ARGUMENT.getDesc());
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论