xiaoshushu 4 anni fa
parent
commit
8c46903e33

+ 11 - 7
ruoyi-app/src/main/java/com/ruoyi/app/controller/AppLoginController.java

@@ -143,18 +143,22 @@ public class AppLoginController {
 
         //绑定手机号
         if (StringUtils.isNotBlank(loginVo.getMobile())) {
-            AppMemberVo check = userService.getAppMember(null, loginVo.getMobile());
-            if (check != null) {
-                return AjaxResult.error("该手机号已绑定,请直接登陆");
-            }
             boolean ckCaptcha = AliSMSUtil.getInstance().validateSmsCode(loginVo.getMobile(), loginVo.getCaptcha());
             if (!ckCaptcha) {
                 return AjaxResult.error("验证码错误");
             }
-            appUser.setMobile(loginVo.getMobile());
+            AppMemberVo check = userService.getAppMember(null, loginVo.getMobile());
+            //如果该用户之前用手机号登陆过直接绑定该微信openid
+            if (check != null) {
+                userService.removeById(appUser.getUserId());
+                check.setOpenid(appUser.getOpenid());
+                check.setNickName(appUser.getNickName());
+                check.setAvatar(appUser.getAvatar());
+                appUser = check;
+            } else {
+                appUser.setMobile(loginVo.getMobile());
+            }
         }
-
-
         String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
         appUser.setClientId(loginVo.getClientId());
         appUser.setLoginIp(ip);

+ 20 - 14
ruoyi-app/src/main/java/com/ruoyi/app/controller/AppUserController.java

@@ -26,10 +26,10 @@ import java.util.List;
  * @author Alex
  * @date 2020-09-24
  */
-@Api(value = "会员管理",tags = "会员管理")
+@Api(value = "会员管理", tags = "会员管理")
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
-@RequestMapping("/app/user" )
+@RequestMapping("/app/user")
 public class AppUserController extends AppBaseController {
 
     private final ITbAppUserService userService;
@@ -41,8 +41,8 @@ public class AppUserController extends AppBaseController {
     @GetMapping("/list")
     public AjaxResult memberList(AppMemberVo memberVo) {
         memberVo.setEnable("1");
-        List<AppMemberVo> list = userService.selectAppMembers(memberVo.getEnable(),memberVo.getSearchValue(),
-                memberVo.getBeginTime(),memberVo.getEndTime());
+        List<AppMemberVo> list = userService.selectAppMembers(memberVo.getEnable(), memberVo.getSearchValue(),
+                memberVo.getBeginTime(), memberVo.getEndTime());
         return AjaxResult.success(list);
     }
 
@@ -52,7 +52,22 @@ public class AppUserController extends AppBaseController {
         if (appUserId == null) {
             return AjaxResult.error("会员id不能为空");
         }
-        return AjaxResult.success(userService.getAppMember(appUserId.toString(),null));
+        return AjaxResult.success(userService.getAppMember(appUserId.toString(), null));
+    }
+
+    @ApiOperation("验证手机号是否存在")
+    @PutMapping("/checkPhone")
+    public AjaxResult checkPhone(@RequestBody AppMemberVo memberVo) {
+        if (StringUtils.isBlank(memberVo.getMobile())) {
+            return AjaxResult.error("手机号不能为空");
+        }
+        TbAppUser user = userService.getOne(new LambdaQueryWrapper<TbAppUser>()
+                .eq(TbAppUser::getMobile, memberVo.getMobile())
+        );
+        if (user != null) {
+            return AjaxResult.error("该手机号已经绑定");
+        }
+        return AjaxResult.success();
     }
 
     /**
@@ -67,15 +82,6 @@ public class AppUserController extends AppBaseController {
         if (memberVo.getUserId() == null) {
             return AjaxResult.error("userId不能为空");
         }
-        if (StringUtils.isBlank(memberVo.getMobile())) {
-            return AjaxResult.error("手机号不能为空");
-        }
-        TbAppUser user = userService.getOne(new LambdaQueryWrapper<TbAppUser>()
-            .eq(TbAppUser::getMobile,memberVo.getMobile())
-        );
-        if (user != null) {
-            return AjaxResult.error("该手机号已经注册");
-        }
         return toAjax(userService.saveOrUpdate(memberVo) ? 1 : 0);
     }
 }