From 84e908b9f0800b6c18aa951b515683ccbb13d10f Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期二, 03 六月 2025 13:56:08 +0800 Subject: [PATCH] mysql中find_in_set改成PostgreSQL 的 string_to_array + = ANY() --- ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java index b2337c9..0f56ad6 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java @@ -135,8 +135,10 @@ } else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) { - sqlString.append(StringUtils.format(" OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )", deptAlias, user.getDeptId(), user.getDeptId())); - } + sqlString.append(StringUtils.format( + " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} OR {} = ANY(string_to_array(ancestors, ',')::bigint[]) )", + deptAlias, user.getDeptId(), user.getDeptId() + )); } else if (DATA_SCOPE_SELF.equals(dataScope)) { if (StringUtils.isNotBlank(userAlias)) -- Gitblit v1.9.3