登录接口增加返回角色code数据

This commit is contained in:
caozhen
2023-09-18 17:43:03 +08:00
parent 99af43b42a
commit 8777461841
2 changed files with 25 additions and 4 deletions
@@ -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;
}
@@ -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<SysUserRole> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUserRole::getUserId, userId);
List<SysUserRole> sysUserRoles = sysUserRoleService.list(wrapper);
if (!sysUserRoles.isEmpty()){
List<String> collect = sysUserRoles.stream().map(SysUserRole::getRoleId).distinct().collect(Collectors.toList());
List<SysRole> roles = sysRoleService.listByIds(collect);
String code = roles.stream().map(SysRole::getRoleCode).collect(Collectors.joining(","));
sysUser.setRoleCode(code);
}
}
// 获取用户部门信息
JSONObject obj = new JSONObject();
List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());