From 65314b14210a175bae095649584614973b3619df Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 12 八月 2025 13:48:14 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 88 ++++++++++++++++++++++++++++++------------- 1 files changed, 61 insertions(+), 27 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 49953af..f09be90 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,35 +1,45 @@ package com.ruoyi.web.controller.system; -import java.util.List; -import java.util.Set; - +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.domain.model.LoginBodyByOpenID; -import com.ruoyi.common.enums.BusinessType; -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.util.List; +import java.util.Map; +import java.util.Set; /** * 鐧诲綍楠岃瘉 - * + * * @author ruoyi */ +@Slf4j @Api("鐢ㄦ埛鐧诲綍") @RestController -public class SysLoginController -{ +public class SysLoginController { @Autowired private SysLoginService loginService; @@ -39,6 +49,8 @@ @Autowired private SysPermissionService permissionService; + @Autowired + private DingTalkService dingTalkService; /** @@ -50,29 +62,52 @@ @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; } + /** + * 绗笁鏂硅幏鍙杢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()); + ajax.put(Constants.TOKEN, token); + 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) { + log.info("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"); + } + log.info("userIdMap鐨勫�间负锛歿}", userIdMap); // 鐢熸垚浠ょ墝 - 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 +116,11 @@ /** * 鑾峰彇鐢ㄦ埛淇℃伅 - * + * * @return 鐢ㄦ埛淇℃伅 */ @GetMapping("getInfo") - public AjaxResult getInfo() - { + public AjaxResult getInfo() { SysUser user = SecurityUtils.getLoginUser().getUser(); // 瑙掕壊闆嗗悎 Set<String> roles = permissionService.getRolePermission(user); @@ -103,12 +137,12 @@ /** * 鑾峰彇璺敱淇℃伅 - * + * /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