Unverified 提交 1d613098 authored 作者: XiaJunjie2020's avatar XiaJunjie2020 提交者: GitHub

Merge pull request #1435 from dataease/pr@dev@feat_logic

feat(视图): 过滤器支持and、or逻辑
......@@ -840,9 +840,11 @@ public class CKQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -922,7 +924,7 @@ public class CKQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -790,9 +790,11 @@ public class Db2QueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -860,7 +862,7 @@ public class Db2QueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -812,9 +812,11 @@ public class DorisQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -884,7 +886,7 @@ public class DorisQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String transDateFormat(String dateStyle, String datePattern) {
......
......@@ -759,9 +759,11 @@ public class EsQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -828,7 +830,7 @@ public class EsQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -786,9 +786,11 @@ public class HiveQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -855,7 +857,7 @@ public class HiveQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -752,9 +752,11 @@ public class MongoQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -807,7 +809,7 @@ public class MongoQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -789,9 +789,11 @@ public class MysqlQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -858,7 +860,7 @@ public class MysqlQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -847,9 +847,11 @@ public class OracleQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -917,7 +919,7 @@ public class OracleQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -817,9 +817,11 @@ public class PgQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -885,7 +887,7 @@ public class PgQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -754,9 +754,11 @@ public class RedshiftQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -822,7 +824,7 @@ public class RedshiftQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -851,9 +851,11 @@ public class SqlserverQueryProvider extends QueryProvider {
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
if (CollectionUtils.isNotEmpty(list)) {
res.add("(" + String.join(" " + getLogic(request.getLogic()) + " ", strList) + ")");
}
}
return "(" + String.join(" AND ", res) + ")";
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
......@@ -920,7 +922,7 @@ public class SqlserverQueryProvider extends QueryProvider {
}
List<String> strList = new ArrayList<>();
list.forEach(ele -> strList.add(ele.getWhereField() + " " + ele.getWhereTermAndValue()));
return "(" + String.join(" AND ", strList) + ")";
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
private String sqlFix(String sql) {
......
......@@ -4,6 +4,7 @@ package io.dataease.service.dataset;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import io.dataease.auth.api.dto.CurrentRoleDto;
import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.base.domain.*;
import io.dataease.base.mapper.*;
import io.dataease.base.mapper.ext.ExtDataSetGroupMapper;
......@@ -447,9 +448,12 @@ public class DataSetTableService {
return new ArrayList<>();
}
RowPermissionService rowPermissionService = SpringContextUtil.getBean(RowPermissionService.class);
datasetRowPermissions.addAll(rowPermissionService.listDatasetRowPermissions(datasetId, Collections.singletonList(AuthUtils.getUser().getUserId()), "user"));
datasetRowPermissions.addAll(rowPermissionService.listDatasetRowPermissions(datasetId, AuthUtils.getUser().getRoles().stream().map(CurrentRoleDto::getId).collect(Collectors.toList()), "role"));
datasetRowPermissions.addAll(rowPermissionService.listDatasetRowPermissions(datasetId, Collections.singletonList(AuthUtils.getUser().getDeptId()), "dept"));
CurrentUserDto user = AuthUtils.getUser();
if (user != null) {
datasetRowPermissions.addAll(rowPermissionService.listDatasetRowPermissions(datasetId, Collections.singletonList(user.getUserId()), "user"));
datasetRowPermissions.addAll(rowPermissionService.listDatasetRowPermissions(datasetId, user.getRoles().stream().map(CurrentRoleDto::getId).collect(Collectors.toList()), "role"));
datasetRowPermissions.addAll(rowPermissionService.listDatasetRowPermissions(datasetId, Collections.singletonList(user.getDeptId()), "dept"));
}
return datasetRowPermissions;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论