소스 검색

fix 修复 三方账号可以绑定多平台账号问题

疯狂的狮子Li 2 년 전
부모
커밋
1adeb6f9cf
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java

+ 5 - 0
ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java

@@ -20,6 +20,7 @@ import org.dromara.common.core.constant.TenantConstants;
 import org.dromara.common.core.enums.LoginType;
 import org.dromara.common.core.enums.TenantStatus;
 import org.dromara.common.core.enums.UserType;
+import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.exception.user.CaptchaException;
 import org.dromara.common.core.exception.user.CaptchaExpireException;
 import org.dromara.common.core.exception.user.UserException;
@@ -86,6 +87,10 @@ public class SysLoginService {
         bo.setOpenId(authUserData.getUuid());
         bo.setUserName(authUserData.getUsername());
         bo.setNickName(authUserData.getNickname());
+        List<RemoteSocialVo> checkList = remoteSocialService.selectByAuthId(authId);
+        if (CollUtil.isNotEmpty(checkList)) {
+            throw new ServiceException("此三方账号已经被绑定!");
+        }
         // 查询是否已经绑定用户
         RemoteSocialBo params = new RemoteSocialBo();
         params.setUserId(userId);