Przeglądaj źródła

微信登陆基于手机号检查,有但没有openId时更新openId

mingfu 1 miesiąc temu
rodzic
commit
352cab3d8d

+ 6 - 1
ie-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java

@@ -99,9 +99,14 @@ public class SysLoginService
     }
 
     public AjaxResult loginByCode(String openId, String phoneNumber) {
-        SysUser u = userService.selectUserByOpenId(openId);
+        SysUser u = userService.selectUserByMobile(phoneNumber);
         if(null == u) {
             return AjaxResult.success("", JSONObject.of("code", ErrorCodes.UnRegister.getCode(), "openId", openId, "mobile", phoneNumber, "message", "用户不存在"));
+        } else if(StringUtils.isBlank(u.getWxOpenId())) {
+            SysUser upUser = new SysUser();
+            upUser.setWxOpenId(openId);
+            upUser.setUserId(u.getUserId());
+            userService.updateUserProfile(upUser);
         }
         return loginByUserAndPass("front", phoneNumber, UserConstants.LOGIN_SMS_PASS);
     }