子数据管理删除数据关联总数据、角色数据查询改为数据权限设置、导出数据规范化

This commit is contained in:
Qi 2025-06-03 23:06:21 +08:00
parent 97b3a311c4
commit 02c0c7b9fe
22 changed files with 339 additions and 180 deletions

View File

@ -8,9 +8,10 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.beanutils.PropertyUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.base.service.SysRoleService; import org.jeecg.common.system.base.service.NameResolverService;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.util.JasyptUtil; import org.jeecg.common.system.util.JasyptUtil;
import org.jeecg.common.system.util.StatusMappingUtil;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.config.JeecgBaseConfig; import org.jeecg.config.JeecgBaseConfig;
@ -45,8 +46,8 @@ public class JeecgController<T, S extends IService<T>> {
protected S service; protected S service;
@Resource @Resource
private JeecgBaseConfig jeecgBaseConfig; private JeecgBaseConfig jeecgBaseConfig;
@Autowired @Resource
private SysRoleService sysRoleService; NameResolverService nameResolverService;
/** /**
* 导出excel * 导出excel
@ -57,16 +58,6 @@ public class JeecgController<T, S extends IService<T>> {
// Step.1 组装查询条件 // Step.1 组装查询条件
QueryWrapper<T> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap()); QueryWrapper<T> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String roleCode = sysRoleService.getRoleCodesByUserId(sysUser.getId());
// 过滤选中数据
String selections = request.getParameter("selections");
if(roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
queryWrapper.in("id",selectionList);
}
// Step.2 获取导出数据 // Step.2 获取导出数据
List<T> exportList = service.list(queryWrapper); List<T> exportList = service.list(queryWrapper);
exportList.forEach(item -> { exportList.forEach(item -> {
@ -98,6 +89,106 @@ public class JeecgController<T, S extends IService<T>> {
String decryptedIdentityId = JasyptUtil.decrypt(encryptedIdentityId, "bigdata"); // 替换为你的密码 String decryptedIdentityId = JasyptUtil.decrypt(encryptedIdentityId, "bigdata"); // 替换为你的密码
identityIdField.set(item,decryptedIdentityId); // 将解密后的值存储到 decryptedField identityIdField.set(item,decryptedIdentityId); // 将解密后的值存储到 decryptedField
} }
// --- 性别映射 ---
Field sexField = null;
Field sexDescField = null;
try {
sexField = item.getClass().getDeclaredField( "sex");
sexDescField = item.getClass().getDeclaredField("sexDescription");
} catch (NoSuchFieldException e) {
// 字段不存在
}
if (sexField != null && sexDescField != null) {
sexField.setAccessible(true); // 确保可以访问私有字段
sexDescField.setAccessible(true); // 确保可以访问私有字段
Integer sex = (Integer) sexField.get(item);
sexDescField.set(item, StatusMappingUtil.mapSex(sex));
}
// --- 车辆状态映射 ---
Field carStatusField = null;
Field carStatusDescField = null;
try {
carStatusField = item.getClass().getDeclaredField( "carStatus");
carStatusDescField = item.getClass().getDeclaredField("carStatusDescription");
} catch (NoSuchFieldException e) {
// 字段不存在
}
if (carStatusField != null && carStatusDescField != null) {
carStatusField.setAccessible(true); // 确保可以访问私有字段
carStatusDescField.setAccessible(true); // 确保可以访问私有字段
Integer carStatus = (Integer) sexField.get(item);
carStatusDescField.set(item, StatusMappingUtil.mapCarStatus(carStatus));
}
// --- 住宿状态映射 ---
Field dormStatusField = null;
Field dormStatusDescField = null;
try {
dormStatusField = item.getClass().getDeclaredField( "dormitoryStatus");
dormStatusDescField = item.getClass().getDeclaredField("dormitoryStatusDescription");
} catch (NoSuchFieldException e) {
// 字段不存在
}
if (dormStatusField != null && dormStatusDescField != null) {
dormStatusField.setAccessible(true); // 确保可以访问私有字段
dormStatusDescField.setAccessible(true); // 确保可以访问私有字段
Integer dormitoryStatus = (Integer) sexField.get(item);
dormStatusDescField.set(item, StatusMappingUtil.mapDormitoryStatus(dormitoryStatus));
}
// --- 住宿状态映射 ---
Field statusField = null;
Field statusDescField = null;
try {
statusField = item.getClass().getDeclaredField( "status");
statusDescField = item.getClass().getDeclaredField("statusDescription");
} catch (NoSuchFieldException e) {
// 字段不存在
}
if (statusField != null && statusDescField != null) {
statusField.setAccessible(true); // 确保可以访问私有字段
statusDescField.setAccessible(true); // 确保可以访问私有字段
Integer status = (Integer) statusField.get(item);
statusDescField.set(item, StatusMappingUtil.mapStatus(status));
}
// --- 宿舍名称映射 ---
Field dormitoryIdField = null;
Field dormitoryNameField = null;
try {
dormitoryIdField = item.getClass().getDeclaredField("dormitoryId");
dormitoryNameField = item.getClass().getDeclaredField("dormitoryName");
} catch (NoSuchFieldException e) {
// 字段不存在
}
if (dormitoryIdField != null && dormitoryNameField != null) {
dormitoryIdField.setAccessible(true);
dormitoryNameField.setAccessible(true);
String dormitoryId = (String) dormitoryIdField.get(item);
//你需要实现这个方法根据 dormitoryId dormitoryName
String dormitoryName = nameResolverService.getDormitoryName(dormitoryId);
dormitoryNameField.set(item, dormitoryName);
}
// --- 组名称映射 ---
Field groupIdField = null;
Field groupNameField = null;
try {
groupIdField = item.getClass().getDeclaredField("groupId");
groupNameField = item.getClass().getDeclaredField("groupName");
} catch (NoSuchFieldException e) {
// 字段不存在
}
if (groupIdField != null && groupNameField != null) {
groupIdField.setAccessible(true);
groupNameField.setAccessible(true);
String groupId = (String) groupIdField.get(item);
//你需要实现这个方法根据 groupId groupName
String groupName = nameResolverService.getGroupName(groupId);
groupNameField.set(item, groupName);
}
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -115,6 +206,7 @@ public class JeecgController<T, S extends IService<T>> {
mv.addObject(NormalExcelConstants.DATA_LIST, exportList); mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
return mv; return mv;
} }
/** /**
* 根据每页sheet数量导出多sheet * 根据每页sheet数量导出多sheet
* *

View File

@ -0,0 +1,6 @@
package org.jeecg.common.system.base.service;
public interface NameResolverService {
String getDormitoryName(String dormitoryId);
String getGroupName(String groupId);
}

View File

@ -1,8 +0,0 @@
package org.jeecg.common.system.base.service;
public interface SysRoleService {
/**
* 根据用户ID获取角色编码集合
*/
String getRoleCodesByUserId(String userId);
}

View File

@ -0,0 +1,27 @@
package org.jeecg.common.system.util;
public class StatusMappingUtil {
// 性别映射
public static String mapSex(Integer sex) {
if (sex == null) return "未知";
return sex == 0 ? "" : "";
}
// 车辆状态映射
public static String mapCarStatus(Integer carStatus) {
if (carStatus == null) return "未知";
return carStatus == 1 ? "" : "";
}
// 住宿状态映射
public static String mapDormitoryStatus(Integer dormitoryStatus) {
if (dormitoryStatus == null) return "未知";
return dormitoryStatus == 1 ? "" : "";
}
// 住宿状态映射
public static String mapStatus(Integer status) {
if (status == null) return "";
return status == 0 ? "已报到" : "未报到";
}
}

View File

@ -1,35 +0,0 @@
package org.jeecg.modules.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.service.SysRoleService;
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.stereotype.Service;
@Slf4j
@Service
public class CoreSysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
@Autowired
private SysUserRoleMapper sysUserRoleMapper;
@Autowired
private SysRoleMapper sysRoleMapper;
@Override
public String getRoleCodesByUserId(String userId) {
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();
return roleCode;
}
}

View File

@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSON; import net.sf.json.JSON;
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.aspect.annotation.PermissionData;
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.modules.entity.CeesDormitoryInfo; import org.jeecg.modules.entity.CeesDormitoryInfo;
@ -57,6 +58,7 @@ public class CeesDormitoryInfoController extends JeecgController<CeesDormitoryIn
//@AutoLog(value = "宿舍信息表-分页列表查询") //@AutoLog(value = "宿舍信息表-分页列表查询")
@ApiOperation(value="宿舍信息表-分页列表查询", notes="宿舍信息表-分页列表查询") @ApiOperation(value="宿舍信息表-分页列表查询", notes="宿舍信息表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
@PermissionData(pageComponent = "cees/dormitory/CeesDormitoryInfoList")
public Result<IPage<CeesDormitoryInfo>> queryPageList(CeesDormitoryInfo ceesDormitoryInfo, public Result<IPage<CeesDormitoryInfo>> queryPageList(CeesDormitoryInfo ceesDormitoryInfo,
@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,

View File

@ -9,6 +9,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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.aspect.annotation.PermissionData;
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.modules.entity.CeesGroup; import org.jeecg.modules.entity.CeesGroup;
@ -48,6 +49,7 @@ public class CeesGroupController extends JeecgController<CeesGroup, ICeesGroupSe
//@AutoLog(value = "分组表-分页列表查询") //@AutoLog(value = "分组表-分页列表查询")
@ApiOperation(value = "分组表-分页列表查询", notes = "分组表-分页列表查询") @ApiOperation(value = "分组表-分页列表查询", notes = "分组表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
@PermissionData(pageComponent = "cees/group/CeesGroupList")
public Result<IPage<CeesGroup>> queryPageList(CeesGroup ceesGroup, public Result<IPage<CeesGroup>> queryPageList(CeesGroup ceesGroup,
@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,

View File

@ -12,10 +12,12 @@ import net.sf.json.JSONObject;
import org.apache.shiro.SecurityUtils; 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.aspect.annotation.PermissionData;
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.common.system.vo.LoginUser;
import org.jeecg.modules.entity.CeesLocalTeacher; import org.jeecg.modules.entity.CeesLocalTeacher;
import org.jeecg.modules.entity.CeesUser;
import org.jeecg.modules.entity.CeesWaiTeacher; import org.jeecg.modules.entity.CeesWaiTeacher;
import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesLocalTeacherMapper; import org.jeecg.modules.mapper.CeesLocalTeacherMapper;
@ -75,33 +77,12 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
//@AutoLog(value = "本校教师表-分页列表查询") //@AutoLog(value = "本校教师表-分页列表查询")
@ApiOperation(value="本校教师表-分页列表查询", notes="本校教师表-分页列表查询") @ApiOperation(value="本校教师表-分页列表查询", notes="本校教师表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
@PermissionData(pageComponent = "cees/localTeacher/CeesLocalTeacherList")
public Result<IPage<CeesLocalTeacher>> queryPageList(CeesLocalTeacher ceesLocalTeacher, public Result<IPage<CeesLocalTeacher>> queryPageList(CeesLocalTeacher 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())));
@ -163,9 +144,17 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
CeesLocalTeacher teacher = ceesLocalTeacherMapper.selectOne(teacherQuery); CeesLocalTeacher teacher = ceesLocalTeacherMapper.selectOne(teacherQuery);
if (teacher != null && teacher.getUserId() != null) { if (teacher != null && teacher.getUserId() != null) {
ceesUserService.removeById(teacher.getUserId()); String userResult = ceesUserService.removeByUserId(teacher.getUserId());
} if ("true".equals(userResult)) {
ceesLocalTeacherService.removeById(id); ceesLocalTeacherService.removeById(id);
return Result.OK("数据删除成功!");
} else if ("null".equals(userResult)) {
ceesLocalTeacherService.removeById(id);
return Result.OK("数据删除成功!");
} else {
return Result.error("数据删除失败!");
}
}
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@ -196,10 +185,14 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
.collect(Collectors.toList()); .collect(Collectors.toList());
if (!userIds.isEmpty()) { if (!userIds.isEmpty()) {
ceesUserService.removeByIds(userIds); boolean result = ceesUserService.removeBatchByUserIds(userIds);
} if (result) {
// 2. 批量删除 ceesLocalTeacher // 2. 批量删除 ceesLocalTeacher
ceesLocalTeacherService.removeByIds(idList); ceesLocalTeacherService.removeByIds(idList);
}else {
return Result.error("数据删除失败");
}
}
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@ -227,6 +220,7 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
* @param ceesLocalTeacher * @param ceesLocalTeacher
*/ */
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
@PermissionData(pageComponent = "cees/localTeacher/CeesLocalTeacherList")
public ModelAndView exportXls(HttpServletRequest request, CeesLocalTeacher ceesLocalTeacher) { public ModelAndView exportXls(HttpServletRequest request, CeesLocalTeacher ceesLocalTeacher) {
return super.exportXls(request, ceesLocalTeacher, CeesLocalTeacher.class, "本校教师表"); return super.exportXls(request, ceesLocalTeacher, CeesLocalTeacher.class, "本校教师表");
} }

View File

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
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.aspect.annotation.PermissionData;
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.modules.entity.CeesDormitoryInfo; import org.jeecg.modules.entity.CeesDormitoryInfo;
@ -70,6 +71,7 @@ public class CeesUserController extends JeecgController<CeesUser, ICeesUserServi
//@AutoLog(value = "CEES用户表-分页列表查询") //@AutoLog(value = "CEES用户表-分页列表查询")
@ApiOperation(value = "CEES用户表-分页列表查询", notes = "CEES用户表-分页列表查询") @ApiOperation(value = "CEES用户表-分页列表查询", notes = "CEES用户表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
@PermissionData(pageComponent = "cees/user/CeesUserList")
public Result<IPage<CeesUser>> queryPageList(CeesUser ceesUser, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { public Result<IPage<CeesUser>> queryPageList(CeesUser ceesUser, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
QueryWrapper<CeesUser> queryWrapper = QueryGenerator.initQueryWrapper(ceesUser, req.getParameterMap()); QueryWrapper<CeesUser> queryWrapper = QueryGenerator.initQueryWrapper(ceesUser, req.getParameterMap());
Page<CeesUser> page = new Page<>(pageNo, pageSize); Page<CeesUser> page = new Page<>(pageNo, pageSize);

View File

@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
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.aspect.annotation.PermissionData;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.entity.CeesDormitoryInfo; import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesUser; import org.jeecg.modules.entity.CeesUser;
@ -104,6 +105,7 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
//@AutoLog(value = "外校老师管理-分页列表查询") //@AutoLog(value = "外校老师管理-分页列表查询")
@ApiOperation(value="外校老师管理-分页列表查询", notes="外校老师管理-分页列表查询") @ApiOperation(value="外校老师管理-分页列表查询", notes="外校老师管理-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
@PermissionData(pageComponent = "cees/waiTeacher/CeesWaiTeacherList")
public Result<IPage<CeesWaiTeacher>> queryPageList(CeesWaiTeacher ceesWaiTeacher, public Result<IPage<CeesWaiTeacher>> queryPageList(CeesWaiTeacher ceesWaiTeacher,
@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,
@ -271,6 +273,7 @@ public class CeesWaiTeacherController extends JeecgController<CeesWaiTeacher, IC
* @param ceesWaiTeacher * @param ceesWaiTeacher
*/ */
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
@PermissionData(pageComponent = "cees/waiTeacher/CeesWaiTeacherList")
public ModelAndView exportXls(HttpServletRequest request, CeesWaiTeacher ceesWaiTeacher) { public ModelAndView exportXls(HttpServletRequest request, CeesWaiTeacher ceesWaiTeacher) {
return super.exportXls(request, ceesWaiTeacher, CeesWaiTeacher.class, "外校老师管理"); return super.exportXls(request, ceesWaiTeacher, CeesWaiTeacher.class, "外校老师管理");
} }

View File

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; 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.aspect.annotation.PermissionData;
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.common.system.vo.LoginUser;
@ -69,32 +70,12 @@ public class StudentController extends JeecgController<Student, IStudentService>
//@AutoLog(value = "研究生表-分页列表查询") //@AutoLog(value = "研究生表-分页列表查询")
@ApiOperation(value="研究生表-分页列表查询", notes="研究生表-分页列表查询") @ApiOperation(value="研究生表-分页列表查询", notes="研究生表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
@PermissionData(pageComponent = "cees/student/StudentList")
public Result<IPage<Student>> queryPageList(Student student, public Result<IPage<Student>> queryPageList(Student student,
@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())));
@ -147,7 +128,16 @@ public class StudentController extends JeecgController<Student, IStudentService>
// 3. 如果找到关联用户删除用户记录 // 3. 如果找到关联用户删除用户记录
if (student != null && student.getUserId() != null) { if (student != null && student.getUserId() != null) {
ceesUserService.removeById(student.getUserId()); String userResult = ceesUserService.removeByUserId(student.getUserId());
if ("true".equals(userResult)) {
studentService.removeById(id);
return Result.OK("数据删除成功!");
} else if ("null".equals(userResult)) {
studentService.removeById(id);
return Result.OK("数据删除成功!");
} else {
return Result.error("数据删除失败!");
}
} }
// 1. 删除学生记录 // 1. 删除学生记录
studentService.removeById(id); studentService.removeById(id);
@ -178,10 +168,14 @@ public class StudentController extends JeecgController<Student, IStudentService>
.collect(Collectors.toList()); .collect(Collectors.toList());
if (!userIds.isEmpty()) { if (!userIds.isEmpty()) {
ceesUserService.removeByIds(userIds); boolean result = ceesUserService.removeBatchByUserIds(userIds);
} if (result) {
// 2. 批量删除学生记录 // 2. 批量删除学生记录
studentService.removeByIds(studentIds); studentService.removeByIds(studentIds);
} else {
return Result.error("数据删除失败");
}
}
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
/** /**
@ -219,6 +213,7 @@ public class StudentController extends JeecgController<Student, IStudentService>
* @param student * @param student
*/ */
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
@PermissionData(pageComponent = "cees/student/StudentList")
public ModelAndView exportXls(HttpServletRequest request, Student student) { public ModelAndView exportXls(HttpServletRequest request, Student student) {
return super.exportXls(request, student, Student.class, "研究生表"); return super.exportXls(request, student, Student.class, "研究生表");
} }

View File

@ -81,5 +81,5 @@ public class CeesDormitoryInfo implements Serializable {
private String majorIdDescription; private String majorIdDescription;
@Excel(name = "住宿人员", width = 15) @Excel(name = "住宿人员", width = 15)
@TableField(exist = false) @TableField(exist = false)
private String dormitorydata; private String rowUser;
} }

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.entity; package org.jeecg.modules.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -64,4 +65,7 @@ public class CeesGroup implements Serializable {
@Excel(name = "评卷地点", width = 15) @Excel(name = "评卷地点", width = 15)
@ApiModelProperty(value = "评卷地点") @ApiModelProperty(value = "评卷地点")
private String markingLocation; private String markingLocation;
@Excel(name = "住宿人员", width = 15)
@TableField(exist = false)
private String rowUser;
} }

View File

@ -91,9 +91,13 @@ public class CeesLocalTeacher implements Serializable {
@ApiModelProperty(value = "手机号") @ApiModelProperty(value = "手机号")
private String phone; private String phone;
/**组id*/ /**组id*/
@Excel(name = "组id", width = 15) // @Excel(name = "组id", width = 15)
@ApiModelProperty(value = "组id") @ApiModelProperty(value = "组id")
private String groupId; private String groupId;
@Excel(name = "所属组名", width = 15)
@ApiModelProperty(value = "组id")
@TableField(exist = false)
private String groupName;
/**使用次数*/ /**使用次数*/
@Excel(name = "使用次数", width = 15) @Excel(name = "使用次数", width = 15)
@ApiModelProperty(value = "使用次数") @ApiModelProperty(value = "使用次数")

View File

@ -119,28 +119,38 @@ public class CeesWaiTeacher implements Serializable {
@ApiModelProperty(value = "车牌号") @ApiModelProperty(value = "车牌号")
private String carNumber; private String carNumber;
/**性别*/ /**性别*/
@Excel(name = "性别", width = 15) // @Excel(name = "性别", width = 15,type = 10)
@ApiModelProperty(value = "性别 0男/1女") @ApiModelProperty(value = "性别 0男/1女")
private Integer sex; private Integer sex;
@Excel(name = "性别", width = 15)
@ApiModelProperty(value = "性别 0男/1女")
@TableField(exist = false)
private String sexDescription;
/**年龄*/ /**年龄*/
@Excel(name = "年龄", width = 15) @Excel(name = "年龄", width = 15)
@ApiModelProperty(value = "年龄") @ApiModelProperty(value = "年龄")
private Integer age; private Integer age;
/**车辆是否入校*/ /**车辆是否入校*/
@Excel(name = "车辆是否入校", width = 15) // @Excel(name = "车辆是否入校", width = 15,type = 10)
@ApiModelProperty(value = "车辆是否入校") @ApiModelProperty(value = "车辆是否入校")
private Integer carStatus; private Integer carStatus;
@Excel(name = "车辆是否入校", width = 15)
@TableField(exist = false)
private String carStatusDescription;
/**宿舍信息*/ /**宿舍信息*/
@Excel(name = "宿舍信息", width = 15)
@ApiModelProperty(value = "宿舍信息") @ApiModelProperty(value = "宿舍信息")
private String dormitoryId; private String dormitoryId;
@Excel(name = "宿舍信息", width = 15)
@ApiModelProperty(value = "宿舍信息") @ApiModelProperty(value = "宿舍信息")
@TableField(exist = false) @TableField(exist = false)
private String dormitoryName; private String dormitoryName;
/**是否住宿*/ /**是否住宿*/
@Excel(name = "是否住宿", width = 15) // @Excel(name = "是否住宿", width = 15, type = 10)
@ApiModelProperty(value = "是否住宿") @ApiModelProperty(value = "是否住宿")
private Integer dormitoryStatus; private Integer dormitoryStatus;
@Excel(name = "是否住宿", width = 15)
@TableField(exist = false)
private String dormitoryStatusDescription;
/**开户所在地*/ /**开户所在地*/
@Excel(name = "开户所在地", width = 15) @Excel(name = "开户所在地", width = 15)
@ApiModelProperty(value = "开户所在地") @ApiModelProperty(value = "开户所在地")
@ -150,15 +160,22 @@ public class CeesWaiTeacher implements Serializable {
@ApiModelProperty(value = "开户行") @ApiModelProperty(value = "开户行")
private String bankName; private String bankName;
/**组id*/ /**组id*/
@Excel(name = "组id", width = 15) // @Excel(name = "组id", width = 15)
@ApiModelProperty(value = "组id") @ApiModelProperty(value = "组id")
private String groupId; private String groupId;
@Excel(name = "所属组名", width = 15)
@ApiModelProperty(value = "组id")
@TableField(exist = false)
private String groupName;
/**使用次数*/ /**使用次数*/
@Excel(name = "使用次数", width = 15) @Excel(name = "使用次数", width = 15)
@ApiModelProperty(value = "使用次数") @ApiModelProperty(value = "使用次数")
private Integer numberuse; private Integer numberuse;
/**状态0已报道 1未报到*/ /**状态0已报道 1未报到*/
@Excel(name = "状态0已报道 1未报到", width = 15)
@ApiModelProperty(value = "状态0已报道 1未报到") @ApiModelProperty(value = "状态0已报道 1未报到")
private Integer status; private Integer status;
@Excel(name = "状态0已报道 1未报到", width = 15)
@ApiModelProperty(value = "状态0已报道 1未报到")
@TableField(exist = false)
private String statusDescription;
} }

View File

@ -95,9 +95,13 @@ public class Student implements Serializable {
@ApiModelProperty(value = "是否第一次阅卷") @ApiModelProperty(value = "是否第一次阅卷")
private Integer checked; private Integer checked;
/**组id*/ /**组id*/
@Excel(name = "组id", width = 15) // @Excel(name = "组id", width = 15)
@ApiModelProperty(value = "组id") @ApiModelProperty(value = "组id")
private String groupId; private String groupId;
@Excel(name = "所属组名", width = 15)
@ApiModelProperty(value = "组id")
@TableField(exist = false)
private String groupName;
/**使用次数*/ /**使用次数*/
@Excel(name = "使用次数", width = 15) @Excel(name = "使用次数", width = 15)
@ApiModelProperty(value = "使用次数") @ApiModelProperty(value = "使用次数")

View File

@ -6,6 +6,8 @@ import org.jeecg.modules.entity.CeesAdminInfo;
import org.jeecg.modules.entity.CeesUser; import org.jeecg.modules.entity.CeesUser;
import org.jeecg.modules.entity.dto.CreateAccountDto; import org.jeecg.modules.entity.dto.CreateAccountDto;
import java.util.List;
/** /**
* @Description: CEES用户表 * @Description: CEES用户表
* @Author: jeecg-boot * @Author: jeecg-boot
@ -33,4 +35,8 @@ public interface ICeesUserService extends IService<CeesUser> {
Result<?> getH5Time(); Result<?> getH5Time();
Result<?> checkUserByEmployeeCode(CeesAdminInfo ceesAdminInfo); Result<?> checkUserByEmployeeCode(CeesAdminInfo ceesAdminInfo);
String removeByUserId(String userId);
boolean removeBatchByUserIds(List<String> userIds);
} }

View File

@ -83,26 +83,7 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl<CeesDormitoryInfoM
@Override @Override
public IPage<CeesDormitoryInfo> queryPageList(CeesDormitoryInfo ceesDormitoryInfo, Integer pageNo, Integer pageSize, HttpServletRequest req) { public IPage<CeesDormitoryInfo> queryPageList(CeesDormitoryInfo ceesDormitoryInfo, Integer pageNo, Integer pageSize, HttpServletRequest req) {
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
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<CeesDormitoryInfo> queryWrapper = QueryGenerator.initQueryWrapper(ceesDormitoryInfo, req.getParameterMap()); QueryWrapper<CeesDormitoryInfo> queryWrapper = QueryGenerator.initQueryWrapper(ceesDormitoryInfo, req.getParameterMap());
if (roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
Page<CeesDormitoryInfo> page = new Page<>(pageNo, pageSize); Page<CeesDormitoryInfo> page = new Page<>(pageNo, pageSize);
IPage<CeesDormitoryInfo> pageList = page(page, queryWrapper); IPage<CeesDormitoryInfo> pageList = page(page, queryWrapper);
// 设置学科描述 // 设置学科描述
@ -110,7 +91,7 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl<CeesDormitoryInfoM
e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())); // 设置学科描述 e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())); // 设置学科描述
// 根据宿舍ID查询住宿人员名称 // 根据宿舍ID查询住宿人员名称
List<String> residentNames = getResidentNamesByDormitoryId(e.getId()); List<String> residentNames = getResidentNamesByDormitoryId(e.getId());
e.setDormitorydata(String.join(",", residentNames)); // 将人员名称列表转为逗号分隔的字符串 e.setRowUser(String.join(",", residentNames)); // 将人员名称列表转为逗号分隔的字符串
return e; return e;
}); });
return pageList; return pageList;

View File

@ -8,12 +8,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.entity.CeesDormitoryInfo; import org.jeecg.modules.entity.*;
import org.jeecg.modules.entity.CeesGroup;
import org.jeecg.modules.entity.dto.UpdateGroupUserDto; import org.jeecg.modules.entity.dto.UpdateGroupUserDto;
import org.jeecg.modules.entity.vo.CeesUserGroupVo; import org.jeecg.modules.entity.vo.CeesUserGroupVo;
import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.enums.MajorEnum;
import org.jeecg.modules.mapper.CeesGroupMapper; import org.jeecg.modules.mapper.CeesGroupMapper;
import org.jeecg.modules.mapper.CeesLocalTeacherMapper;
import org.jeecg.modules.mapper.CeesWaiTeacherMapper;
import org.jeecg.modules.mapper.StudentMapper;
import org.jeecg.modules.service.ICeesGroupService; import org.jeecg.modules.service.ICeesGroupService;
import org.jeecg.modules.system.entity.SysRole; import org.jeecg.modules.system.entity.SysRole;
import org.jeecg.modules.system.entity.SysUserRole; import org.jeecg.modules.system.entity.SysUserRole;
@ -24,6 +26,10 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* @Description: 分组表 * @Description: 分组表
@ -37,9 +43,11 @@ public class CeesGroupServiceImpl extends ServiceImpl<CeesGroupMapper, CeesGroup
@Resource @Resource
private CeesGroupMapper ceesGroupMapper; private CeesGroupMapper ceesGroupMapper;
@Resource @Resource
SysRoleMapper sysRoleMapper; CeesWaiTeacherMapper ceesWaiTeacherMapper;
@Resource @Resource
SysUserRoleMapper sysUserRoleMapper; CeesLocalTeacherMapper ceesLocalTeacherMapper;
@Resource
StudentMapper studentMapper;
/** /**
@ -64,28 +72,45 @@ public class CeesGroupServiceImpl extends ServiceImpl<CeesGroupMapper, CeesGroup
@Override @Override
public IPage<CeesGroup> queryPageList(CeesGroup ceesGroup, Integer pageNo, Integer pageSize, HttpServletRequest req) { public IPage<CeesGroup> queryPageList(CeesGroup ceesGroup, Integer pageNo, Integer pageSize, HttpServletRequest req) {
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
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<CeesGroup> queryWrapper = QueryGenerator.initQueryWrapper(ceesGroup, req.getParameterMap()); QueryWrapper<CeesGroup> queryWrapper = QueryGenerator.initQueryWrapper(ceesGroup, req.getParameterMap());
if (roleCode.length() == 1) {
queryWrapper.eq("major_id", roleCode);
}
Page<CeesGroup> page = new Page<>(pageNo, pageSize); Page<CeesGroup> page = new Page<>(pageNo, pageSize);
IPage<CeesGroup> pageList = page(page, queryWrapper); IPage<CeesGroup> pageList = page(page, queryWrapper);
pageList.convert(e -> {
// 根据宿舍ID查询住宿人员名称
List<String> residentNames = getResidentNamesByGroupId(e.getId());
e.setRowUser(String.join(",", residentNames)); // 将人员名称列表转为逗号分隔的字符串
return e;
});
return pageList; return pageList;
} }
private List<String> getResidentNamesByGroupId(String groupId) {
//外校老师
LambdaQueryWrapper<CeesWaiTeacher> queryWaiTeacher = new LambdaQueryWrapper<>();
queryWaiTeacher.eq(CeesWaiTeacher::getGroupId, groupId)
.select(CeesWaiTeacher::getUserName); // 只查询用户名字段
List<CeesWaiTeacher> residentsWaiTeacher = ceesWaiTeacherMapper.selectList(queryWaiTeacher);
//本校老师
LambdaQueryWrapper<CeesLocalTeacher> queryLocalTeacher = new LambdaQueryWrapper<>();
queryLocalTeacher.eq(CeesLocalTeacher::getGroupId, groupId)
.select(CeesLocalTeacher::getUserName); // 只查询用户名字段
List<CeesLocalTeacher> residentsLocalTeacher = ceesLocalTeacherMapper.selectList(queryLocalTeacher);
//研究生
LambdaQueryWrapper<Student> queryStudent = new LambdaQueryWrapper<>();
queryStudent.eq(Student::getGroupId, groupId)
.select(Student::getUserName); // 只查询用户名字段
List<Student> residentsStudent = studentMapper.selectList(queryStudent);
// 合并三个来源的用户名并去重
List<String> allUserNames = Stream.concat(
residentsWaiTeacher.stream().map(CeesWaiTeacher::getUserName),
Stream.concat(
residentsLocalTeacher.stream().map(CeesLocalTeacher::getUserName),
residentsStudent.stream().map(Student::getUserName)
)
)
.filter(Objects::nonNull) // 过滤null值
.collect(Collectors.toList());
return allUserNames;
}
} }

View File

@ -20,7 +20,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
/** /**
@ -451,6 +450,29 @@ public class CeesUserServiceImpl extends ServiceImpl<CeesUserMapper, CeesUser> i
} }
} }
@Override
public String removeByUserId(String userId) {
LambdaQueryWrapper<CeesUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CeesUser::getUserId, userId);
CeesUser ceesUser = ceesUserMapper.selectOne(queryWrapper);
if(ceesUser == null) {
return "null";
}
int affectedRows = ceesUserMapper.delete(queryWrapper);
if (affectedRows > 0) {
return "true";
}else{
return "false";
}
}
@Override
public boolean removeBatchByUserIds(List<String> userIds) {
LambdaQueryWrapper<CeesUser> wrapper = new LambdaQueryWrapper<>();
wrapper.in(CeesUser::getUserId, userIds);
return this.remove(wrapper);
}
// 获取生成规则---用户前端获取rule // 获取生成规则---用户前端获取rule
public Result<?> getGenerativeRules() { public Result<?> getGenerativeRules() {

View File

@ -115,26 +115,7 @@ 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);

View File

@ -0,0 +1,35 @@
package org.jeecg.modules.service.impl;
import lombok.RequiredArgsConstructor;
import org.jeecg.common.system.base.service.NameResolverService;
import org.jeecg.modules.entity.CeesDormitoryInfo;
import org.jeecg.modules.entity.CeesGroup;
import org.jeecg.modules.service.ICeesDormitoryInfoService;
import org.jeecg.modules.service.ICeesGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class NameResolverImpl implements NameResolverService {
@Autowired
private ICeesDormitoryInfoService dormitoryService;
@Autowired
private ICeesGroupService groupService;
@Override
public String getDormitoryName(String dormitoryId) {
if (dormitoryId == null) return "";
CeesDormitoryInfo dorm = dormitoryService.getById(dormitoryId);
return dorm != null ? dorm.getDormitory() : "";
}
@Override
public String getGroupName(String groupId) {
if (groupId == null) return "";
CeesGroup group = groupService.getById(groupId);
return group != null ? group.getName() : "";
}
}