实现管理端角色查询对应的数据

This commit is contained in:
Qi 2025-05-08 14:46:23 +08:00
parent 507546d680
commit 9f057fa005
3 changed files with 99 additions and 4 deletions

View File

@ -1,5 +1,6 @@
package org.jeecg.modules.contoller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -8,13 +9,20 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSON;
import net.sf.json.JSONObject;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.CeesLocalTeacher;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.service.ICeesLocalTeacherService;
import org.jeecg.modules.system.entity.SysRole;
import org.jeecg.modules.system.entity.SysUserRole;
import org.jeecg.modules.system.mapper.SysRoleMapper;
import org.jeecg.modules.system.mapper.SysUserRoleMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener;
import org.springframework.web.bind.annotation.*;
@ -40,6 +48,10 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
private ICeesLocalTeacherService ceesLocalTeacherService;
@Autowired
private StartupTimeMetricsListener startupTimeMetrics;
@Autowired
SysUserRoleMapper sysUserRoleMapper;
@Autowired
SysRoleMapper sysRoleMapper;
/**
* 分页列表查询
@ -57,7 +69,29 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
//用于对应角色查询数据
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 当前用户id
String userId=user.getId();
//查询当前用户的角色
LambdaQueryWrapper<SysUserRole> queryUserRole = new LambdaQueryWrapper<>();
queryUserRole.eq(SysUserRole::getUserId, userId);
SysUserRole sysUserRole = sysUserRoleMapper.selectOne(queryUserRole);
String roleId = sysUserRole.getRoleId();
//获取对应角色数据
LambdaQueryWrapper<SysRole> queryRole = new LambdaQueryWrapper<>();
queryRole.eq(SysRole::getId, roleId);
SysRole sysRole = sysRoleMapper.selectOne(queryRole);
String roleCode = sysRole.getRoleCode();
QueryWrapper<CeesLocalTeacher> queryWrapper = QueryGenerator.initQueryWrapper(ceesLocalTeacher, req.getParameterMap());
//待规范条件
if(roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
Page<CeesLocalTeacher> page = new Page<CeesLocalTeacher>(pageNo, pageSize);
IPage<CeesLocalTeacher> pageList = ceesLocalTeacherService.page(page, queryWrapper);
pageList.convert(e->e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())));

View File

@ -1,19 +1,26 @@
package org.jeecg.modules.contoller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.Student;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.service.IStudentService;
import org.jeecg.modules.system.entity.SysRole;
import org.jeecg.modules.system.entity.SysUserRole;
import org.jeecg.modules.system.mapper.SysRoleMapper;
import org.jeecg.modules.system.mapper.SysUserRoleMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@ -21,6 +28,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
@ -36,6 +44,10 @@ import java.util.Map;
public class StudentController extends JeecgController<Student, IStudentService> {
@Autowired
private IStudentService studentService;
@Autowired
SysUserRoleMapper sysUserRoleMapper;
@Autowired
SysRoleMapper sysRoleMapper;
/**
* 分页列表查询
@ -53,7 +65,28 @@ public class StudentController extends JeecgController<Student, IStudentService>
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
//用于对应角色查询数据
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 当前用户id
String userId=user.getId();
//查询当前用户的角色
LambdaQueryWrapper<SysUserRole> queryUserRole = new LambdaQueryWrapper<>();
queryUserRole.eq(SysUserRole::getUserId, userId);
SysUserRole sysUserRole = sysUserRoleMapper.selectOne(queryUserRole);
String roleId = sysUserRole.getRoleId();
//获取对应角色数据
LambdaQueryWrapper<SysRole> queryRole = new LambdaQueryWrapper<>();
queryRole.eq(SysRole::getId, roleId);
SysRole sysRole = sysRoleMapper.selectOne(queryRole);
String roleCode = sysRole.getRoleCode();
QueryWrapper<Student> queryWrapper = QueryGenerator.initQueryWrapper(student, req.getParameterMap());
//待规范条件
if(roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
Page<Student> page = new Page<Student>(pageNo, pageSize);
IPage<Student> pageList = studentService.page(page, queryWrapper);
pageList.convert(e->e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())));

View File

@ -10,12 +10,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesLocalTeacher;
import org.jeecg.modules.entity.CeesUser;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.*;
import org.jeecg.modules.entity.dto.UpdateGroupUserDto;
import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesDormitoryInfoMapper;
@ -23,6 +22,10 @@ import org.jeecg.modules.mapper.CeesGroupMapper;
import org.jeecg.modules.mapper.CeesUserMapper;
import org.jeecg.modules.mapper.CeesWaiTeacherMapper;
import org.jeecg.modules.service.ICeesWaiTeacherService;
import org.jeecg.modules.system.entity.SysRole;
import org.jeecg.modules.system.entity.SysUserRole;
import org.jeecg.modules.system.mapper.SysRoleMapper;
import org.jeecg.modules.system.mapper.SysUserRoleMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -48,6 +51,10 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
CeesUserMapper ceesUserMapper;
@Resource
CeesGroupMapper ceesGroupMapper;
@Resource
SysRoleMapper sysRoleMapper;
@Resource
SysUserRoleMapper sysUserRoleMapper;
@Override
public Result updateDormitory(String id, String dormitoryId) {
@ -87,7 +94,28 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
*/
@Override
public IPage<CeesWaiTeacher> queryPageList(CeesWaiTeacher ceesWaiTeacher, Integer pageNo, Integer pageSize, HttpServletRequest req) {
//用于对应角色查询数据
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 当前用户id
String userId=user.getId();
//查询当前用户的角色
LambdaQueryWrapper<SysUserRole> queryUserRole = new LambdaQueryWrapper<>();
queryUserRole.eq(SysUserRole::getUserId, userId);
SysUserRole sysUserRole = sysUserRoleMapper.selectOne(queryUserRole);
String roleId = sysUserRole.getRoleId();
//获取对应角色数据
LambdaQueryWrapper<SysRole> queryRole = new LambdaQueryWrapper<>();
queryRole.eq(SysRole::getId, roleId);
SysRole sysRole = sysRoleMapper.selectOne(queryRole);
String roleCode = sysRole.getRoleCode();
QueryWrapper<CeesWaiTeacher> queryWrapper = QueryGenerator.initQueryWrapper(ceesWaiTeacher, req.getParameterMap());
//待规范条件
if(roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
Page<CeesWaiTeacher> page = new Page<>(pageNo, pageSize);
IPage<CeesWaiTeacher> pageList = page(page, queryWrapper);
Set<String> dormitoryIdList = pageList.getRecords().stream().map(CeesWaiTeacher::getDormitoryId).collect(Collectors.toSet());