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());