diff --git a/game-service/src/main/java/awesome/group/game/service/bo/citrus/LoginReq.java b/game-service/src/main/java/awesome/group/game/service/bo/citrus/LoginReq.java index 5df74fa..7b27a14 100644 --- a/game-service/src/main/java/awesome/group/game/service/bo/citrus/LoginReq.java +++ b/game-service/src/main/java/awesome/group/game/service/bo/citrus/LoginReq.java @@ -6,5 +6,6 @@ public class LoginReq { public String appCode; public String code;//验证码 public String token;//友盟token + public String inviteCode; } diff --git a/game-service/src/main/java/awesome/group/game/service/citrus/UserService.java b/game-service/src/main/java/awesome/group/game/service/citrus/UserService.java index 841f792..60a8a63 100644 --- a/game-service/src/main/java/awesome/group/game/service/citrus/UserService.java +++ b/game-service/src/main/java/awesome/group/game/service/citrus/UserService.java @@ -92,7 +92,7 @@ public class UserService { return user; } - public MatrixUser loginByToken(String appCode, String token) { + public MatrixUser loginByToken(String appCode, String token, String inviteCode) { Assert.isTrue(StringUtils.hasText(appCode), "非法请求"); Assert.isTrue(StringUtils.hasText(token), "非法请求"); MatrixApp app = appMapper.queryByCode(appCode); @@ -101,10 +101,15 @@ public class UserService { UmengConfigBo configBo = gson.fromJson(app.getUmeng(), UmengConfigBo.class); String mobile = uMengService.getMobile(token, configBo); MatrixUser user = userMapper.selectByAppIdAndMobile(app.getId(), mobile); + MatrixUser upUser = null; + if (StringUtils.hasText(inviteCode)) { + upUser = userMapper.selectByInviteCode(inviteCode); + } if (user == null) { user = new MatrixUser(); user.setAppId(app.getId()); user.setMobile(mobile); + user.setUpUid(upUser == null ? null : upUser.getId()); user.setInviteCode(RandomStringUtils.randomAlphabetic(12)); userMapper.insert(user); } diff --git a/game-web/src/main/java/awesome/group/game/web/filter/CitrusLoginFilter.java b/game-web/src/main/java/awesome/group/game/web/filter/CitrusLoginFilter.java index 4b997c3..71311d4 100644 --- a/game-web/src/main/java/awesome/group/game/web/filter/CitrusLoginFilter.java +++ b/game-web/src/main/java/awesome/group/game/web/filter/CitrusLoginFilter.java @@ -68,7 +68,7 @@ public class CitrusLoginFilter implements Filter { } private void authFail(ServletResponse response) throws IOException { - R res = new R<>(-88888, "not login ", null); + R res = new R<>(-88888, "", null); Gson gson = new Gson(); response.setContentType("application/json;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); diff --git a/game-web/src/main/java/awesome/group/game/web/rest/citrus/OpenController.java b/game-web/src/main/java/awesome/group/game/web/rest/citrus/OpenController.java index a45c77d..6aa889b 100644 --- a/game-web/src/main/java/awesome/group/game/web/rest/citrus/OpenController.java +++ b/game-web/src/main/java/awesome/group/game/web/rest/citrus/OpenController.java @@ -70,7 +70,7 @@ public class OpenController { @PostMapping("/loginByToken") @RestApi public R loginByToken(@RequestBody LoginReq req) { - MatrixUser u = userService.loginByToken(req.appCode, req.token); + MatrixUser u = userService.loginByToken(req.appCode, req.token, req.inviteCode); String token = JwtUtils.generatorToken(u.getId() + "", 15 * 86400); return new R<>(R.CODE_SUCCESS, "ok", token); }