From a2c80ba34dd00e54aea708f841f796646443809d Mon Sep 17 00:00:00 2001 From: Xubx <1827135378@qq.com> Date: Mon, 19 May 2025 14:54:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=BF=E8=88=8D=E7=AE=A1=E7=90=86=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=89=80=E5=B1=9E=E5=AD=A6=E7=A7=91=EF=BC=8C=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8C=89=E9=92=AE=E5=8D=95=E7=8B=AC=E5=88=86=E9=85=8D?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CeesDormitoryInfoController.java | 10 ++-- .../modules/entity/CeesDormitoryInfo.java | 11 ++++ .../service/ICeesDormitoryInfoService.java | 5 ++ .../impl/CeesDormitoryInfoServiceImpl.java | 57 ++++++++++++++++++- 4 files changed, 76 insertions(+), 7 deletions(-) diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesDormitoryInfoController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesDormitoryInfoController.java index 4ba56d31..c5a861f9 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesDormitoryInfoController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesDormitoryInfoController.java @@ -54,10 +54,12 @@ public class CeesDormitoryInfoController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(ceesDormitoryInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = ceesDormitoryInfoService.page(page, queryWrapper); - return Result.OK(pageList); + return Result.OK(ceesDormitoryInfoService.queryPageList(ceesDormitoryInfo,pageNo,pageSize,req)); + +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(ceesDormitoryInfo, req.getParameterMap()); +// Page page = new Page(pageNo, pageSize); +// IPage pageList = ceesDormitoryInfoService.page(page, queryWrapper); +// return Result.OK(pageList); } /** diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/CeesDormitoryInfo.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/CeesDormitoryInfo.java index 25a8ca5b..08906b5a 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/CeesDormitoryInfo.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/CeesDormitoryInfo.java @@ -1,6 +1,7 @@ package org.jeecg.modules.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -68,4 +69,14 @@ public class CeesDormitoryInfo implements Serializable { @Excel(name = "宿舍状态0没满,1已满", width = 15) @ApiModelProperty(value = "宿舍状态0没满,1已满") private Integer dormitoryStatus; + /** + *该宿舍所属学科 + */ + @ApiModelProperty(value = "学科id") + private Integer majorId; + /**专业id*/ + @Excel(name = "学科描述", width = 15) + @ApiModelProperty(value = "专业id") + @TableField(exist = false) + private String majorIdDescription; } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesDormitoryInfoService.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesDormitoryInfoService.java index 0d72f3a8..e2ba2ce9 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesDormitoryInfoService.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesDormitoryInfoService.java @@ -2,10 +2,13 @@ package org.jeecg.modules.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.CeesDormitoryInfo; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 宿舍信息表 * @Author: jeecg-boot @@ -15,4 +18,6 @@ import org.jeecg.modules.entity.CeesDormitoryInfo; public interface ICeesDormitoryInfoService extends IService { Result selectBySex(String sex); + + IPage queryPageList(CeesDormitoryInfo ceesDormitoryInfo, Integer pageNo, Integer pageSize, HttpServletRequest req); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesDormitoryInfoServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesDormitoryInfoServiceImpl.java index 0211a675..f32f9959 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesDormitoryInfoServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesDormitoryInfoServiceImpl.java @@ -4,20 +4,35 @@ package org.jeecg.modules.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.entity.CeesDormitoryInfo; +import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.mapper.CeesDormitoryInfoMapper; import org.jeecg.modules.service.ICeesDormitoryInfoService; +import org.jeecg.modules.system.entity.SysRole; +import org.jeecg.modules.system.entity.SysUserRole; +import org.jeecg.modules.system.mapper.SysRoleMapper; +import org.jeecg.modules.system.mapper.SysUserRoleMapper; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * @Description: 宿舍信息表 * @Author: jeecg-boot - * @Date: 2025-03-03 + * @Date: 2025-03-03 * @Version: V1.0 */ @Service @@ -25,9 +40,13 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl selectBySex(String sex) { + public Result selectBySex(String sex) { //todo: 未添加宿舍满员的情况和宿舍是否正常使用 Integer type = Integer.parseInt(sex); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -37,7 +56,7 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl list = ceesDormitoryInfoMapper.selectList(wrapper); JSONArray resultArray = new JSONArray(); - for(CeesDormitoryInfo dorm :list){ + for (CeesDormitoryInfo dorm : list) { JSONObject resultData = new JSONObject(); resultData.put("id", dorm.getId()); resultData.put("sysOrgCode", dorm.getSysOrgCode()); @@ -52,4 +71,36 @@ public class CeesDormitoryInfoServiceImpl extends ServiceImpl queryPageList(CeesDormitoryInfo ceesDormitoryInfo, Integer pageNo, Integer pageSize, HttpServletRequest req) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + + // 查询当前用户的角色 + LambdaQueryWrapper queryUserRole = new LambdaQueryWrapper<>(); + queryUserRole.eq(SysUserRole::getUserId, userId); + SysUserRole sysUserRole = sysUserRoleMapper.selectOne(queryUserRole); + String roleId = sysUserRole.getRoleId(); + + // 获取对应角色数据 + LambdaQueryWrapper queryRole = new LambdaQueryWrapper<>(); + queryRole.eq(SysRole::getId, roleId); + SysRole sysRole = sysRoleMapper.selectOne(queryRole); + String roleCode = sysRole.getRoleCode(); + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(ceesDormitoryInfo, req.getParameterMap()); + if (roleCode.length() == 1) { + queryWrapper.eq("major_id", roleCode); + } + + Page page = new Page<>(pageNo, pageSize); + IPage pageList = page(page, queryWrapper); + // 设置学科描述 + pageList.convert(e -> { + e.setMajorIdDescription(MajorEnum.describe(e.getMajorId())); // 设置学科描述 + return e; + }); + return pageList; + } }