From 005e7df1b8d7733b459c24104bc775c52e528454 Mon Sep 17 00:00:00 2001
From: thiszhc <2029364173@qq.com>
Date: 星期四, 15 六月 2023 19:30:17 +0800
Subject: [PATCH] 优化第三方授权登录

---
 ruoyi-admin/pom.xml                                                                                                         |   14 
 ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java                                                    |   12 -
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SocialUserMapper.xml                                            |   58 -----
 ruoyi-common/ruoyi-common-bom/pom.xml                                                                                       |    6 
 script/sql/ry_vue_5.X.sql                                                                                                   |   69 +++----
 ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java                                                      |   72 +++----
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISocialUserService.java                                 |   24 --
 ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/SocialConfig.java                           |    2 
 /dev/null                                                                                                                   |  105 -----------
 ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/AuthRedisStateCache.java                     |   16 -
 ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java                             |   20 +-
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SocialUserServiceImpl.java                         |   69 -------
 ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialProperties.java            |    2 
 ruoyi-common/ruoyi-common-social/pom.xml                                                                                    |   23 -
 ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialLoginConfigProperties.java |    2 
 15 files changed, 113 insertions(+), 381 deletions(-)

diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index e57c444..39731b1 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -45,6 +45,12 @@
 
         <dependency>
             <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-social</artifactId>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.dromara</groupId>
             <artifactId>ruoyi-system</artifactId>
         </dependency>
 
@@ -75,16 +81,12 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+
         <dependency>
             <groupId>me.zhyd.oauth</groupId>
             <artifactId>JustAuth</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.dromara</groupId>
-            <artifactId>ruoyi-common-social</artifactId>
-            <version>5.1.0-SNAPSHOT</version>
-            <scope>compile</scope>
-        </dependency>
+
 
         <!-- skywalking 鏁村悎 logback -->
 <!--        <dependency>-->
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
index f46cbdc..8cb96cd 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
@@ -3,12 +3,9 @@
 import cn.dev33.satoken.annotation.SaIgnore;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSON;
-import cn.hutool.json.JSONUtil;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.validation.constraints.NotBlank;
 import lombok.RequiredArgsConstructor;
-import me.zhyd.oauth.cache.AuthStateCache;
 import me.zhyd.oauth.model.AuthCallback;
 import me.zhyd.oauth.model.AuthResponse;
 import me.zhyd.oauth.model.AuthUser;
@@ -22,10 +19,8 @@
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.social.config.SocialConfig;
-import org.dromara.common.social.config.properties.ConfigProperties;
+import org.dromara.common.social.config.properties.SocialLoginConfigProperties;
 import org.dromara.common.social.config.properties.SocialProperties;
-import org.dromara.common.social.utils.AuthRedisStateCache;
 import org.dromara.common.social.utils.SocialUtils;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.system.domain.bo.SysTenantBo;
@@ -45,7 +40,6 @@
 import java.io.IOException;
 import java.net.URL;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 璁よ瘉
@@ -153,7 +147,7 @@
         {
             return R.fail(source + "骞冲彴璐﹀彿宸茬粡琚处鍙风粦瀹�");
         }
-        ConfigProperties obj = socialProperties.getType().get(source);
+        SocialLoginConfigProperties obj = socialProperties.getType().get(source);
         if (ObjectUtil.isNull(obj)){
             return R.fail(source + "骞冲彴璐﹀彿鏆備笉鏀寔");
         }
@@ -175,7 +169,7 @@
     @SuppressWarnings("unchecked")
     @GetMapping("/social-login/{source}")
     public R<String> socialLogin(@PathVariable("source") String source, AuthCallback callback, HttpServletRequest request) throws IOException {
-        ConfigProperties obj = socialProperties.getType().get(source);
+        SocialLoginConfigProperties obj = socialProperties.getType().get(source);
         if (ObjectUtil.isNull(obj)){
             return R.fail(source + "骞冲彴璐﹀彿鏆備笉鏀寔");
         }
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
index 3628b05..84c554d 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
@@ -44,6 +44,7 @@
 import org.dromara.system.service.ISysPermissionService;
 import org.dromara.system.service.ISysTenantService;
 import org.dromara.system.service.ISysUserService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -181,27 +182,49 @@
             return R.fail("瀵逛笉璧凤紝鎺堟潈淇℃伅楠岃瘉涓嶉�氳繃锛岃閫�鍑洪噸璇曪紒");
         }
         AuthUser authUserData = authUser.getData();
-        // 鏌ヨ绀句氦鐢ㄦ埛淇℃伅锛屽垽鏂槸鍚﹀凡缁忕粦瀹氾紝濡傛灉宸茬粡缁戝畾鍒欑洿鎺ョ櫥褰曪紝鍚﹀垯楠岃瘉鏄惁鐧诲綍锛屾湭鐧诲綍鍒欏厛鐧诲綍鍐嶇粦瀹�
-        SocialUserVo user = socialUserService.selectSocialUserByAuthId(source + authUserData.getUuid());
+        String authId = source + authUserData.getUuid();
+
+        SocialUserVo user = socialUserService.selectSocialUserByAuthId(authId);
         if (ObjectUtil.isNotNull(user)) {
-            checkTenant(user.getTenantId());
-            SysUserVo dbUser = loadUserByUsername(user.getTenantId(), user.getUserName());
-            LoginHelper.loginByDevice(buildLoginUser(dbUser), DeviceType.SOCIAL);
-            recordLogininfor(dbUser.getTenantId(), user.getUserName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
-            recordLoginInfo(user.getUserId());
+            //鎵ц鐧诲綍鍜岃褰曠櫥褰曚俊鎭搷浣�
+            return loginAndRecord(user.getTenantId(), user.getUserName(), authUserData);
         } else {
             // 鍒ゆ柇鏄惁宸茬櫥褰�
             if (LoginHelper.getUserId() == null) {
                 return R.fail("鎺堟潈澶辫触锛岃鍏堢櫥褰曞啀缁戝畾");
             }
             SocialUserBo socialUserBo = new SocialUserBo();
-            socialUserService.insertByBo(setAuthUserData(authUserData, socialUserBo));
+            socialUserBo.setUserId(LoginHelper.getUserId());
+            socialUserBo.setAuthId(authUserData.getSource() + authUserData.getUuid());
+            socialUserBo.setSource(authUserData.getSource());
+            socialUserBo.setUserName(authUserData.getUsername());
+            socialUserBo.setNickName(authUserData.getNickname());
+            socialUserBo.setAvatar(authUserData.getAvatar());
+            socialUserBo.setOpenId(authUserData.getUuid());
+            BeanUtils.copyProperties(authUserData, socialUserBo);
+            BeanUtils.copyProperties(authUserData.getToken(), socialUserBo);
+
+            socialUserService.insertByBo(socialUserBo);
             SysUserVo lodingData = loadUserByUsername(LoginHelper.getTenantId(), LoginHelper.getUsername());
-            checkTenant(lodingData.getTenantId());
-            LoginHelper.loginByDevice(buildLoginUser(lodingData), DeviceType.SOCIAL);
-            recordLogininfor(lodingData.getTenantId(), socialUserBo.getUserName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
-            recordLoginInfo(socialUserBo.getUserId());
+            //鎵ц鐧诲綍鍜岃褰曠櫥褰曚俊鎭搷浣�
+            return loginAndRecord(lodingData.getTenantId(), socialUserBo.getUserName(), authUserData);
         }
+    }
+
+    /**
+     * 鎵ц鐧诲綍鍜岃褰曠櫥褰曚俊鎭搷浣�
+     *
+     * @param tenantId  绉熸埛ID
+     * @param userName  鐢ㄦ埛鍚�
+     * @param authUser  鎺堟潈鐢ㄦ埛淇℃伅
+     * @return 缁熶竴鍝嶅簲瀹炰綋
+     */
+    private R<String> loginAndRecord(String tenantId, String userName, AuthUser authUser) {
+        checkTenant(tenantId);
+        SysUserVo dbUser = loadUserByUsername(tenantId, userName);
+        LoginHelper.loginByDevice(buildLoginUser(dbUser), DeviceType.SOCIAL);
+        recordLogininfor(dbUser.getTenantId(), userName, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
+        recordLoginInfo(dbUser.getUserId());
         return R.ok(StpUtil.getTokenValue());
     }
 
@@ -440,29 +463,4 @@
         }
     }
 
-
-    public SocialUserBo setAuthUserData(AuthUser authUserData, SocialUserBo socialUser) {
-        socialUser.setUserId(LoginHelper.getUserId());
-        socialUser.setAuthId(authUserData.getSource() + authUserData.getUuid());
-        socialUser.setSource(authUserData.getSource());
-        socialUser.setUserName(authUserData.getUsername());
-        socialUser.setNickName(authUserData.getNickname());
-        socialUser.setAvatar(authUserData.getAvatar());
-        socialUser.setEmail(authUserData.getEmail());
-        socialUser.setOpenId(authUserData.getUuid());
-        socialUser.setAccessToken(authUserData.getToken().getAccessToken());
-        socialUser.setExpireIn(authUserData.getToken().getExpireIn());
-        socialUser.setRefreshToken(authUserData.getToken().getRefreshToken());
-        socialUser.setAccessCode(authUserData.getToken().getAccessCode());
-        socialUser.setUnionId(authUserData.getToken().getUnionId());
-        socialUser.setScope(authUserData.getToken().getScope());
-        socialUser.setTokenType(authUserData.getToken().getTokenType());
-        socialUser.setIdToken(authUserData.getToken().getIdToken());
-        socialUser.setMacAlgorithm(authUserData.getToken().getMacAlgorithm());
-        socialUser.setMacKey(authUserData.getToken().getMacKey());
-        socialUser.setCode(authUserData.getToken().getCode());
-        socialUser.setOauthToken(authUserData.getToken().getOauthToken());
-        socialUser.setOauthTokenSecret(authUserData.getToken().getOauthTokenSecret());
-        return socialUser;
-    }
 }
diff --git a/ruoyi-common/ruoyi-common-bom/pom.xml b/ruoyi-common/ruoyi-common-bom/pom.xml
index 8a9e25a..cac678c 100644
--- a/ruoyi-common/ruoyi-common-bom/pom.xml
+++ b/ruoyi-common/ruoyi-common-bom/pom.xml
@@ -117,6 +117,12 @@
                 <version>${revision}</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.dromara</groupId>
+                <artifactId>ruoyi-common-social</artifactId>
+                <version>${revision}</version>
+            </dependency>
+
             <!-- web鏈嶅姟 -->
             <dependency>
                 <groupId>org.dromara</groupId>
diff --git a/ruoyi-common/ruoyi-common-social/pom.xml b/ruoyi-common/ruoyi-common-social/pom.xml
index b87479b..77135a6 100644
--- a/ruoyi-common/ruoyi-common-social/pom.xml
+++ b/ruoyi-common/ruoyi-common-social/pom.xml
@@ -1,35 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>org.dromara</groupId>
         <artifactId>ruoyi-common</artifactId>
         <version>${revision}</version>
-        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
+
     <artifactId>ruoyi-common-social</artifactId>
+
     <description>
-        ruoyi-common-auth 璁よ瘉妯″潡
+        ruoyi-common-social 鎺堟潈璁よ瘉
     </description>
+
     <dependencies>
         <dependency>
             <groupId>me.zhyd.oauth</groupId>
             <artifactId>JustAuth</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-        </dependency>
+
         <dependency>
             <groupId>org.dromara</groupId>
             <artifactId>ruoyi-common-redis</artifactId>
diff --git a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/SocialConfig.java b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/SocialConfig.java
index c50c560..7a9a166 100644
--- a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/SocialConfig.java
+++ b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/SocialConfig.java
@@ -17,7 +17,7 @@
 public class SocialConfig {
 
     @Bean
-    public AuthStateCache redis() {
+    public AuthStateCache authStateCache() {
         return new AuthRedisStateCache();
     }
 
diff --git a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/ConfigProperties.java b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialLoginConfigProperties.java
similarity index 94%
rename from ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/ConfigProperties.java
rename to ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialLoginConfigProperties.java
index 813b03a..2b63c1e 100644
--- a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/ConfigProperties.java
+++ b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialLoginConfigProperties.java
@@ -3,7 +3,7 @@
 import lombok.Data;
 
 @Data
-public class ConfigProperties {
+public class SocialLoginConfigProperties {
 
     /**
      * 搴旂敤 ID
diff --git a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialProperties.java b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialProperties.java
index 4240eba..811d821 100644
--- a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialProperties.java
+++ b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialProperties.java
@@ -24,7 +24,7 @@
     /**
      * 鎺堟潈绫诲瀷
      */
-    private Map<String, ConfigProperties> type;
+    private Map<String, SocialLoginConfigProperties> type;
 
     /**
      * 鎺堟潈杩囨湡鏃堕棿
diff --git a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/AuthRedisStateCache.java b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/AuthRedisStateCache.java
index f438a1c..f7f2392 100644
--- a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/AuthRedisStateCache.java
+++ b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/AuthRedisStateCache.java
@@ -12,21 +12,7 @@
 
 public class AuthRedisStateCache implements AuthStateCache {
 
-    private final SocialProperties socialProperties;
-    private final RedisTemplate<String, String> redisTemplate;
-
-    private ValueOperations<String, String> valueOperations;
-
-    @PostConstruct
-    public void init() {
-        valueOperations = redisTemplate.opsForValue();
-    }
-
-
-    public AuthRedisStateCache() {
-        this.socialProperties = new SocialProperties();
-        redisTemplate = new RedisTemplate<>();
-    }
+    private SocialProperties socialProperties;
 
     /**
      * 瀛樺叆缂撳瓨
diff --git a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java
index b3a1cd1..64e84e7 100644
--- a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java
+++ b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java
@@ -19,17 +19,17 @@
         AuthRequest authRequest = null;
         switch (source.toLowerCase()) {
             case "dingtalk" ->
-                authRequest = new AuthDingTalkRequest(AuthConfig.builder().
-                    clientId(clientId).
-                    clientSecret(clientSecret)
-                    .redirectUri(redirectUri).
-                    build());
+                authRequest = new AuthDingTalkRequest(AuthConfig.builder()
+                    .clientId(clientId)
+                    .clientSecret(clientSecret)
+                    .redirectUri(redirectUri)
+                    .build());
             case "baidu" ->
-                authRequest = new AuthBaiduRequest(AuthConfig.builder().
-                    clientId(clientId).
-                    clientSecret(clientSecret)
-                    .redirectUri(redirectUri).
-                    build());
+                authRequest = new AuthBaiduRequest(AuthConfig.builder()
+                    .clientId(clientId)
+                    .clientSecret(clientSecret)
+                    .redirectUri(redirectUri)
+                    .build());
             case "github" ->
                 authRequest = new AuthGithubRequest(AuthConfig.builder().clientId(clientId).clientSecret(clientSecret)
                     .redirectUri(redirectUri).build());
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SocialUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SocialUserController.java
deleted file mode 100644
index 9199406..0000000
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SocialUserController.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.dromara.system.controller.system;
-
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.dromara.common.idempotent.annotation.RepeatSubmit;
-import org.dromara.common.log.annotation.Log;
-import org.dromara.common.web.core.BaseController;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import org.dromara.common.core.domain.R;
-import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
-import org.dromara.common.log.enums.BusinessType;
-import org.dromara.common.excel.utils.ExcelUtil;
-import org.dromara.system.domain.vo.SocialUserVo;
-import org.dromara.system.domain.bo.SocialUserBo;
-import org.dromara.system.service.ISocialUserService;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-
-/**
- * 绀句細鍖栧叧绯�
- *
- * @author thiszhc
- * @date 2023-06-12
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/socialUser")
-public class SocialUserController extends BaseController {
-
-    private final ISocialUserService socialUserService;
-
-    /**
-     * 鏌ヨ绀句細鍖栧叧绯诲垪琛�
-     */
-    @SaCheckPermission("system:user:list")
-    @GetMapping("/list")
-    public TableDataInfo<SocialUserVo> list(SocialUserBo bo, PageQuery pageQuery) {
-        return socialUserService.queryPageList(bo, pageQuery);
-    }
-
-    /**
-     * 瀵煎嚭绀句細鍖栧叧绯诲垪琛�
-     */
-    @SaCheckPermission("system:user:export")
-    @Log(title = "绀句細鍖栧叧绯�", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(SocialUserBo bo, HttpServletResponse response) {
-        List<SocialUserVo> list = socialUserService.queryList(bo);
-        ExcelUtil.exportExcel(list, "绀句細鍖栧叧绯�", SocialUserVo.class, response);
-    }
-
-    /**
-     * 鑾峰彇绀句細鍖栧叧绯昏缁嗕俊鎭�
-     *
-     * @param id 涓婚敭
-     */
-    @SaCheckPermission("system:user:query")
-    @GetMapping("/{id}")
-    public R<SocialUserVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
-                                     @PathVariable Long id) {
-        return R.ok(socialUserService.queryById(id));
-    }
-
-    /**
-     * 鏂板绀句細鍖栧叧绯�
-     */
-    @SaCheckPermission("system:user:add")
-    @Log(title = "绀句細鍖栧叧绯�", businessType = BusinessType.INSERT)
-    @RepeatSubmit()
-    @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody SocialUserBo bo) {
-        return toAjax(socialUserService.insertByBo(bo));
-    }
-
-    /**
-     * 淇敼绀句細鍖栧叧绯�
-     */
-    @SaCheckPermission("system:user:edit")
-    @Log(title = "绀句細鍖栧叧绯�", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping()
-    public R<Void> edit(@Validated(EditGroup.class) @RequestBody SocialUserBo bo) {
-        return toAjax(socialUserService.updateByBo(bo));
-    }
-
-    /**
-     * 鍒犻櫎绀句細鍖栧叧绯�
-     *
-     * @param ids 涓婚敭涓�
-     */
-    @SaCheckPermission("system:user:remove")
-    @Log(title = "绀句細鍖栧叧绯�", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
-                          @PathVariable Long[] ids) {
-        return toAjax(socialUserService.deleteWithValidByIds(List.of(ids), true));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISocialUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISocialUserService.java
index f16cf16..d9e87f7 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISocialUserService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISocialUserService.java
@@ -20,34 +20,10 @@
 public interface ISocialUserService {
 
     /**
-     * 鏌ヨ鎺堟潈鍏崇郴
-     */
-    SocialUserVo queryById(Long id);
-
-    /**
-     * 鏌ヨ鎺堟潈鍒楄〃
-     */
-    TableDataInfo<SocialUserVo> queryPageList(SocialUserBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ鎺堟潈鍒楄〃
-     */
-    List<SocialUserVo> queryList(SocialUserBo bo);
-
-    /**
      * 鏂板鎺堟潈鍏崇郴
      */
     Boolean insertByBo(SocialUserBo bo);
 
-    /**
-     * 淇敼鎺堟潈鍏崇郴
-     */
-    Boolean updateByBo(SocialUserBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄ょぞ浼氬寲鍏崇郴淇℃伅
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
     /**
      * 鍒犻櫎绀句細鍖栧叧绯讳俊鎭�
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SocialUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SocialUserServiceImpl.java
index c130fb7..fc34244 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SocialUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SocialUserServiceImpl.java
@@ -34,56 +34,6 @@
     private final SocialUserMapper baseMapper;
 
     /**
-     * 鏌ヨ绀句細鍖栧叧绯�
-     */
-    @Override
-    public SocialUserVo queryById(Long id) {
-        return baseMapper.selectVoById(id);
-    }
-
-    /**
-     * 鏌ヨ绀句細鍖栧叧绯诲垪琛�
-     */
-    @Override
-    public TableDataInfo<SocialUserVo> queryPageList(SocialUserBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<SocialUser> lqw = buildQueryWrapper(bo);
-        Page<SocialUserVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
-    }
-
-    /**
-     * 鏌ヨ绀句細鍖栧叧绯诲垪琛�
-     */
-    @Override
-    public List<SocialUserVo> queryList(SocialUserBo bo) {
-        LambdaQueryWrapper<SocialUser> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
-    }
-
-    private LambdaQueryWrapper<SocialUser> buildQueryWrapper(SocialUserBo bo) {
-        Map<String, Object> params = bo.getParams();
-        LambdaQueryWrapper<SocialUser> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StringUtils.isNotBlank(bo.getAuthId()), SocialUser::getAuthId, bo.getAuthId());
-        lqw.eq(StringUtils.isNotBlank(bo.getSource()), SocialUser::getSource, bo.getSource());
-        lqw.eq(StringUtils.isNotBlank(bo.getAccessToken()), SocialUser::getAccessToken, bo.getAccessToken());
-        lqw.eq(bo.getExpireIn() !=  0, SocialUser::getExpireIn, bo.getExpireIn());
-        lqw.eq(StringUtils.isNotBlank(bo.getRefreshToken()), SocialUser::getRefreshToken, bo.getRefreshToken());
-        lqw.eq(StringUtils.isNotBlank(bo.getOpenId()), SocialUser::getOpenId, bo.getOpenId());
-        lqw.eq(StringUtils.isNotBlank(bo.getScope()), SocialUser::getScope, bo.getScope());
-        lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), SocialUser::getAccessCode, bo.getAccessCode());
-        lqw.eq(StringUtils.isNotBlank(bo.getUnionId()), SocialUser::getUnionId, bo.getUnionId());
-        lqw.eq(StringUtils.isNotBlank(bo.getScope()), SocialUser::getScope, bo.getScope());
-        lqw.eq(StringUtils.isNotBlank(bo.getTokenType()), SocialUser::getTokenType, bo.getTokenType());
-        lqw.eq(StringUtils.isNotBlank(bo.getIdToken()), SocialUser::getIdToken, bo.getIdToken());
-        lqw.eq(StringUtils.isNotBlank(bo.getMacAlgorithm()), SocialUser::getMacAlgorithm, bo.getMacAlgorithm());
-        lqw.eq(StringUtils.isNotBlank(bo.getMacKey()), SocialUser::getMacKey, bo.getMacKey());
-        lqw.eq(StringUtils.isNotBlank(bo.getCode()), SocialUser::getCode, bo.getCode());
-        lqw.eq(StringUtils.isNotBlank(bo.getOauthToken()), SocialUser::getOauthToken, bo.getOauthToken());
-        lqw.eq(StringUtils.isNotBlank(bo.getOauthTokenSecret()), SocialUser::getOauthTokenSecret, bo.getOauthTokenSecret());
-        return lqw;
-    }
-
-    /**
      * 鏂板绀句細鍖栧叧绯�
      */
     @Override
@@ -97,15 +47,6 @@
         return flag;
     }
 
-    /**
-     * 淇敼绀句細鍖栧叧绯�
-     */
-    @Override
-    public Boolean updateByBo(SocialUserBo bo) {
-        SocialUser update = MapstructUtils.convert(bo, SocialUser.class);
-        validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
-    }
 
     /**
      * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
@@ -114,16 +55,6 @@
         //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
     }
 
-    /**
-     * 鎵归噺鍒犻櫎绀句細鍖栧叧绯�
-     */
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if (isValid) {
-            //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
-        }
-        return baseMapper.deleteBatchIds(ids) > 0;
-    }
 
     /**
      * 鍒犻櫎绀句細鍖栧叧绯�
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SocialUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SocialUserMapper.xml
index fb636b1..0c50ee6 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SocialUserMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SocialUserMapper.xml
@@ -8,61 +8,17 @@
         <id property="id" column="id"/>
     </resultMap>
 
-    <sql id="selectSocialUser">
-        select id,
-               user_id,
-               tenant_id,
-               auth_id,
-               source,
-               open_id,
-               access_token,
-               expire_in,
-               refresh_token,
-               access_code,
-               union_id,
-               scope,
-               token_type,
-               id_token,
-               mac_algorithm,
-               mac_key,
-               code,
-               oauth_token,
-               oauth_token_secret,
-               create_dept,
-               create_by,
-               create_time,
-               update_by,
-               update_time
-        from social_user
-    </sql>
-
-    <!-- 鏍规嵁userId鏌ヨSocialUser琛ㄥ搴攗serId鐨凷ysUser锛岃繑鍥濻ysUserBo鐨勫璞� -->
-    <select id="selectSocialUserByUserId" parameterType="String" resultMap="SocialUserAuthResult">
-        select b.*
-        from social_user a
-            left join sys_user b on a.user_id = b.user_id
-        where a.user_id = #{userId}
-    </select>
-
-
     <!-- 鏍规嵁authId鏌ヨSocialUser琛ㄥ拰SysUser琛紝杩斿洖SocialUserAuthResult鏄犲皠鐨勫璞� -->
     <select id="selectSocialUserByAuthId" parameterType="String" resultMap="SocialUserAuthResult">
-        select b.user_id as userId,
-               b.tenant_id as tenantId,
-               b.user_name as userName,
-               b.password as password,
-               a.auth_id as authId,
-               a.source as source
+        select b.user_id,
+               b.tenant_id,
+               b.user_name,
+               b.password,
+               a.auth_id,
+               a.source
         from social_user a
-            left join sys_user b on a.user_id = b.user_id
+                 left join sys_user b on a.user_id = b.user_id
         where a.auth_id = #{authId}
-    </select>
-
-    <!-- 鏍规嵁userId鍜宻ource鏌ヨSocialUser琛紝杩斿洖int绫诲瀷鐨勭粨鏋� -->
-    <select id="checkSocialUser" parameterType="org.dromara.system.domain.vo.SocialUserVo" resultType="int">
-        select count(*)
-        from social_user
-        where user_id = #{userId} and source = #{source} limit 1
     </select>
 
 </mapper>
diff --git a/script/sql/ry_vue_5.X.sql b/script/sql/ry_vue_5.X.sql
index 8c10bb2..94b8765 100644
--- a/script/sql/ry_vue_5.X.sql
+++ b/script/sql/ry_vue_5.X.sql
@@ -1,43 +1,40 @@
-
 -- ----------------------------
 -- 绗笁鏂瑰钩鍙版巿鏉冭〃
 -- ----------------------------
-CREATE TABLE `social_user`
+DROP TABLE IF EXISTS social_user;
+CREATE TABLE social_user
 (
-    `id`                 bigint unsigned NOT NULL COMMENT '涓婚敭',
-    `user_id`            bigint          NOT NULL COMMENT '鐢ㄦ埛ID',
-    `tenant_id`          varchar(20)                                              DEFAULT NULL COMMENT '绉熸埛id',
-    `auth_id`            varchar(255)    NOT NULL COMMENT '鎺堟潈+鎺堟潈openid',
-    `source`             varchar(255)    NOT NULL COMMENT '鐢ㄦ埛鏉ユ簮',
-    `open_id`            varchar(255)                                             DEFAULT NULL COMMENT '鍘熺敓open id',
-    `user_name`          varchar(30)     NOT NULL COMMENT '鐧诲綍璐﹀彿',
-    `nick_name`          varchar(30)                                              DEFAULT '' COMMENT '鐢ㄦ埛鏄电О',
-    `email`              varchar(255)                                             DEFAULT '' COMMENT '鐢ㄦ埛閭',
-    `avatar`             varchar(500)                                             DEFAULT '' COMMENT '澶村儚鍦板潃',
-    `access_token`       varchar(255)    NOT NULL COMMENT '鐢ㄦ埛鐨勬巿鏉冧护鐗�',
-    `expire_in`          int                                                      DEFAULT NULL COMMENT '鐢ㄦ埛鐨勬巿鏉冧护鐗岀殑鏈夋晥鏈燂紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `refresh_token`      varchar(255)                                             DEFAULT NULL COMMENT '鍒锋柊浠ょ墝锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�',
-    `access_code`        varchar(255)                                             DEFAULT NULL COMMENT '骞冲彴鐨勬巿鏉冧俊鎭紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `union_id`           varchar(255)                                             DEFAULT NULL COMMENT '鐢ㄦ埛鐨� unionid',
-    `scope`              varchar(255)                                             DEFAULT NULL COMMENT '鎺堜簣鐨勬潈闄愶紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `token_type`         varchar(255)                                             DEFAULT NULL COMMENT '涓埆骞冲彴鐨勬巿鏉冧俊鎭紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `id_token`           varchar(255)                                             DEFAULT NULL COMMENT 'id token锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�',
-    `mac_algorithm`      varchar(255)                                             DEFAULT NULL COMMENT '灏忕背骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `mac_key`            varchar(255)                                             DEFAULT NULL COMMENT '灏忕背骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `code`               varchar(255)                                             DEFAULT NULL COMMENT '鐢ㄦ埛鐨勬巿鏉僣ode锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�',
-    `oauth_token`        varchar(255)                                             DEFAULT NULL COMMENT 'Twitter骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `oauth_token_secret` varchar(255)                                             DEFAULT NULL COMMENT 'Twitter骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
-    `create_dept`        bigint                                                   DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-    `create_by`          bigint          NOT NULL COMMENT '鍒涘缓浜�',
-    `create_time`        datetime                                                 DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `update_by`          bigint          NOT NULL COMMENT '鏇存柊浜�',
-    `update_time`        datetime                                                 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
-    `del_flag`           char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB
-  DEFAULT CHARSET = utf8mb4
-  COLLATE = utf8mb4_general_ci
-  ROW_FORMAT = DYNAMIC COMMENT ='绀句細鍖栧叧绯昏〃';
+    id                 BIGINT UNSIGNED NOT NULL COMMENT '涓婚敭',
+    user_id            BIGINT          NOT NULL COMMENT '鐢ㄦ埛ID',
+    tenant_id          VARCHAR(20)  DEFAULT NULL COMMENT '绉熸埛id',
+    auth_id            VARCHAR(255)    NOT NULL COMMENT '鎺堟潈+鎺堟潈openid',
+    source             VARCHAR(255)    NOT NULL COMMENT '鐢ㄦ埛鏉ユ簮',
+    open_id            VARCHAR(255) DEFAULT NULL COMMENT '鍘熺敓open id',
+    user_name          VARCHAR(30)     NOT NULL COMMENT '鐧诲綍璐﹀彿',
+    nick_name          VARCHAR(30)  DEFAULT '' COMMENT '鐢ㄦ埛鏄电О',
+    email              VARCHAR(255) DEFAULT '' COMMENT '鐢ㄦ埛閭',
+    avatar             VARCHAR(500) DEFAULT '' COMMENT '澶村儚鍦板潃',
+    access_token       VARCHAR(255)    NOT NULL COMMENT '鐢ㄦ埛鐨勬巿鏉冧护鐗�',
+    expire_in          INT          DEFAULT NULL COMMENT '鐢ㄦ埛鐨勬巿鏉冧护鐗岀殑鏈夋晥鏈燂紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    refresh_token      VARCHAR(255) DEFAULT NULL COMMENT '鍒锋柊浠ょ墝锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�',
+    access_code        VARCHAR(255) DEFAULT NULL COMMENT '骞冲彴鐨勬巿鏉冧俊鎭紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    union_id           VARCHAR(255) DEFAULT NULL COMMENT '鐢ㄦ埛鐨� unionid',
+    scope              VARCHAR(255) DEFAULT NULL COMMENT '鎺堜簣鐨勬潈闄愶紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    token_type         VARCHAR(255) DEFAULT NULL COMMENT '涓埆骞冲彴鐨勬巿鏉冧俊鎭紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    id_token           VARCHAR(255) DEFAULT NULL COMMENT 'id token锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�',
+    mac_algorithm      VARCHAR(255) DEFAULT NULL COMMENT '灏忕背骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    mac_key            VARCHAR(255) DEFAULT NULL COMMENT '灏忕背骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    code               VARCHAR(255) DEFAULT NULL COMMENT '鐢ㄦ埛鐨勬巿鏉僣ode锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�',
+    oauth_token        VARCHAR(255) DEFAULT NULL COMMENT 'Twitter骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    oauth_token_secret VARCHAR(255) DEFAULT NULL COMMENT 'Twitter骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁',
+    create_dept        bigint(20) comment '鍒涘缓閮ㄩ棬',
+    create_by          bigint(20) comment '鍒涘缓鑰�',
+    create_time        datetime comment '鍒涘缓鏃堕棿',
+    update_by          bigint(20) comment '鏇存柊鑰�',
+    update_time        datetime comment '鏇存柊鏃堕棿',
+    del_flag           char(1)      default '0' comment '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
+    PRIMARY KEY (id)
+) ENGINE = InnoDB COMMENT ='绀句細鍖栧叧绯昏〃';
 
 -- ----------------------------
 -- 绉熸埛琛�

--
Gitblit v1.9.3