Explorar el Código

数据集权限组条件判断添加个mapper计数方法

aokunsang hace 3 semanas
padre
commit
301a33e06d

+ 7 - 0
platomix-gmetry-bi-api/src/main/java/org/springblade/cube/mapper/CubeDataPermissionMapper.java

@@ -24,6 +24,13 @@ public interface CubeDataPermissionMapper extends BaseMapper<CubeDataPermission>
 		"where a.cube_data_id = #{cubeDataId} and b.user_id = #{userId}"
 	})
 	public List<CubeDataPermission> selectListByCubeDataIdAndUserId(@Param("cubeDataId")Integer cubeDataId, @Param("userId")Long userId);
+
+	@Select({
+			"select count(1) ",
+			"from cube_data_permission a inner join data_permission_user b on a.data_perm_id = b.data_perm_id",
+			"where a.cube_data_id = #{cubeDataId} and b.user_id = #{userId}"
+	})
+	public int countByByCubeDataIdAndUserId(@Param("cubeDataId")Integer cubeDataId, @Param("userId")Long userId);
 	
 	@Select({
 		"select a.* from cube_data_permission a",

+ 2 - 2
platomix-gmetry-bi-api/src/main/java/org/springblade/cube/service/CubeDataPermissionService.java

@@ -14,7 +14,6 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.alibaba.fastjson2.JSON;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.exception.ServiceException;
 import org.springblade.core.tool.utils.CollectionUtil;
@@ -35,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
@@ -100,7 +100,7 @@ public class CubeDataPermissionService extends ServiceImpl<CubeDataPermissionMap
 		return cubeCreateUserId.longValue() == bladeUser.getUserId()
 				|| cubeDataService.count(Wrappers.<CubeData>lambdaQuery().eq(CubeData::getId, cubeDataId).eq(CubeData::getPublicStatus, 1)) > 0
 				|| Optional.<Boolean>ofNullable(dataPermClient.checkSuperPermission(bladeUser.getUserId())).orElse(false)
-				|| CollectionUtil.isNotEmpty(baseMapper.selectListByCubeDataIdAndUserId(cubeDataId, bladeUser.getUserId()));
+				|| baseMapper.countByByCubeDataIdAndUserId(cubeDataId, bladeUser.getUserId()) > 0;
 	}
 	
 	/**