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 |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 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 6328a4c..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,12 +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;
@@ -39,6 +46,9 @@
     @Autowired
     private SysPermissionService permissionService;
 
+    @Autowired
+    private DingTalkService dingTalkService;
+
 
     /**
      * 寰俊OpenID鐧诲綍鏂规硶
@@ -55,7 +65,6 @@
         return ajax;
     }
 
-
     /**
      * 鐧诲綍鏂规硶
      *
@@ -67,8 +76,19 @@
     @PostMapping("/login")
     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;

--
Gitblit v1.9.3