From 877746184123309632c4daca6e3250841d00e4d6 Mon Sep 17 00:00:00 2001 From: caozhen <18736171426@139.com> Date: Mon, 18 Sep 2023 17:43:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=BF=94=E5=9B=9E=E8=A7=92=E8=89=B2code=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/system/entity/SysUser.java | 4 +++ .../system/service/impl/LoginServiceImpl.java | 25 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/laws-module-system/src/main/java/com/jero/modules/system/entity/SysUser.java b/laws-module-system/src/main/java/com/jero/modules/system/entity/SysUser.java index ef504da1..cf805e21 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/entity/SysUser.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/entity/SysUser.java @@ -1,6 +1,7 @@ package com.jero.modules.system.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.fasterxml.jackson.annotation.JsonFormat; @@ -182,4 +183,7 @@ public class SysUser implements Serializable { private String thirdId;//用户域账号 private String thirdType;//用户数据来源 + + @TableField(exist = false) + private String roleCode; } diff --git a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java index cc40b9fc..49e51f0f 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java @@ -15,15 +15,13 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.*; import com.jero.common.util.encryption.EncryptedString; import com.jero.modules.base.service.BaseCommonService; -import com.jero.modules.system.entity.SysDepart; -import com.jero.modules.system.entity.SysPermission; -import com.jero.modules.system.entity.SysTenant; -import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.entity.*; import com.jero.modules.system.model.SysLoginModel; import com.jero.modules.system.service.*; import com.jero.modules.system.util.RandImageUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; @@ -34,6 +32,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.stream.Collectors; /** * 登录 实现类 @@ -60,6 +59,10 @@ public class LoginServiceImpl implements ILoginService { private BaseCommonService baseCommonService; @Resource private ISysPermissionService sysPermissionService; + @Resource + private ISysUserRoleService sysUserRoleService; + @Resource + private ISysRoleService sysRoleService; private static final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890"; //密码登录错误的次数前缀 @@ -488,6 +491,20 @@ public class LoginServiceImpl implements ILoginService { String syspassword = sysUser.getPassword(); String username = sysUser.getUsername(); + //获取用户角色信息 + String userId = sysUser.getId(); + if (StringUtils.isNotBlank(userId)){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysUserRole::getUserId, userId); + List sysUserRoles = sysUserRoleService.list(wrapper); + if (!sysUserRoles.isEmpty()){ + List collect = sysUserRoles.stream().map(SysUserRole::getRoleId).distinct().collect(Collectors.toList()); + List roles = sysRoleService.listByIds(collect); + String code = roles.stream().map(SysRole::getRoleCode).collect(Collectors.joining(",")); + sysUser.setRoleCode(code); + } + } + // 获取用户部门信息 JSONObject obj = new JSONObject(); List departs = sysDepartService.queryUserDeparts(sysUser.getId());