From b01f752252eaadd1fa31eda6a9ad43146660b721 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 03 四月 2025 23:42:57 +0800
Subject: [PATCH] bug修改

---
 xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java |   78 +++++++++++++++++++++++++++++++++-----
 1 files changed, 67 insertions(+), 11 deletions(-)

diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
index 66a9c00..30510a6 100644
--- a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
+++ b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
@@ -10,9 +10,12 @@
 import com.xinquan.common.core.domain.R;
 import com.xinquan.common.core.utils.JwtUtils;
 import com.xinquan.common.core.utils.StringUtils;
+import com.xinquan.common.redis.service.RedisService;
 import com.xinquan.common.security.auth.AuthUtil;
 import com.xinquan.common.security.service.TokenService;
 import com.xinquan.common.security.utils.SecurityUtils;
+import com.xinquan.meditation.api.feign.RemoteMeditationService;
+import com.xinquan.system.api.domain.AppUser;
 import com.xinquan.system.api.domain.SysMenu;
 import com.xinquan.system.api.domain.SysRole;
 import com.xinquan.system.api.domain.SysUser;
@@ -22,6 +25,7 @@
 import com.xinquan.system.api.model.AppVerifyCellPhoneBody;
 import com.xinquan.system.api.model.AppWXLoginBody;
 import com.xinquan.system.api.model.LoginUser;
+import com.xinquan.user.api.feign.RemoteAppUserService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -30,6 +34,7 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
@@ -57,6 +62,10 @@
     private SysLoginService sysLoginService;
     @Autowired
     private SysUserClient userClient;
+    @Resource
+    private RemoteAppUserService remoteAppUserService;
+    @Resource
+    private RemoteMeditationService remoteMeditationService;
 
     /**
      * 发送验证码
@@ -67,14 +76,33 @@
     @ApiOperation(value = "发送验证码",tags = {"APP端"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "cellPhone", value = "手机号码", required = true, dataType = "String", paramType = "query"),
-            @ApiImplicitParam(name = "type", value = "类型 1=注册 2=验证码登录 3=找回密码 4=第三方登录后验证手机 5=切换手机号 6= 添加银行卡", required = true, dataType = "Integer", paramType = "query")})
+            @ApiImplicitParam(name = "type", value = "类型 1=注册 2=验证码登录 3=找回密码 4=第三方登录后验证手机 5=切换手机号 6= 添加银行卡,7=管理后台修改密码", required = true, dataType = "Integer", paramType = "query")})
     public R<?> sendCaptchaCode(
             @RequestParam(value = "cellPhone", required = true) String cellPhone,
             @RequestParam("type") Integer type) {
-        if(type == 3){
-            SysUser sysUser = userClient.queryUserByPhone(cellPhone).getData();
-            if(Objects.isNull(sysUser)){
-                return R.fail("该手机号未注册");
+
+        if(type==5){
+            AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData();
+            if (data!=null){
+                return R.fail("当前手机号已被绑定");
+            }
+        }
+        if(type==4){
+            AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData();
+            if (data!=null && (data.getWxOpenId()!=null||data.getAppleId()!=null)){
+                return R.fail("当前手机号已被绑定");
+            }
+        }
+        if(type==1){
+            AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData();
+            if (data!=null){
+                return R.fail("当前手机号已注册");
+            }
+        }
+        if(type==3){
+            AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData();
+            if (data==null){
+                return R.fail("当前手机号未注册");
             }
         }
         sysLoginService.sendCaptchaCode(cellPhone, type);
@@ -90,6 +118,7 @@
     @PostMapping("/app/register")
     public R<AppLoginUser> appRegister(@RequestBody AppRegisterBody appRegisterBody)
     {
+        System.err.println("controller传递的邀请人id"+(appRegisterBody.getInviteUserId()==null?"":appRegisterBody.getInviteUserId()));
         // 用户注册
         AppLoginUser appLoginUser = sysLoginService.appRegister(appRegisterBody);
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
@@ -105,6 +134,11 @@
     @PostMapping("/app/login")
     public R<AppLoginUser> appLogin(@Validated @RequestBody AppLoginBody body) {
         AppLoginUser appLoginUser = sysLoginService.appLogin(body);
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
     }
 
@@ -118,6 +152,11 @@
     @PostMapping("/app/captchaLogin")
     public R<AppLoginUser> appCaptchaLogin(@Validated @RequestBody AppCaptchaBody body) {
         AppLoginUser appLoginUser = sysLoginService.appCaptchaLogin(body);
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
     }
 
@@ -156,7 +195,14 @@
     @PostMapping("/app/wxLogin")
     public R<AppLoginUser> thirdLogin(@Validated @RequestBody AppWXLoginBody body) {
         AppLoginUser appLoginUser = sysLoginService.wxLogin(body);
-        return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
+        AppLoginUser token4AppLoginUser = tokenService.createToken4AppLoginUser(appLoginUser);
+        System.err.println("微信登录token"+token4AppLoginUser.getAccessToken());
+        return R.ok(token4AppLoginUser);
     }
 
     /**
@@ -168,12 +214,21 @@
     @ApiOperation(value = "苹果登录", tags = {"APP端"})
     @PostMapping("/app/appleLogin")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "appleId", value = "苹果ID", required = true, dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "appleId", value = "苹果ID", required = true, dataType = "String", paramType = "query")
+//            @ApiImplicitParam(name = "device", value = "设备码", required = false, dataType = "String", paramType = "query"),
     }
     )
     public R<AppLoginUser> appleLogin(
-            @RequestParam(value = "appleId", required = true) String appleId) {
-        AppLoginUser appLoginUser = sysLoginService.appleLogin(appleId);
+            @RequestParam(value = "appleId", required = true) String appleId,
+            @RequestParam(value = "device", required = false) String device
+    ) {
+
+        AppLoginUser appLoginUser = sysLoginService.appleLogin(appleId, org.springframework.util.StringUtils.hasLength(device)?device:"");
+        Long appUserId = appLoginUser.getAppUserId();
+        AppUser data = remoteAppUserService.getAppUserById(appUserId + "").getData();
+        if (data.getUserStatus() == 2){
+            return R.fail("您的账号已被冻结");
+        }
         return R.ok(tokenService.createToken4AppLoginUser(appLoginUser));
     }
 
@@ -188,8 +243,9 @@
     public R<?> verifyCellPhone(@Validated @RequestBody AppVerifyCellPhoneBody body) {
         AppLoginUser appLoginUser = sysLoginService.verifyCellPhone(body);
 
-        return R.ok(tokenService.createToken4AppLoginUser(
-                appLoginUser));
+        AppLoginUser token4AppLoginUser = tokenService.createToken4AppLoginUser(appLoginUser);
+        System.err.println("校验手机号token"+token4AppLoginUser.getAccessToken());
+        return R.ok(token4AppLoginUser);
     }
 
     /**

--
Gitblit v1.7.1