|
@@ -27,7 +27,7 @@ import org.apache.logging.log4j.util.Strings;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import reactor.util.function.Tuple2;
|
|
|
+import reactor.util.function.Tuple3;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.Map;
|
|
@@ -128,7 +128,7 @@ public class LoginServiceImpl implements IRegisterLoginService {
|
|
|
return ResultVO.ok(userLoginVO);
|
|
|
}
|
|
|
//用户注册
|
|
|
- user = userCreateSave(userData, openId, null, null, openId, sessionKey, param.getShareUserId());
|
|
|
+ user = userCreateSave(userData, openId, null, null, openId, sessionKey);
|
|
|
//返回登录信息
|
|
|
UserLoginVO userLoginVO = this.createUserLoginVO(user, userData);
|
|
|
userLoginVO.setAppletShellSwitch(gameAppletShellService.getUserShellSwitch(user, Boolean.TRUE));
|
|
@@ -184,8 +184,7 @@ public class LoginServiceImpl implements IRegisterLoginService {
|
|
|
return ResultVO.fail(checkRegisterEnum.getMsg());
|
|
|
}
|
|
|
//用户注册
|
|
|
- user = userCreateSave(userData, username, RegisterUtil.cmfPassword(password), null, null,
|
|
|
- null, null);
|
|
|
+ user = userCreateSave(userData, username, RegisterUtil.cmfPassword(password), null, null, null);
|
|
|
//返回登录信息
|
|
|
return ResultVO.ok(this.createUserLoginVO(user, userData));
|
|
|
}
|
|
@@ -219,33 +218,39 @@ public class LoginServiceImpl implements IRegisterLoginService {
|
|
|
return ResultVO.ok(this.createUserLoginVO(user, userData));
|
|
|
}
|
|
|
//用户注册
|
|
|
- user = userCreateSave(userData, mobile, null, mobile, null, null, null);
|
|
|
+ user = userCreateSave(userData, mobile, null, mobile, null, null);
|
|
|
//返回登录信息
|
|
|
return ResultVO.ok(this.createUserLoginVO(user, userData));
|
|
|
}
|
|
|
|
|
|
- private User userCreateSave(UserData userData, String userName, String password, String mobile, String openId,
|
|
|
- String sessionKey, Long shareUserId) {
|
|
|
- Tuple2<Long, Map<String, String>> tuple2 = agentService.getUserAgentId(userData.getChannel(), shareUserId);
|
|
|
- User user = transform(userData, tuple2.getT1(), userName);
|
|
|
+ private User userCreateSave(UserData userData, String userName, String password, String mobile, String openId, String sessionKey) {
|
|
|
+ //渠道id, 链接参数, 分享人id
|
|
|
+ Tuple3<Long, Map<String, String>, String> tuple3 = agentService.getUserAgentId(userData.getChannel());
|
|
|
+ //分享人id
|
|
|
+ Long shareUserId = Strings.isBlank(tuple3.getT3()) ? null : Long.valueOf(tuple3.getT3());
|
|
|
+ //用户参数补充
|
|
|
+ User user = transform(userData, tuple3.getT1(), userName);
|
|
|
user.setPassword(password);
|
|
|
user.setMobile(mobile);
|
|
|
user.setOpenId(openId);
|
|
|
user.setSessionKey(sessionKey);
|
|
|
user.setChannel(userData.getChannel());
|
|
|
+ user.setShareUserId(shareUserId);
|
|
|
userService.save(user);
|
|
|
gameUserService.createGameUser(user);
|
|
|
- callBackService.userCallBack(user, tuple2);
|
|
|
- //记录分享信息
|
|
|
- if (shareUserId != null) {
|
|
|
- userShareService.save(UserShare.builder()
|
|
|
- .gameId(userData.getGameId())
|
|
|
- .fromUserId(shareUserId)
|
|
|
- .toUserId(user.getId())
|
|
|
- .createTime(LocalDateTime.now())
|
|
|
- .updateTime(LocalDateTime.now())
|
|
|
- .build());
|
|
|
+ //非分享用户, 回传注册
|
|
|
+ if (shareUserId == null) {
|
|
|
+ callBackService.userCallBack(user, tuple3.getT2());
|
|
|
+ return user;
|
|
|
}
|
|
|
+ //记录分享信息, 用户不回传
|
|
|
+ userShareService.save(UserShare.builder()
|
|
|
+ .gameId(userData.getGameId())
|
|
|
+ .fromUserId(shareUserId)
|
|
|
+ .toUserId(user.getId())
|
|
|
+ .createTime(LocalDateTime.now())
|
|
|
+ .updateTime(LocalDateTime.now())
|
|
|
+ .build());
|
|
|
return user;
|
|
|
}
|
|
|
|