refactor(system): 重构角色管理查询功能
- 移除了不必要的导入和代码 - 使用 LambdaQuery
This commit is contained in:
parent
f3988af15d
commit
e15cf54d6a
|
|
@ -1,21 +1,15 @@
|
||||||
package cn.iocoder.yudao.module.system.dal.mysql.permission;
|
package cn.iocoder.yudao.module.system.dal.mysql.permission;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.UserRoleDO;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
|
||||||
import cn.iocoder.yudao.module.system.enums.permission.RoleCodeEnum;
|
import cn.iocoder.yudao.module.system.enums.permission.RoleCodeEnum;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -24,36 +18,15 @@ public interface RoleMapper extends BaseMapperX<RoleDO> {
|
||||||
|
|
||||||
|
|
||||||
default PageResult<RoleDO> selectPage(RolePageReqVO reqVO) {
|
default PageResult<RoleDO> selectPage(RolePageReqVO reqVO) {
|
||||||
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
PageResult<RoleDO> roleDOPageResult = selectPage(reqVO, new LambdaQueryWrapperX<RoleDO>()
|
||||||
MPJLambdaWrapper<RoleDO> mpjLambdaWrapper = new MPJLambdaWrapper();
|
.likeIfPresent(RoleDO::getName, reqVO.getName())
|
||||||
LocalDateTime[] createTimes = reqVO.getCreateTime();
|
.likeIfPresent(RoleDO::getCode, reqVO.getCode())
|
||||||
mpjLambdaWrapper.select(
|
.eqIfPresent(RoleDO::getStatus, reqVO.getStatus())
|
||||||
RoleDO::getId,
|
.betweenIfPresent(BaseDO::getCreateTime, reqVO.getCreateTime())
|
||||||
RoleDO::getName,
|
.ne(RoleDO::getCode, RoleCodeEnum.SUPER_ADMIN.getCode())
|
||||||
RoleDO::getCode,
|
.orderByAsc(RoleDO::getSort));
|
||||||
RoleDO::getSort,
|
//过滤掉super_admin及管理员
|
||||||
RoleDO::getDataScope,
|
return roleDOPageResult;
|
||||||
RoleDO::getStatus,
|
|
||||||
RoleDO::getCreateTime,
|
|
||||||
RoleDO::getRemark,
|
|
||||||
RoleDO::getDeleted)
|
|
||||||
.distinct()
|
|
||||||
.leftJoin(UserRoleDO.class, UserRoleDO::getRoleId, RoleDO::getId)
|
|
||||||
.leftJoin(AdminUserDO.class, AdminUserDO::getId, UserRoleDO::getUserId)
|
|
||||||
.leftJoin(DeptDO.class, DeptDO::getId, AdminUserDO::getDeptId)
|
|
||||||
.likeIfExists(RoleDO::getName, reqVO.getName())
|
|
||||||
.likeIfExists(RoleDO::getCode, reqVO.getCode())
|
|
||||||
.eqIfExists(RoleDO::getStatus, reqVO.getStatus());
|
|
||||||
//判断是否是超级管理员
|
|
||||||
RoleDO roleDO = selectById(loginUserId);
|
|
||||||
if (ObjectUtil.isNull(roleDO) || !RoleCodeEnum.isSuperAdmin(roleDO.getCode())) {
|
|
||||||
mpjLambdaWrapper.eq(AdminUserDO::getId, loginUserId);
|
|
||||||
}
|
|
||||||
// 检查createTimes是否非空且有至少两个元素
|
|
||||||
if (createTimes != null && createTimes.length >= 2) {
|
|
||||||
mpjLambdaWrapper.between(RoleDO::getCreateTime, createTimes[0], createTimes[1]);
|
|
||||||
}
|
|
||||||
return selectPage(reqVO, mpjLambdaWrapper);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
default RoleDO selectByName(String name) {
|
default RoleDO selectByName(String name) {
|
||||||
|
|
@ -65,7 +38,9 @@ public interface RoleMapper extends BaseMapperX<RoleDO> {
|
||||||
}
|
}
|
||||||
|
|
||||||
default List<RoleDO> selectListByStatus(@Nullable Collection<Integer> statuses) {
|
default List<RoleDO> selectListByStatus(@Nullable Collection<Integer> statuses) {
|
||||||
return selectList(RoleDO::getStatus, statuses);
|
return selectList(new LambdaQueryWrapperX<RoleDO>()
|
||||||
|
.eq(RoleDO::getStatus, statuses)
|
||||||
|
.ne(RoleDO::getCode, RoleCodeEnum.SUPER_ADMIN.getCode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue