From c5dbd04c9c99fc187ef526c0fda188dc30e51825 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 14 十二月 2021 10:11:16 +0800 Subject: [PATCH] fix 修复数据权限 仅自己 相关问题 --- ruoyi-common/src/main/java/com/ruoyi/common/enums/DataScopeType.java | 17 +++++++++++------ ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java | 5 +++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataScopeType.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataScopeType.java index f99413b..5ae69ec 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataScopeType.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataScopeType.java @@ -23,34 +23,39 @@ /** * 鍏ㄩ儴鏁版嵁鏉冮檺 */ - ALL("1", ""), + ALL("1", "", ""), /** * 鑷畾鏁版嵁鏉冮檺 */ - CUSTOM("2", " #{#deptName} IN ( #{@sdss.getRoleCustom( #user.roleId )} ) "), + CUSTOM("2", " #{#deptName} IN ( #{@sdss.getRoleCustom( #user.roleId )} ) ", ""), /** * 閮ㄩ棬鏁版嵁鏉冮檺 */ - DEPT("3", " #{#deptName} = #{#user.deptId} "), + DEPT("3", " #{#deptName} = #{#user.deptId} ", ""), /** * 閮ㄩ棬鍙婁互涓嬫暟鎹潈闄� */ - DEPT_AND_CHILD("4", " #{#deptName} IN ( #{@sdss.getDeptAndChild( #user.deptId )} )"), + DEPT_AND_CHILD("4", " #{#deptName} IN ( #{@sdss.getDeptAndChild( #user.deptId )} )", ""), /** * 浠呮湰浜烘暟鎹潈闄� */ - SELF("5", " #{#userName?:1} = #{#user.userId} "); + SELF("5", " #{#userName} = #{#user.userId} " , " 1 = 0 "); private final String code; /** * 璇硶 閲囩敤 spel 妯℃澘琛ㄨ揪寮� */ - private final String sql; + private final String sqlTemplate; + + /** + * 涓嶆弧瓒� sqlTemplate 鍒欏~鍏� + */ + private final String elseSql; public static DataScopeType findCode(String code) { if (StringUtils.isBlank(code)) { diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java index 89897c3..527fa60 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java @@ -96,13 +96,14 @@ return ""; } // 涓嶅寘鍚� key 鍙橀噺 鍒欎笉澶勭悊 - if (!StringUtils.contains(type.getSql(), "#" + dataColumn.key())) { + if (!StringUtils.contains(type.getSqlTemplate(), "#" + dataColumn.key())) { + sqlString.append(type.getElseSql()); continue; } // 鏇存柊鎴栧垹闄ら渶婊¤冻鎵�鏈夋潯浠� sqlString.append(isSelect ? " OR " : " AND "); // 瑙f瀽sql妯℃澘骞跺~鍏� - String sql = parser.parseExpression(type.getSql(), parserContext).getValue(context, String.class); + String sql = parser.parseExpression(type.getSqlTemplate(), parserContext).getValue(context, String.class); sqlString.append(sql); } } -- Gitblit v1.9.3