From 2f13f59f023fba63aa993172d48c14bcaaafb233 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 16 五月 2024 13:53:34 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   49 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 90c1fa5..ba0c22b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -1,11 +1,19 @@
 package com.ruoyi.web.controller.system;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
+import java.util.UUID;
 
+import com.aliyun.dingtalkoauth2_1_0.models.GetSsoUserInfoResponseBody;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.model.LoginBodyByOpenID;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.service.DingTalkService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
@@ -23,13 +31,12 @@
 
 /**
  * 鐧诲綍楠岃瘉
- * 
+ *
  * @author ruoyi
  */
 @Api("鐢ㄦ埛鐧诲綍")
 @RestController
-public class SysLoginController
-{
+public class SysLoginController {
     @Autowired
     private SysLoginService loginService;
 
@@ -39,6 +46,8 @@
     @Autowired
     private SysPermissionService permissionService;
 
+    @Autowired
+    private DingTalkService dingTalkService;
 
 
     /**
@@ -50,29 +59,36 @@
     @ApiOperation("寰俊OpenID鐧诲綍")
     @ApiImplicitParam(name = "loginBody", value = "鐧诲綍淇℃伅", dataType = "LoginBodyByOpenID")
     @PostMapping("/openidlogin")
-    public AjaxResult openidLogin(@RequestBody LoginBodyByOpenID loginBody)
-    {
-        String openid=loginBody.getOpenid();
+    public AjaxResult openidLogin(@RequestBody LoginBodyByOpenID loginBody) {
+        String openid = loginBody.getOpenid();
         AjaxResult ajax = loginService.wxopenidLogin(openid);
         return ajax;
     }
 
-
     /**
      * 鐧诲綍鏂规硶
-     * 
+     *
      * @param loginBody 鐧诲綍淇℃伅
      * @return 缁撴灉
      */
     @ApiOperation("鐧诲綍淇℃伅")
     @Log(title = "鐧诲綍淇℃伅", businessType = BusinessType.OTHER)
     @PostMapping("/login")
-    public AjaxResult login(@RequestBody LoginBody loginBody)
-    {
+    public AjaxResult login(@RequestBody LoginBody loginBody) {
         AjaxResult ajax = AjaxResult.success();
+//        dingTalkService.deptidList(1L, 1);
+        Map<String, Object> userIdMap = null;
+        if (StringUtils.isNotEmpty(loginBody.getAuthCode())) {
+            Map<String, Object> map = dingTalkService.noLogin(loginBody.getAuthCode());
+            userIdMap = (Map<String, Object>) map.get("result");
+        }
         // 鐢熸垚浠ょ墝
-        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
-                loginBody.getUuid(), loginBody.getOpenid());
+        String token = null;
+        if (!ObjectUtils.isEmpty(userIdMap)) {
+            token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), userIdMap.get("userid").toString());
+        } else {
+            token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), null);
+        }
 
         ajax.put(Constants.TOKEN, token);
         return ajax;
@@ -81,12 +97,11 @@
 
     /**
      * 鑾峰彇鐢ㄦ埛淇℃伅
-     * 
+     *
      * @return 鐢ㄦ埛淇℃伅
      */
     @GetMapping("getInfo")
-    public AjaxResult getInfo()
-    {
+    public AjaxResult getInfo() {
         SysUser user = SecurityUtils.getLoginUser().getUser();
         // 瑙掕壊闆嗗悎
         Set<String> roles = permissionService.getRolePermission(user);
@@ -104,11 +119,11 @@
     /**
      * 鑾峰彇璺敱淇℃伅
      * /addOrUpdateRBpayee/addOrUpdateRBpayee/addOrUpdateRBpayee
+     *
      * @return 璺敱淇℃伅
      */
     @GetMapping("getRouters")
-    public AjaxResult getRouters()
-    {
+    public AjaxResult getRouters() {
         Long userId = SecurityUtils.getUserId();
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
         return AjaxResult.success(menuService.buildMenus(menus));

--
Gitblit v1.9.3