Explorar o código

不允许绑定重复号码

xiaoshushu %!s(int64=4) %!d(string=hai) anos
pai
achega
1e84978edc

+ 10 - 0
ruoyi-app/src/main/java/com/ruoyi/app/controller/AppLoginController.java

@@ -126,6 +126,8 @@ public class AppLoginController {
         if (appUser == null) {
             appUser = new AppMemberVo();
             appUser.setOpenid(loginVo.getOpenid());
+            //第一次微信登陆手机号必须为空,防止跳过绑定验证
+            loginVo.setMobile(null);
             appUser.setNickName(loginVo.getNickName());
             //微信头像下载到本地保存
             appUser.setAvatar("/profile/upload/" + FileUtils.avatarUrl(loginVo.getAvatar()));
@@ -137,10 +139,18 @@ public class AppLoginController {
             }
             appUser.setCreateBy(appUser.getUserId().toString());
         }
+
+
         //绑定手机号
         if (StringUtils.isNotBlank(loginVo.getMobile())) {
+            AppMemberVo check = userService.getAppMember(null, loginVo.getMobile());
+            if (check != null) {
+                return AjaxResult.error("该手机号已绑定,请直接登陆");
+            }
             appUser.setMobile(loginVo.getMobile());
         }
+
+
         String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
         appUser.setClientId(loginVo.getClientId());
         appUser.setLoginIp(ip);