From c738530fb3890f50b788375ec5a81b8f03242cc6 Mon Sep 17 00:00:00 2001
From: qirong <2032486488@qq.com>
Date: 星期三, 22 十一月 2023 16:11:21 +0800
Subject: [PATCH] 修改

---
 ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 deletions(-)

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 86452e5..a1bf9ba 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,6 +3,7 @@
 import cn.dev33.satoken.annotation.SaIgnore;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -23,12 +24,13 @@
 import org.dromara.common.social.utils.SocialUtils;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.system.domain.SysClient;
+import org.dromara.system.domain.SysUser;
 import org.dromara.system.domain.bo.SysTenantBo;
+import org.dromara.system.domain.bo.SysUserBo;
 import org.dromara.system.domain.vo.SysTenantVo;
-import org.dromara.system.service.ISysClientService;
-import org.dromara.system.service.ISysConfigService;
-import org.dromara.system.service.ISysSocialService;
-import org.dromara.system.service.ISysTenantService;
+import org.dromara.system.mapper.SysUserMapper;
+import org.dromara.system.service.*;
+import org.dromara.system.uitil.AutoLoginUtil;
 import org.dromara.web.domain.vo.LoginTenantVo;
 import org.dromara.web.domain.vo.LoginVo;
 import org.dromara.web.domain.vo.TenantListVo;
@@ -61,6 +63,8 @@
     private final ISysTenantService tenantService;
     private final ISysSocialService socialUserService;
     private final ISysClientService clientService;
+    private final ISysUserService userService;
+    private final SysUserMapper userMapper;
 
 
     /**
@@ -186,4 +190,28 @@
         return R.ok(vo);
     }
 
+    /**
+     * 鑷姩娉ㄥ唽骞剁櫥褰�
+     */
+//    @SaCheckPermission("system:user:auto")
+    @PutMapping(value = "auto")
+    public R<LoginVo> auto(@Validated @RequestBody RegisterBody user) {
+        AutoLoginUtil.padding(user);
+        String clientId = "e5cd7e4891bf95d1d19206ce24a7b32e";
+        //pc
+        SysClient client = clientService.queryByClientId(clientId);
+        //妫�楠屾槸鍚﹀瓨鍦ㄨ处鍙�
+        boolean exists = userMapper.exists(new LambdaQueryWrapper<SysUser>()
+            .eq(SysUser::getUserName, user.getUsername())
+            .eq(SysUser::getStatus, "0")
+            .eq(SysUser::getDelFlag, "0"));
+        if(!exists){
+            registerService.register(user);
+        }
+
+        LoginBody loginBody = AutoLoginUtil.create(user,clientId);
+//         鐧诲綍
+        return R.ok(IAuthStrategy.login(loginBody, client));
+    }
+
 }

--
Gitblit v1.8.0