diff --git a/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java b/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java index de009d7..99d4330 100644 --- a/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java +++ b/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java @@ -14,11 +14,22 @@ import org.springframework.context.annotation.Configuration; @Configuration public class MybitsPlusConfig { +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor() { +// MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); +// mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return mybatisPlusInterceptor; +// } + + /** + * 分页插件配置(Oracle 兼容) + */ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { - MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); - mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return mybatisPlusInterceptor; + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + // 添加分页拦截器,指定数据库类型为 Oracle + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE)); + return interceptor; } } diff --git a/backend/src/main/java/com/yfd/platform/system/controller/SysRoleController.java b/backend/src/main/java/com/yfd/platform/system/controller/SysRoleController.java index ea2fa0f..dae5472 100644 --- a/backend/src/main/java/com/yfd/platform/system/controller/SysRoleController.java +++ b/backend/src/main/java/com/yfd/platform/system/controller/SysRoleController.java @@ -1,6 +1,7 @@ package com.yfd.platform.system.controller; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.yfd.platform.annotation.Log; @@ -46,15 +47,8 @@ public class SysRoleController { @PostMapping("/list") @Operation(summary = "查询所有角色") @ResponseBody - public List list(String rolename) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - if (StrUtil.isNotEmpty(rolename)) { - //根据角色名称模糊查询 - queryWrapper.like("rolename", rolename); - } - //根据角色级别,角色编号 正序排序 - queryWrapper.ne("level", "1").orderByAsc("level", "lastmodifydate"); - return roleService.list(queryWrapper); + public List list(@RequestParam(required = false) String rolename) { + return roleService.selectRoleList(rolename); } /*********************************** diff --git a/backend/src/main/java/com/yfd/platform/system/mapper/SysRoleMapper.java b/backend/src/main/java/com/yfd/platform/system/mapper/SysRoleMapper.java index 654d347..09201a1 100644 --- a/backend/src/main/java/com/yfd/platform/system/mapper/SysRoleMapper.java +++ b/backend/src/main/java/com/yfd/platform/system/mapper/SysRoleMapper.java @@ -101,4 +101,12 @@ public interface SysRoleMapper extends BaseMapper { * 返回值说明:角色 ID 列表 ***********************************/ List getRoleIdsByUserId(String id); + + /********************************** + * 用途说明:查询角色列表(Oracle 兼容) + * 参数说明:rolename - 角色名称 + * 返回值说明:角色列表 + ***********************************/ + List selectRoleList(@Param("rolename") String rolename); + } diff --git a/backend/src/main/java/com/yfd/platform/system/service/ISysRoleService.java b/backend/src/main/java/com/yfd/platform/system/service/ISysRoleService.java index 7dcdb5c..2065a17 100644 --- a/backend/src/main/java/com/yfd/platform/system/service/ISysRoleService.java +++ b/backend/src/main/java/com/yfd/platform/system/service/ISysRoleService.java @@ -63,4 +63,6 @@ public interface ISysRoleService extends IService { * 返回值说明: 是否分配成功 ***********************************/ boolean setMenuById(String id, String menuIds); + + List selectRoleList(String rolename); } diff --git a/backend/src/main/java/com/yfd/platform/system/service/impl/SysOrganizationServiceImpl.java b/backend/src/main/java/com/yfd/platform/system/service/impl/SysOrganizationServiceImpl.java index 762612b..7e79194 100644 --- a/backend/src/main/java/com/yfd/platform/system/service/impl/SysOrganizationServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/system/service/impl/SysOrganizationServiceImpl.java @@ -13,6 +13,7 @@ import com.yfd.platform.system.mapper.SysOrganizationMapper; import com.yfd.platform.system.mapper.SysRoleMapper; import com.yfd.platform.system.service.ISysOrganizationService; import com.yfd.platform.system.service.IUserService; +import com.yfd.platform.utils.ObjectConverterUtil; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; @@ -128,12 +129,15 @@ public class SysOrganizationServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("parentid", parentid); //根据上级id 查询 listMap = this.listMaps(queryWrapper.orderByAsc("orgcode")); - if (!listMap.isEmpty()) { //判断是否存在子集 - for (int i = 0; i < listMap.size(); i++) { //遍历表数据 + + if (!listMap.isEmpty()) { + List> mapList = ObjectConverterUtil.convertMapFieldsToEntityFormat(SysOrganization.class, listMap);//判断是否存在子集 + for (int i = 0; i < mapList.size(); i++) { //遍历表数据 List> childList = - child(listMap.get(i).get("id").toString()); //循环获取下一子集 - listMap.get(i).put("childList", childList); //添加新列 子集 + child(mapList.get(i).get("id").toString()); //循环获取下一子集 + mapList.get(i).put("childList", childList); //添加新列 子集 } + return mapList; } return listMap; } diff --git a/backend/src/main/java/com/yfd/platform/system/service/impl/SysRoleServiceImpl.java b/backend/src/main/java/com/yfd/platform/system/service/impl/SysRoleServiceImpl.java index 63d5c36..b14e1e6 100644 --- a/backend/src/main/java/com/yfd/platform/system/service/impl/SysRoleServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/system/service/impl/SysRoleServiceImpl.java @@ -160,4 +160,9 @@ public class SysRoleServiceImpl extends ServiceImpl impl return true; } + @Override + public List selectRoleList(String rolename) { + return roleMapper.selectRoleList(rolename); + } + } diff --git a/backend/src/main/resources/mapper/system/SysRoleMapper.xml b/backend/src/main/resources/mapper/system/SysRoleMapper.xml index 6f90d76..0fcf2af 100644 --- a/backend/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/backend/src/main/resources/mapper/system/SysRoleMapper.xml @@ -111,6 +111,20 @@ FROM sys_role_users WHERE userid = #{id} + + delete from sys_role_users where userid !=(select u.id from sys_user u where u.account="admin") and roleid=#{roleid} and userid=#{urserid}