From 03d7a29c0cf0580722657273827ad737056d9e82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 23 Oct 2025 11:17:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/ISysDeptController.java | 97 +++++++++++++++++++ .../admin/service/BusinessSysDeptService.java | 52 ++++++++++ .../config/mybatis/MybatisConfiguration.java | 14 +-- .../security/CustomAccessDecisionManager.java | 2 +- .../CustomAuthenticationSuccessHandler.java | 2 +- .../CustomSecurityMetadataSource.java | 2 +- 6 files changed, 159 insertions(+), 10 deletions(-) create mode 100644 ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/controller/ISysDeptController.java diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/controller/ISysDeptController.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/controller/ISysDeptController.java new file mode 100644 index 0000000..6e6a0ad --- /dev/null +++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/controller/ISysDeptController.java @@ -0,0 +1,97 @@ +package cn.xluobo.business.sys.admin.controller; + + +import cn.xluobo.business.sys.admin.domain.req.ReqSearchSysDept; +import cn.xluobo.business.sys.admin.domain.resp.RespTreeSelect; +import cn.xluobo.business.sys.admin.service.BusinessSysDeptService; +import cn.xluobo.core.api.APIResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + *

+ * 部门表 前端控制器 + *

+ * + * @author zhangby + * @since 2020-01-18 + */ +@RestController +@RequestMapping("/api/system/dept") +public class ISysDeptController { + + @Autowired + private BusinessSysDeptService sysDeptService; + + /** + * 列表 + * + * @param reqSearchSysDept + * @return + */ + @GetMapping("/list/searchList") + public APIResponse searchList(ReqSearchSysDept reqSearchSysDept) { + return sysDeptService.searchList(reqSearchSysDept); + } + + /** + * 详情 + * + * @param deptId + * @return + */ + @GetMapping("/info/detailById/{deptId}") + public APIResponse detailById(@PathVariable("deptId") Long deptId) { + return sysDeptService.detailById(deptId); + } + + /** + * 校区列表 + * + * @return + */ + @GetMapping("/list/campusList") + public APIResponse campusList() { + List respTreeSelects = sysDeptService.campusList(); + return APIResponse.toAPIResponse(respTreeSelects); + } + + /** + * 校区列表 + * + * @return + */ + @GetMapping("/list/campusListLimitByUser") + public APIResponse campusListLimitByUser() { + List respTreeSelects = sysDeptService.campusListLimitByUser(); + return APIResponse.toAPIResponse(respTreeSelects); + } + + /** + * 可选校区类型 + * 如果拥有全部校区权限,返回全部校区 部分校区 + * 否二 返回 部分校区 + * + * @return + */ + @GetMapping("/list/campusSelect") + public APIResponse campusSelect() { + List respTreeSelects = sysDeptService.campusSelect(); + return APIResponse.toAPIResponse(respTreeSelects); + } + + /** + * 可选校区类型 + * 如果拥有全部校区权限,返回全部校区 部分校区 + * 否二 返回 部分校区 + * + * @return + */ + @GetMapping("/list/campusSelectLimitByUser") + public APIResponse campusSelectLimitByUser() { + List respTreeSelects = sysDeptService.campusSelectLimitByUser(); + return APIResponse.toAPIResponse(respTreeSelects); + } +} diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/service/BusinessSysDeptService.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/service/BusinessSysDeptService.java index d21f4a1..2a2a747 100644 --- a/ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/service/BusinessSysDeptService.java +++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sys/admin/service/BusinessSysDeptService.java @@ -129,4 +129,56 @@ public class BusinessSysDeptService { return respTreeSelects; } + /** + * 前端select + * + * @return + */ + public List campusListLimitByUser() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + List deptList = sysDeptService.selectUserCampusList(loginUser.getUserId()); + List respTreeSelects = deptList.stream().map(RespTreeSelect::new).collect(Collectors.toList()); + return respTreeSelects; + } + + /** + * 校区选择 + * 如果拥有全部校区权限,返回全部校区 部分校区 + * 否二 返回 部分校区 + * + * @return + */ + public List campusSelect() { + + List list = Lists.newArrayList(); + + list.add(new RespTreeSelect(9L,"全部校区",null)); + list.add(new RespTreeSelect(0L,"部分校区",null)); + + return list; + } + + /** + * 校区选择 + * 如果拥有全部校区权限,返回全部校区 部分校区 + * 否二 返回 部分校区 + * + * @return + */ + public List campusSelectLimitByUser() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + + List list = Lists.newArrayList(); + + QueryWrapper qw = new QueryWrapper(); + qw.eq("user_id",loginUser.getUserId()); + qw.eq("dept_id","-1"); + SysUserDept one = userDeptService.getOne(qw); + if(null != one){ + list.add(new RespTreeSelect(9L,"全部校区",null)); + } + list.add(new RespTreeSelect(0L,"部分校区",null)); + + return list; + } } diff --git a/ruoyi-admin/src/main/java/cn/xluobo/config/mybatis/MybatisConfiguration.java b/ruoyi-admin/src/main/java/cn/xluobo/config/mybatis/MybatisConfiguration.java index 78b8d02..0ccddc2 100644 --- a/ruoyi-admin/src/main/java/cn/xluobo/config/mybatis/MybatisConfiguration.java +++ b/ruoyi-admin/src/main/java/cn/xluobo/config/mybatis/MybatisConfiguration.java @@ -30,13 +30,13 @@ public class MybatisConfiguration { @ConditionalOnMissingBean(PaginationInterceptor.class) public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); - List sqlParserList = new ArrayList<>(); - - TenantSqlParser tenantSqlParser = new MyTenantParser(); - tenantSqlParser.setTenantHandler(new MyTenantHandler()); - sqlParserList.add(tenantSqlParser); - - paginationInterceptor.setSqlParserList(sqlParserList); +// List sqlParserList = new ArrayList<>(); +// +// TenantSqlParser tenantSqlParser = new MyTenantParser(); +// tenantSqlParser.setTenantHandler(new MyTenantHandler()); +// sqlParserList.add(tenantSqlParser); +// +// paginationInterceptor.setSqlParserList(sqlParserList); return paginationInterceptor; } diff --git a/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAccessDecisionManager.java b/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAccessDecisionManager.java index 23ef2e4..9b33a8f 100644 --- a/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAccessDecisionManager.java +++ b/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAccessDecisionManager.java @@ -14,7 +14,7 @@ import java.util.Iterator; /** * Created by zhangbaoyu on 18/1/9. */ -@Service +//@Service public class CustomAccessDecisionManager implements AccessDecisionManager { // decide 方法是判定是否拥有权限的决策方法, diff --git a/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAuthenticationSuccessHandler.java b/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAuthenticationSuccessHandler.java index bbbcbf3..4b560ff 100644 --- a/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAuthenticationSuccessHandler.java +++ b/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomAuthenticationSuccessHandler.java @@ -26,7 +26,7 @@ import java.io.PrintWriter; * @author :zhangbaoyu * @date :Created in 2020-02-27 17:41 */ -@Component +//@Component public class CustomAuthenticationSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler { private RequestCache requestCache = new HttpSessionRequestCache(); diff --git a/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomSecurityMetadataSource.java b/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomSecurityMetadataSource.java index 957019a..8217fdf 100644 --- a/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomSecurityMetadataSource.java +++ b/ruoyi-admin/src/main/java/cn/xluobo/config/security/CustomSecurityMetadataSource.java @@ -16,7 +16,7 @@ import java.util.*; /** * Created by zhangbaoyu on 18/1/9. */ -@Component +//@Component public class CustomSecurityMetadataSource implements FilterInvocationSecurityMetadataSource { private HashMap> map =null;