子数据管理删除数据关联总数据、角色数据查询改为数据权限设置、导出数据规范化
This commit is contained in:
parent
97b3a311c4
commit
02c0c7b9fe
|
@ -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
|
||||||
*
|
*
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
package org.jeecg.common.system.base.service;
|
||||||
|
|
||||||
|
public interface NameResolverService {
|
||||||
|
String getDormitoryName(String dormitoryId);
|
||||||
|
String getGroupName(String groupId);
|
||||||
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
package org.jeecg.common.system.base.service;
|
|
||||||
|
|
||||||
public interface SysRoleService {
|
|
||||||
/**
|
|
||||||
* 根据用户ID获取角色编码集合
|
|
||||||
*/
|
|
||||||
String getRoleCodesByUserId(String userId);
|
|
||||||
}
|
|
|
@ -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 ? "已报到" : "未报到";
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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, "本校教师表");
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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, "外校老师管理");
|
||||||
}
|
}
|
||||||
|
|
|
@ -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, "研究生表");
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = "使用次数")
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = "使用次数")
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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() : "";
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue