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

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; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -8,13 +9,20 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSON; import net.sf.json.JSON;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator; 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.CeesLocalTeacher;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.service.ICeesLocalTeacherService; 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.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener; import org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -40,6 +48,10 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
private ICeesLocalTeacherService ceesLocalTeacherService; private ICeesLocalTeacherService ceesLocalTeacherService;
@Autowired @Autowired
private StartupTimeMetricsListener startupTimeMetrics; 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="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) { 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()); 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); Page<CeesLocalTeacher> page = new Page<CeesLocalTeacher>(pageNo, pageSize);
IPage<CeesLocalTeacher> pageList = ceesLocalTeacherService.page(page, queryWrapper); IPage<CeesLocalTeacher> pageList = ceesLocalTeacherService.page(page, queryWrapper);
pageList.convert(e->e.setMajorIdDescription(MajorEnum.describe(e.getMajorId()))); pageList.convert(e->e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())));

View File

@ -1,19 +1,26 @@
package org.jeecg.modules.contoller; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.Student; import org.jeecg.modules.entity.Student;
import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.service.IStudentService; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; 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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -36,6 +44,10 @@ import java.util.Map;
public class StudentController extends JeecgController<Student, IStudentService> { public class StudentController extends JeecgController<Student, IStudentService> {
@Autowired @Autowired
private IStudentService studentService; 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="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) { 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()); 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); Page<Student> page = new Page<Student>(pageNo, pageSize);
IPage<Student> pageList = studentService.page(page, queryWrapper); IPage<Student> pageList = studentService.page(page, queryWrapper);
pageList.convert(e->e.setMajorIdDescription(MajorEnum.describe(e.getMajorId()))); 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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.entity.CeesDormitoryInfo; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.CeesLocalTeacher; import org.jeecg.modules.entity.*;
import org.jeecg.modules.entity.CeesUser;
import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.entity.dto.UpdateGroupUserDto; import org.jeecg.modules.entity.dto.UpdateGroupUserDto;
import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesDormitoryInfoMapper; 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.CeesUserMapper;
import org.jeecg.modules.mapper.CeesWaiTeacherMapper; import org.jeecg.modules.mapper.CeesWaiTeacherMapper;
import org.jeecg.modules.service.ICeesWaiTeacherService; 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 org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -48,6 +51,10 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
CeesUserMapper ceesUserMapper; CeesUserMapper ceesUserMapper;
@Resource @Resource
CeesGroupMapper ceesGroupMapper; CeesGroupMapper ceesGroupMapper;
@Resource
SysRoleMapper sysRoleMapper;
@Resource
SysUserRoleMapper sysUserRoleMapper;
@Override @Override
public Result updateDormitory(String id, String dormitoryId) { public Result updateDormitory(String id, String dormitoryId) {
@ -87,7 +94,28 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
*/ */
@Override @Override
public IPage<CeesWaiTeacher> queryPageList(CeesWaiTeacher ceesWaiTeacher, Integer pageNo, Integer pageSize, HttpServletRequest req) { 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()); QueryWrapper<CeesWaiTeacher> queryWrapper = QueryGenerator.initQueryWrapper(ceesWaiTeacher, req.getParameterMap());
//待规范条件
if(roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
Page<CeesWaiTeacher> page = new Page<>(pageNo, pageSize); Page<CeesWaiTeacher> page = new Page<>(pageNo, pageSize);
IPage<CeesWaiTeacher> pageList = page(page, queryWrapper); IPage<CeesWaiTeacher> pageList = page(page, queryWrapper);
Set<String> dormitoryIdList = pageList.getRecords().stream().map(CeesWaiTeacher::getDormitoryId).collect(Collectors.toSet()); Set<String> dormitoryIdList = pageList.getRecords().stream().map(CeesWaiTeacher::getDormitoryId).collect(Collectors.toSet());