wangrui преди 4 месеца
родител
ревизия
1a25ff8bf1

+ 1 - 1
platomix-gmetry-bi-api/pom.xml

@@ -26,7 +26,7 @@
         <dependency>
             <groupId>com.platomix</groupId>
             <artifactId>platomix-gmetry-bi-client</artifactId>
-            <version>1.1.26</version>
+            <version>1.2.27</version>
         </dependency>
         <dependency>
             <groupId>com.platomix</groupId>

+ 9 - 3
platomix-gmetry-bi-api/src/main/java/org/springblade/cube/service/CubeDataBrowserService.java

@@ -81,15 +81,17 @@ public class CubeDataBrowserService {
     @Autowired
     private DialectContext dialectContext;
     //${系统变量}
-    static private final String sql = "where  ( ${permissionCubeColumnId1}  = ${publicPermission} or ( ${userIdsCubeColumnId} like '%${userId}${userIdDelimiter}%' and ${permissionCubeColumnId2} = ${privatePermission} )  )";
+    static private final String sql = "where  ( ${permissionCubeColumnId1}  = ${publicPermission} or ( ${creatorUserCubeColumnId} = ${userId1} ) or ( ${userIdsCubeColumnId} like '%${userId2}${userIdDelimiter}%' and ${permissionCubeColumnId2} = ${privatePermission} )  )";
     //${系统变量}
     static private final String permissionCubeColumnId1 = "\\$\\{permissionCubeColumnId1\\}";
     static private final String publicPermission = "\\$\\{publicPermission\\}";
     static private final String permissionCubeColumnId2 = "\\$\\{permissionCubeColumnId2\\}";
     static private final String privatePermission = "\\$\\{privatePermission\\}";
     static private final String userIdsCubeColumnId = "\\$\\{userIdsCubeColumnId\\}";
-    static private final String userId = "\\$\\{userId\\}";
+    static private final String userId1 = "\\$\\{userId\\}";
+    static private final String userId2 = "\\$\\{userId\\}";
     static private final String userIdDelimiter = "\\$\\{userIdDelimiter\\}";
+    static private final String creatorUserCubeColumnId = "\\$\\{creatorUserCubeColumnId\\}";
     public static void main(String[] args) {
         // 创建一个Pattern对象,并编译一个正则表达式,用于匹配方括号内的内容
         Pattern pattern = Pattern.compile(permissionCubeColumnId1);
@@ -244,9 +246,13 @@ public class CubeDataBrowserService {
         }
         if (rowPermissionParam.getUserIdsCubeColumnId().equals(column.getId())) {
             replaceSql(userIdsCubeColumnId,queryColumnName, rowPermissionSql);
-            replaceSql(userId,AuthUtil.getUserId()+"", rowPermissionSql);
+            replaceSql(userId2,AuthUtil.getUserId()+"", rowPermissionSql);
             replaceSql(userIdDelimiter,rowPermissionParam.getUserIdDelimiter(), rowPermissionSql);
         }
+        if (rowPermissionParam.getCreatorUserCubeColumnId().equals(column.getId())) {
+            replaceSql(creatorUserCubeColumnId,queryColumnName, rowPermissionSql);
+            replaceSql(userId1,AuthUtil.getUserId()+"", rowPermissionSql);
+        }
     }
 
     private static void replaceSql(String rex, String value, String rowPermissionSql) {

+ 1 - 1
platomix-gmetry-bi-client/pom.xml

@@ -8,7 +8,7 @@
 		<version>1.0.0</version>
 	</parent>
 	<artifactId>platomix-gmetry-bi-client</artifactId>
-	<version>1.1.26</version>
+	<version>1.2.27</version>
 
 	<dependencies>
 		<dependency>

+ 4 - 0
platomix-gmetry-bi-client/src/main/java/org/springblade/bi/client/form/param/RowPermissionParam.java

@@ -47,4 +47,8 @@ public class RowPermissionParam implements Serializable {
 	 * 私有
 	 */
 	private String  privatePermission;
+	/**
+	 * 创建人数据集 id
+	 */
+	private Integer  creatorUserCubeColumnId;
 }