From 5fea7804f97bb2aa5a9a92293536d54150d3727b Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 May 2023 12:00:12 +0800 Subject: [PATCH 01/21] =?UTF-8?q?fix(=E6=B6=88=E6=81=AF=E7=AE=A1=E7=90=86)?= =?UTF-8?q?:=20=E6=8E=A5=E5=8F=97=E7=AE=A1=E7=90=86=E4=B8=AD=E2=80=9C?= =?UTF-8?q?=E5=9B=BD=E9=99=85=E9=A3=9E=E4=B9=A6=E2=80=9D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E9=9A=90=E8=97=8F#5119?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/controller/sys/MsgController.java | 3 +++ frontend/src/views/msg/Setting.vue | 8 -------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/sys/MsgController.java b/backend/src/main/java/io/dataease/controller/sys/MsgController.java index 9870df1a87..d68ba912bf 100644 --- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java +++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java @@ -131,6 +131,9 @@ public class MsgController { if (msgChannelId == 5L) { return authUserService.supportLark(); } + if (msgChannelId == 6L) { + return authUserService.supportLarksuite(); + } return true; }).collect(Collectors.toList()); } diff --git a/frontend/src/views/msg/Setting.vue b/frontend/src/views/msg/Setting.vue index 8fb727c62a..1990b80fe5 100644 --- a/frontend/src/views/msg/Setting.vue +++ b/frontend/src/views/msg/Setting.vue @@ -91,8 +91,6 @@ export default { computed: {}, mounted() {}, beforeCreate() { - // this.loadChannelData() - channelList().then((res) => { this.msg_channels = res.data }) @@ -153,12 +151,6 @@ export default { // this.checkBoxStatus(node, ) } }, - // 加载消息渠道 - loadChannelData() { - channelList().then((res) => { - this.msg_channels = res.data - }) - }, // 加载用户设置信息 loadSettingData(callBack) { // this.setting_data = {} From 4a05364ce405699ca17808366524fb9b97eae4aa Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 May 2023 12:15:14 +0800 Subject: [PATCH 02/21] =?UTF-8?q?fix(=E5=9C=B0=E5=9B=BE):=20=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1=E7=BB=B4=E5=BA=A6=E6=8C=87=E6=A0=87=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5=E4=B8=8B=E6=A0=87=E9=A2=98=E4=B9=9F=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=98=BE=E7=A4=BA#5172?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/map/map.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/chart/map/map.js b/frontend/src/views/chart/chart/map/map.js index b2ff1ef1fb..380c491eb0 100644 --- a/frontend/src/views/chart/chart/map/map.js +++ b/frontend/src/views/chart/chart/map/map.js @@ -83,9 +83,9 @@ export function baseMapOption(chart_option, chart, themeStyle, curAreaCode, seri chart_option.tooltip.borderColor = bgColor } } + chart_option.title.text = chart.title // 处理data if (chart.data) { - chart_option.title.text = chart.title if (chart.data.series && chart.data.series.length > 0) { chart_option.series[0].name = chart.data.series[seriesIndex].name chart_option.series[0].selectedMode = true From a37dc8b6a808b6f9e1b7c101ec0fb12894161b02 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 May 2023 15:41:29 +0800 Subject: [PATCH 03/21] =?UTF-8?q?fix(=E9=80=89=E9=A1=B9=E5=8D=A1):=20?= =?UTF-8?q?=E5=8C=85=E5=90=AB=E4=B8=A4=E9=A1=B5=E7=AC=A6=E5=8F=B7=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E6=97=B6=EF=BC=8C=E7=AC=AC=E4=BA=8C=E9=A1=B5=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=98=BE=E7=A4=BA=E5=BA=95=E5=9B=BE#5125?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/widget/deWidget/DeTabs.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/widget/deWidget/DeTabs.vue b/frontend/src/components/widget/deWidget/DeTabs.vue index 2818d54a5b..d6b93200b7 100644 --- a/frontend/src/components/widget/deWidget/DeTabs.vue +++ b/frontend/src/components/widget/deWidget/DeTabs.vue @@ -25,7 +25,7 @@ From 5ebba3a5e57039f241e308702cff85d32633bc89 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 May 2023 16:41:36 +0800 Subject: [PATCH 04/21] =?UTF-8?q?feat(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E6=90=9C=E7=B4=A2=E7=BB=84=E4=BB=B6=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E5=A4=A7=E5=B0=8F=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/engine/doris/DorisQueryProvider.java | 4 +++- .../io/dataease/provider/engine/mysql/MysqlQueryProvider.java | 4 +++- .../java/io/dataease/provider/query/ck/CKQueryProvider.java | 4 +++- .../java/io/dataease/provider/query/db2/Db2QueryProvider.java | 4 +++- .../java/io/dataease/provider/query/es/EsQueryProvider.java | 4 +++- .../io/dataease/provider/query/hive/HiveQueryProvider.java | 4 +++- .../dataease/provider/query/impala/ImpalaQueryProvider.java | 4 +++- .../dataease/provider/query/mongodb/MongoQueryProvider.java | 4 +++- .../io/dataease/provider/query/mysql/MysqlQueryProvider.java | 4 +++- .../dataease/provider/query/oracle/OracleQueryProvider.java | 4 +++- .../java/io/dataease/provider/query/pg/PgQueryProvider.java | 4 +++- .../provider/query/redshift/RedshiftQueryProvider.java | 4 +++- .../provider/query/sqlserver/SqlserverQueryProvider.java | 4 +++- 13 files changed, 39 insertions(+), 13 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java b/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java index d4b9f6ab49..5c6cc33712 100644 --- a/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java @@ -1109,7 +1109,9 @@ public class DorisQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java index 4c8591d85b..070dc44f76 100644 --- a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java @@ -1096,7 +1096,9 @@ public class MysqlQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { if (request.getDatasetTableField().getDeExtractType() == 2 diff --git a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java index 733b7fcaea..c9258d88cc 100644 --- a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java @@ -1181,7 +1181,9 @@ public class CKQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java index 80252527f8..4dd687b3de 100644 --- a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java @@ -1169,7 +1169,9 @@ public class Db2QueryProvider extends QueryProvider { whereValue = "('" + StringUtils.join(value, "','") + "')"; } } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java index fd02228338..df01b29c0e 100644 --- a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java @@ -1119,7 +1119,9 @@ public class EsQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java index 8ec11f5649..c71832f84a 100644 --- a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java @@ -1075,7 +1075,9 @@ public class HiveQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java index 210ff42c02..1d09645722 100644 --- a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java @@ -1077,7 +1077,9 @@ public class ImpalaQueryProvider extends QueryProvider { whereValue = "('" + StringUtils.join(value, "','") + "')"; } } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java index 34730987a4..73218b28d8 100644 --- a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java @@ -979,7 +979,9 @@ public class MongoQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 6527c5b951..60249dd169 100644 --- a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -1104,7 +1104,9 @@ public class MysqlQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { if (request.getDatasetTableField().getDeExtractType() == 2 diff --git a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java index 4f97729539..9bc77ab309 100644 --- a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java @@ -1259,7 +1259,9 @@ public class OracleQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java index 4a102bd3d8..b33dbb7190 100644 --- a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java @@ -1127,7 +1127,9 @@ public class PgQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java index 52636edbfd..33156e439d 100644 --- a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java @@ -1108,7 +1108,9 @@ public class RedshiftQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 8ab6fced1f..c55f1470bb 100644 --- a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -1131,7 +1131,9 @@ public class SqlserverQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); From 85b66a1f13b5df93f52fb39e41593e7c41eef40b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:06:47 +0800 Subject: [PATCH 05/21] =?UTF-8?q?fix:=20=E7=B2=BE=E7=AE=80=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E6=8F=92=E5=85=A5excel=E6=95=B0=E6=8D=AE=E5=87=BA?= =?UTF-8?q?=E9=94=99=EF=BC=9A/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/provider/engine/mysql/MysqlDDLProvider.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java index 8b18cb33ce..258c4254ca 100644 --- a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java +++ b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java @@ -39,8 +39,11 @@ public class MysqlDDLProvider extends DDLProviderImpl { for (int i = 0; i < strings.length; i++) { if (StringUtils.isEmpty(strings[i])) { strings1[i] = null; - } else { - strings1[i] = strings[i].replace("'", "\\'"); + continue; + } + strings1[i] = strings[i].replace("'", "\\'"); + if(strings1[i].equals("/")){ + strings1[i] = "//"; } } values.append("('").append(UUID.randomUUID()) From 71bd530c4fceff443e0d0eb0391e44dc8528458b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:07:31 +0800 Subject: [PATCH 06/21] =?UTF-8?q?fix:=20ck=20=E6=97=B6=E9=97=B4=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/query/ck/CKQueryProvider.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java index 733b7fcaea..4f5034a391 100644 --- a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java @@ -1091,7 +1091,7 @@ public class CKQueryProvider extends QueryProvider { return null; } - AtomicReference atomicReference = new AtomicReference<>(); + List chartExtFilterRequests = new ArrayList<>(); requestList.forEach(request -> { DatasetTableField datasetTableField = request.getDatasetTableField(); List requestValue = request.getValue(); @@ -1106,12 +1106,12 @@ public class CKQueryProvider extends QueryProvider { requestCopy.setValue(new ArrayList() {{ add(String.format(toDateTime64, "'" + simpleDateFormat.format(new Date(Long.parseLong(requestValue.get(1)))) + "'")); }}); - atomicReference.set(requestCopy); + chartExtFilterRequests.add(requestCopy); } }); - if (ObjectUtils.isNotEmpty(atomicReference.get())) { - requestList.add(atomicReference.get()); + if (CollectionUtils.isNotEmpty(chartExtFilterRequests)) { + requestList.addAll(chartExtFilterRequests); } List list = new ArrayList<>(); for (ChartExtFilterRequest request : requestList) { From 6d7f5388e757f1f950043daf3e3a9e1ac6b28acf Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Mon, 22 May 2023 17:08:01 +0800 Subject: [PATCH 07/21] =?UTF-8?q?refactor:=20=E4=B8=8D=E5=90=8C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=99=BB=E5=BD=95=E5=8F=8A=E6=97=B6=E6=B8=85=E7=90=86?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=8F=9C=E5=8D=95=E7=BC=93=E5=AD=98=20#5118?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/store/modules/user.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/store/modules/user.js b/frontend/src/store/modules/user.js index 91ca204667..efc51fd300 100644 --- a/frontend/src/store/modules/user.js +++ b/frontend/src/store/modules/user.js @@ -109,6 +109,13 @@ const actions = { if (!data) { reject('Verification failed, please Login again.') } + const historyUserId = localStorage.getItem('userId') + if(historyUserId && historyUserId !== data.userId+''){ + const clearLocalStorage = [ 'panel-main-tree', 'panel-default-tree','chart-tree','dataset-tree'] + clearLocalStorage.forEach((item) => { + localStorage.removeItem(item) + }) + } localStorage.setItem('userId', data.userId) const currentUser = data commit('SET_USER', currentUser) From 071181b2a7f9307f2946a860f1e623a079220a1c Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:08:11 +0800 Subject: [PATCH 08/21] =?UTF-8?q?fix:=20sqlserver=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlserver/SqlserverQueryProvider.java | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 8ab6fced1f..0e056f79c3 100644 --- a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -54,6 +54,7 @@ public class SqlserverQueryProvider extends QueryProvider { case "NCHAR": case "NTEXT": case "VARCHAR": + case "NVARCHAR": case "TEXT": case "TINYTEXT": case "MEDIUMTEXT": @@ -898,11 +899,19 @@ public class SqlserverQueryProvider extends QueryProvider { } else if (StringUtils.equalsIgnoreCase(item.getTerm(), "not_empty")) { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(item.getTerm(), "in") || StringUtils.containsIgnoreCase(item.getTerm(), "not in")) { - whereValue = "('" + String.join("','", value.split(",")) + "')"; + if(field.getType().equals("NVARCHAR")){ + whereValue = Arrays.asList(value.split(",")).stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + String.join("','", value.split(",")) + "')"; + } } else if (StringUtils.containsIgnoreCase(item.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + if(field.getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, value); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + } } SQLObj build = SQLObj.builder() .whereField(whereName) @@ -1025,11 +1034,19 @@ public class SqlserverQueryProvider extends QueryProvider { } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { - whereValue = "('" + String.join("','", value.split(",")) + "')"; + if(field.getType().equals("NVARCHAR")){ + whereValue = Arrays.asList(value.split(",")).stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + String.join("','", value.split(",")) + "')"; + } } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + if(field.getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, value); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + } } list.add(SQLObj.builder() .whereField(whereName) @@ -1129,7 +1146,11 @@ public class SqlserverQueryProvider extends QueryProvider { String whereValue = ""; if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + if(request.getDatasetTableField().getType().equals("NVARCHAR")){ + whereValue = value.stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + StringUtils.join(value, "','") + "')"; + } } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { @@ -1142,7 +1163,13 @@ public class SqlserverQueryProvider extends QueryProvider { whereValue = String.format(SqlServerSQLConstants.WHERE_BETWEEN, value.get(0), value.get(1)); } } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value.get(0)); + + if(request.getDatasetTableField().getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, value.get(0)); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value.get(0)); + } + } list.add(SQLObj.builder() .whereField(whereName) @@ -1299,11 +1326,19 @@ public class SqlserverQueryProvider extends QueryProvider { } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_empty")) { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; + if(y.getType().equals("NVARCHAR")){ + whereValue = Arrays.asList(f.getValue().split(",")).stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + String.join("','", f.getValue().split(",")) + "')"; + } } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { whereValue = "'%" + f.getValue() + "%'"; } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, f.getValue()); + if(y.getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, f.getValue()); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, f.getValue()); + } } list.add(SQLObj.builder() .whereField(fieldAlias) From 9408fcd0c8022b4b70884cf2f99bc8430f76fc39 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:09:11 +0800 Subject: [PATCH 09/21] =?UTF-8?q?fix:=20=E8=84=B1=E6=95=8F=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=B1=95=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/chart/util/ChartDataBuild.java | 18 +++++++++++++++--- .../service/dataset/PermissionService.java | 5 ++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java index 88646f5326..4df9247e53 100644 --- a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java +++ b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java @@ -1,8 +1,8 @@ package io.dataease.service.chart.util; import cn.hutool.core.util.ArrayUtil; -import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; import io.dataease.dto.chart.*; +import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO; import io.dataease.plugins.xpack.auth.dto.request.ColumnPermissionItem; import org.apache.commons.collections4.CollectionUtils; @@ -1071,11 +1071,11 @@ public class ChartDataBuild { break; } if (originStr.length() >= columnPermissionItem.getDesensitizationRule().getM() && originStr.length() >= columnPermissionItem.getDesensitizationRule().getN()) { - desensitizationStr = "***" + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, columnPermissionItem.getDesensitizationRule().getN()) + "***"; + desensitizationStr = buildPrefix(columnPermissionItem.getDesensitizationRule().getM()) + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, columnPermissionItem.getDesensitizationRule().getN()) + "***"; break; } if (originStr.length() >= columnPermissionItem.getDesensitizationRule().getM() && originStr.length() < columnPermissionItem.getDesensitizationRule().getN()) { - desensitizationStr = "***" + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, originStr.length()); + desensitizationStr = buildPrefix(columnPermissionItem.getDesensitizationRule().getM()) + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, originStr.length()); } break; default: @@ -1086,6 +1086,18 @@ public class ChartDataBuild { return desensitizationStr; } + + private static String buildPrefix(Integer integer) { + String prefix = ""; + if (integer <= 1) { + return prefix; + } + for (int i = 0; i < integer - 1; i++) { + prefix = prefix + "*"; + } + return prefix; + } + private static Map transTableNormal(List fields, ChartViewWithBLOBs view, List data, Map desensitizationList) { Map map = new TreeMap<>(); List> tableRow = new ArrayList<>(); diff --git a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java index 77fba010d0..9199b275ea 100644 --- a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java @@ -208,7 +208,10 @@ public class PermissionService { dataSetColumnPermissionsDTO.setDatasetId(datasetId); dataSetColumnPermissionsDTO.setAuthTargetIds(Collections.singletonList(userId)); dataSetColumnPermissionsDTO.setAuthTargetType("user"); - datasetColumnPermissions.addAll(columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)); + List dataSetColumnPermissionsDTOS = columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO); + if(CollectionUtils.isNotEmpty(dataSetColumnPermissionsDTOS)){ + datasetColumnPermissions.addAll(dataSetColumnPermissionsDTOS); + } if (CollectionUtils.isNotEmpty(roleIds)) { DataSetColumnPermissionsDTO request = new DataSetColumnPermissionsDTO(); request.setDatasetId(datasetId); From 6fe534148b407805655b37351ad8e32e1175631f Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:10:01 +0800 Subject: [PATCH 10/21] =?UTF-8?q?refactor:=20API=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=A1=A8=E5=BC=B9=E6=A1=86:=20wrapper-closable=3D"false"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/system/datasource/DsConfiguration.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/views/system/datasource/DsConfiguration.vue b/frontend/src/views/system/datasource/DsConfiguration.vue index abbc54dd32..b16707c570 100644 --- a/frontend/src/views/system/datasource/DsConfiguration.vue +++ b/frontend/src/views/system/datasource/DsConfiguration.vue @@ -454,6 +454,7 @@ size="840px" :before-close="closeEditItem" direction="rtl" + :wrapper-closable="false" > Date: Mon, 22 May 2023 20:53:44 +0800 Subject: [PATCH 11/21] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=AF=8C=E6=96=87=E6=9C=AC=E8=A7=86=E5=9B=BE=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E5=87=BA=E7=8E=B0=E6=97=A0=E6=B3=95=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=A0=87=E9=A2=98=E5=90=8D=E7=A7=B0=E7=9A=84=E6=83=85=E5=86=B5?= =?UTF-8?q?=20#5182?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/chart/components/componentStyle/TitleSelectorAntV.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/components/componentStyle/TitleSelectorAntV.vue b/frontend/src/views/chart/components/componentStyle/TitleSelectorAntV.vue index df9de17c55..c48046f890 100644 --- a/frontend/src/views/chart/components/componentStyle/TitleSelectorAntV.vue +++ b/frontend/src/views/chart/components/componentStyle/TitleSelectorAntV.vue @@ -18,7 +18,7 @@ >{{ $t('chart.show') }} -
+
Date: Mon, 22 May 2023 21:04:16 +0800 Subject: [PATCH 12/21] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=BE=91=E6=89=8B=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=90=8E=EF=BC=8C=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=88=B0=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20#4717?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/panel/list/PanelMain.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/views/panel/list/PanelMain.vue b/frontend/src/views/panel/list/PanelMain.vue index 811b75fd17..ee47cbca71 100644 --- a/frontend/src/views/panel/list/PanelMain.vue +++ b/frontend/src/views/panel/list/PanelMain.vue @@ -85,6 +85,7 @@ export default { } }, mounted() { + this.$store.commit('setMobileLayoutStatus', false) // init all views (include plugins) base info localStorage.removeItem('plugin-views') pluginTypes().then(res => { From cc40c628d686af60ee9a4297c016f262d52f6a27 Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Tue, 23 May 2023 10:31:46 +0800 Subject: [PATCH 13/21] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=90=8D=E5=AD=97?= =?UTF-8?q?=E8=BE=83=E9=95=BF=E6=97=B6=E4=BF=A1=E6=81=AF=E8=A2=AB=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=E9=97=AE=E9=A2=98=20#4860?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/panel/list/PanelViewShow.vue | 88 ++++++++++++------- 1 file changed, 55 insertions(+), 33 deletions(-) diff --git a/frontend/src/views/panel/list/PanelViewShow.vue b/frontend/src/views/panel/list/PanelViewShow.vue index 85eee9d883..ec83885964 100644 --- a/frontend/src/views/panel/list/PanelViewShow.vue +++ b/frontend/src/views/panel/list/PanelViewShow.vue @@ -17,7 +17,7 @@ style="border-bottom: 1px solid;border-bottom-color:#E6E6E6;" >
- +
- {{ panelInfo.name || '测试仪表板' }} - ({{ $t('panel.default_panel_name') }}:{{ panelInfo.defaultPanelName }}) -  ({{ $t('panel.source_panel_name') }}:{{ panelInfo.sourcePanelName }}) - + {{ panelInfo.name || '测试仪表板' }} + ({{ $t('panel.default_panel_name') }}:{{ panelInfo.defaultPanelName }}) +  ({{ $t('panel.source_panel_name') }}:{{ panelInfo.sourcePanelName }}) +
+
+ - + - + + + + +
+ @@ -388,6 +397,7 @@ import AppExportForm from '@/views/panel/list/AppExportForm' import GrantAuth from '../grantAuth' import msgCfm from '@/components/msgCfm/index' import { inOtherPlatform } from '@/utils/index' + export default { name: 'PanelViewShow', components: { AppExportForm, PanelDetailInfo, Preview, SaveToTemplate, PDFPreExport, ShareHead, GrantAuth }, @@ -423,6 +433,17 @@ export default { } }, computed: { + showName(){ + let name = this.panelInfo.name || '测试仪表板' + if(this.panelInfo.isDefault){ + name = name +'('+ this.$t('panel.default_panel_name') +':'+ this.panelInfo.defaultPanelName +')' + } + + if(this.panelInfo.sourcePanelName){ + name = name +'('+ this.$t('panel.source_panel_name') +':'+ this.panelInfo.sourcePanelName +')' + } + return name + }, mainCanvasComponentData() { return getNowCanvasComponentData(this.canvasId) }, @@ -837,6 +858,7 @@ export default { font-size: 16px; font-weight: 500; line-height: 24px; + flex: 1; color: var(--deTextPrimary, #1F2329); } From 483de19224bdcacfb1942938783b1ef04126acc9 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 23 May 2023 11:11:39 +0800 Subject: [PATCH 14/21] =?UTF-8?q?feat(lic):=20ak/sk=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AE=B8=E5=8F=AF=E9=AA=8C=E8=AF=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/auth/filter/JWTFilter.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java b/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java index 83c73fc1ca..6729d39558 100644 --- a/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java +++ b/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java @@ -2,17 +2,16 @@ package io.dataease.auth.filter; import io.dataease.auth.entity.ASKToken; import io.dataease.auth.entity.JWTToken; - import io.dataease.auth.handler.ApiKeyHandler; - +import io.dataease.commons.license.DefaultLicenseService; +import io.dataease.commons.license.F2CLicenseResponse; +import io.dataease.commons.utils.CommonBeanFactory; import io.dataease.commons.utils.LogUtil; import io.dataease.commons.utils.TokenCacheUtils; - import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.subject.Subject; import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter; - import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.RequestMethod; @@ -26,6 +25,7 @@ public class JWTFilter extends BasicHttpAuthenticationFilter { public final static String expireMessage = "Login token is expire."; + public final static String licMessage = "license invalid"; /** @@ -49,6 +49,17 @@ public class JWTFilter extends BasicHttpAuthenticationFilter { if (ApiKeyHandler.isApiKeyCall(httpServletRequest)) { + DefaultLicenseService licenseService = CommonBeanFactory.getBean(DefaultLicenseService.class); + F2CLicenseResponse licenseResponse = null; + try { + licenseResponse = licenseService.validateLicense(); + } catch (Exception e) { + throw new AuthenticationException(licMessage); + } + if (licenseResponse.getStatus() != F2CLicenseResponse.Status.valid) { + throw new AuthenticationException(licMessage); + } + ASKToken askToken = ApiKeyHandler.buildToken(httpServletRequest); getSubject(request, response).login(askToken); @@ -87,6 +98,8 @@ public class JWTFilter extends BasicHttpAuthenticationFilter { LogUtil.error(e); if (e instanceof AuthenticationException && StringUtils.equals(e.getMessage(), expireMessage)) { responseExpire(request, response, e); + } else if (StringUtils.equals(licMessage, e.getMessage())) { + responseLicError(request, response, e); } else { tokenError(request, response, e); } @@ -127,4 +140,10 @@ public class JWTFilter extends BasicHttpAuthenticationFilter { httpServletResponse.setHeader("authentication-status", "login_expire"); } + private void responseLicError(ServletRequest req, ServletResponse resp, Exception e1) { + HttpServletResponse httpServletResponse = (HttpServletResponse) resp; + httpServletResponse.addHeader("Access-Control-Expose-Headers", "authentication-status"); + httpServletResponse.setHeader("authentication-status", licMessage); + } + } From ae49e8810acb4b8f8972f82a25e2fa16f69eb90d Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Tue, 23 May 2023 12:48:58 +0800 Subject: [PATCH 15/21] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=AA=E8=A1=A8=E6=9D=BF=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=90=8E=EF=BC=8C=E7=9B=AE=E5=BD=95=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=B8=8B=E7=9A=84=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E7=9A=84=E9=BB=98=E8=AE=A4=E4=BB=AA=E8=A1=A8=E6=9D=BF?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E6=B2=A1=E6=9C=89=E8=B7=9F=E9=9A=8F=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E9=97=AE=E9=A2=98=20#5171?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/io/dataease/ext/ExtPanelGroupMapper.java | 2 ++ .../src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml | 5 ++++- .../java/io/dataease/service/panel/PanelGroupService.java | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java index a1fdf5af1a..8e62c241e3 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java @@ -17,6 +17,8 @@ public interface ExtPanelGroupMapper { //会级联删除pid 下的所有数据 int deleteCircle(@Param("pid") String pid, @Param("nodeType") String nodeType); + int deleteLinkDefaultCircle(@Param("pid") String pid); + int deleteCircleView(@Param("pid") String pid, @Param("nodeType") String nodeType); int deleteCircleViewCache(@Param("pid") String pid, @Param("nodeType") String nodeType); diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml index 6b3d058df8..6e54ab20fb 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml @@ -202,6 +202,10 @@ ORDER BY panel_group.node_type desc, CONVERT(panel_group.name using gbk) + + delete from panel_group where FIND_IN_SET(panel_group.source, GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) + + delete from panel_group @@ -211,7 +215,6 @@ panel_group.source = #{pid} or FIND_IN_SET(panel_group.id, GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) - or FIND_IN_SET(panel_group.source, GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 7f22ac1a7a..964155492b 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -305,6 +305,7 @@ public class PanelGroupService { extPanelGroupMapper.deleteCircleView(id, nodeType); extPanelGroupMapper.deleteCircleViewCache(id, nodeType); // 同时会删除对应默认仪表盘 + extPanelGroupMapper.deleteLinkDefaultCircle(id); extPanelGroupMapper.deleteCircle(id, nodeType); storeService.removeByPanelId(id); shareService.delete(id, null); From 5b49d49e3b88cb9b0e4f94d065001f5753e3c3fc Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 23 May 2023 14:57:18 +0800 Subject: [PATCH 16/21] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=85=B3?= =?UTF-8?q?=E8=81=94=E6=95=B0=E6=8D=AE=E9=9B=86=E4=BF=9D=E5=AD=98=E9=80=9F?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dataset/DataSetTableService.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 3381f2d15d..41098d1a72 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -34,7 +34,6 @@ import io.dataease.plugins.common.base.mapper.*; import io.dataease.plugins.common.constants.DatasetType; import io.dataease.plugins.common.constants.DatasourceTypes; import io.dataease.plugins.common.constants.DeTypeConstants; -import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO; import io.dataease.plugins.common.dto.dataset.SqlVariableDetails; import io.dataease.plugins.common.dto.datasource.DataSourceType; import io.dataease.plugins.common.dto.datasource.TableField; @@ -1071,7 +1070,7 @@ public class DataSetTableService { defaultsSqlVariableDetail.getDefaultValueScope().equals(SqlVariableDetails.DefaultValueScope.ALLSCOPE) && StringUtils.isNotEmpty(defaultsSqlVariableDetail.getDefaultValue())) { sql = sql.replace(matcher.group(), defaultsSqlVariableDetail.getDefaultValue()); } - if (isEdit && defaultsSqlVariableDetail != null && StringUtils.isNotEmpty(defaultsSqlVariableDetail.getDefaultValue())){ + if (isEdit && defaultsSqlVariableDetail != null && StringUtils.isNotEmpty(defaultsSqlVariableDetail.getDefaultValue())) { sql = sql.replace(matcher.group(), defaultsSqlVariableDetail.getDefaultValue()); } } @@ -1171,7 +1170,7 @@ public class DataSetTableService { if (binaryExpression != null) { if (!(binaryExpression.getLeftExpression() instanceof BinaryExpression) && !(binaryExpression.getLeftExpression() instanceof InExpression) && hasVariable(binaryExpression.getRightExpression().toString())) { stringBuilder.append(SubstitutedSql); - }else { + } else { expr.accept(getExpressionDeParser(stringBuilder)); } } else { @@ -1258,7 +1257,7 @@ public class DataSetTableService { throw new Exception(Translator.get("i18n_invalid_ds")); } String tmpSql = removeVariables(sql, ds.getType()); - if(!realData){ + if (!realData) { tmpSql.replaceAll(SubstitutedSql, SubstitutedSqlVirtualData); } if (dataSetTableRequest.getMode() == 1 && (tmpSql.contains(SubstitutedParams) || tmpSql.contains(SubstitutedSql.trim()))) { @@ -2022,7 +2021,9 @@ public class DataSetTableService { // custom 创建doris视图 createDorisView(TableUtils.tableName(datasetTable.getId()), sql); - datasourceRequest.setQuery(sql); + // getQuerySql to get field + QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType()); + datasourceRequest.setQuery(qp.createSQLPreview(sql, null)); fields = datasourceProvider.fetchResultField(datasourceRequest); for (DatasetTableField field : fieldList) { for (TableField tableField : fields) { @@ -2045,8 +2046,9 @@ public class DataSetTableService { String sql = (String) sqlMap.get("sql"); List fieldList = (List) sqlMap.get("field"); - - datasourceRequest.setQuery(sql); + // getQuerySql to get field + QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType()); + datasourceRequest.setQuery(qp.createSQLPreview(sql, null)); fields = datasourceProvider.fetchResultField(datasourceRequest); for (DatasetTableField field : fieldList) { From ad26aeea2c8efcef0bd85e9defc5622c282b17b2 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 23 May 2023 16:38:25 +0800 Subject: [PATCH 17/21] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E5=B8=A6=E8=BF=87=E6=BB=A4=E5=99=A8=E7=9A=84=E6=A8=A1=E7=89=88?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E5=99=A8=E6=97=A0=E6=B3=95=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/panel/filter/FilterDialog.vue | 86 ++++++++++++------- 1 file changed, 57 insertions(+), 29 deletions(-) diff --git a/frontend/src/views/panel/filter/FilterDialog.vue b/frontend/src/views/panel/filter/FilterDialog.vue index 916727fae7..5b3f467da7 100644 --- a/frontend/src/views/panel/filter/FilterDialog.vue +++ b/frontend/src/views/panel/filter/FilterDialog.vue @@ -447,12 +447,13 @@ export default { this.currentElement = JSON.parse(JSON.stringify(this.element)) this.myAttrs = this.currentElement.options.attrs this.treeNode(this.groupForm) - + this.loadViews() if (this.myAttrs && this.myAttrs.dragItems) { this.enableSureButton() } + this.initWithField() - this.loadViews() + this.ProhibitMultiple() }, mounted() { @@ -462,7 +463,29 @@ export default { bus.$off('valid-values-change', this.validateFilterValue) }, methods: { - + checkSuperior(list) { + let fieldValid = false + const fieldId = this.myAttrs?.fieldId + if (fieldId && list?.length) { + const stack = [...list] + while (stack.length) { + const item = stack.pop() + if (item.id === fieldId) { + fieldValid = true + break + } + if (item.children?.length) { + item.children.forEach(kid => stack.push(kid)) + } + } + } + if (!fieldValid) { + this.myAttrs.fieldId = null + this.myAttrs.dragItems = [] + this.myAttrs.fieldsParent = null + } + return fieldValid + }, treeNode(cache) { const modelInfo = localStorage.getItem('dataset-tree') const userCache = (modelInfo && cache) @@ -471,6 +494,7 @@ export default { const results = this.buildTree(this.tData) this.defaultData = JSON.parse(JSON.stringify(results)) this.treeData = JSON.parse(JSON.stringify(results)) + return } queryAuthModel({ modelType: 'dataset' }, !userCache).then(res => { localStorage.setItem('dataset-tree', JSON.stringify(res.data)) @@ -488,8 +512,8 @@ export default { if (this.myAttrs.fieldsParent) { this.fieldsParent = this.myAttrs.fieldsParent this.$nextTick(() => { - this.activeName === 'dataset' && this.showFieldData(this.fieldsParent) - this.activeName !== 'dataset' && this.comShowFieldData(this.fieldsParent) + this.activeName === 'dataset' && this.showFieldData(this.fieldsParent, true) + this.activeName !== 'dataset' && this.comShowFieldData(this.fieldsParent, true) }) } } @@ -692,7 +716,7 @@ export default { }, removeTail(bread) { - if (!bread.id) { + if (!bread?.id) { this.dataSetBreads = this.dataSetBreads.slice(0, 1) this.dataSetBreads[this.dataSetBreads.length - 1]['link'] = false return @@ -718,7 +742,7 @@ export default { this.expandedArray = [] this.keyWord = '' this.isTreeSearch = false - if (bread.id) { + if (bread?.id) { const node = this.getNode(bread.id, this.treeData) if (node) { this.tempTreeData = node.children @@ -736,15 +760,17 @@ export default { this.comRemoveTail() }, - loadField(tableId) { - fieldListWithPermission(tableId).then(res => { - let data = res.data - if (this.widget && this.widget.filterFieldMethod) { - data = this.widget.filterFieldMethod(data) - } - this.originFieldData = data - this.fieldData = JSON.parse(JSON.stringify(data)) - }) + async loadField(tableId, init) { + const res = await fieldListWithPermission(tableId) + let data = res.data || [] + if (init && !this.checkSuperior(data)) { + this.backToLink() + } + if (this.widget && this.widget.filterFieldMethod) { + data = this.widget.filterFieldMethod(data) + } + this.originFieldData = data + this.fieldData = JSON.parse(JSON.stringify(data)) }, loadDatasetParams(tableId) { var type = 'TEXT' @@ -758,22 +784,24 @@ export default { this.datasetParams = res.data || [] }) }, - comLoadField(tableId) { - fieldListWithPermission(tableId).then(res => { - let data = res.data - if (this.widget && this.widget.filterFieldMethod) { - data = this.widget.filterFieldMethod(data) - } - this.originComFieldData = data - this.comFieldData = JSON.parse(JSON.stringify(data)) - }) + async comLoadField(tableId, init) { + const res = await fieldListWithPermission(tableId) + let data = res.data || [] + if (init && !this.checkSuperior(data)) { + this.comBackLink() + } + if (this.widget && this.widget.filterFieldMethod) { + data = this.widget.filterFieldMethod(data) + } + this.originComFieldData = data + this.comFieldData = JSON.parse(JSON.stringify(data)) }, - showFieldData(row) { + showFieldData(row, init) { this.keyWord = '' this.showDomType = 'field' this.addQueue(row) this.fieldsParent = row - this.loadField(row.id) + this.loadField(row.id, init) this.loadDatasetParams(row.id) }, showNextGroup(row) { @@ -782,13 +810,13 @@ export default { this.showDomType = 'tree' this.addQueue(row) }, - comShowFieldData(row) { + comShowFieldData(row, init) { this.viewKeyWord = '' this.comShowDomType = 'field' this.comSetTailLink(row) this.comAddTail(row) this.fieldsParent = row - this.comLoadField(row.tableId) + this.comLoadField(row.tableId, init) }, onMove(e, originalEvent) { this.showTips = false From b8cfb904b6fd507559d8362d247076d9cf10dbca Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Tue, 23 May 2023 18:44:27 +0800 Subject: [PATCH 18/21] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86=E5=AE=98=E6=96=B9=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=85=A5=E5=90=8E=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E4=BD=BF=E7=94=A8=E5=AE=98=E6=96=B9=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/view/ChartEdit.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index ffc2c303ee..c3cff472f6 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -2952,7 +2952,7 @@ export default { // 更换数据集 changeChart() { - const optType = this.view.tableId === this.changeTable.id ? 'same' : 'change' + const optType = this.view.tableId === this.changeTable.id && this.view.dataFrom!=='template' ? 'same' : 'change' // 更换数据集后清空视图字段,并重新请求数据;否则没有操作 if (optType === 'change') { this.view.dataFrom = 'dataset' From bd2b587d47b3a17392246f2b691ef01859ae9ea7 Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Tue, 23 May 2023 20:29:00 +0800 Subject: [PATCH 19/21] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=A4=8D=E7=94=A8?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=EF=BC=8C=E4=BD=8D=E7=BD=AE=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E4=B8=8E=E7=9B=AE=E6=A0=87=E4=BB=AA=E8=A1=A8=E6=9D=BF=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=8D=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/canvas/store/copy.js | 4 ++-- frontend/src/components/canvas/utils/style.js | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/canvas/store/copy.js b/frontend/src/components/canvas/store/copy.js index 08c8bef204..bdeadc74bf 100644 --- a/frontend/src/components/canvas/store/copy.js +++ b/frontend/src/components/canvas/store/copy.js @@ -150,13 +150,13 @@ export default { } }) chartBatchCopy({ 'sourceAndTargetIds': sourceAndTargetIds }, state.panel.panelInfo.id).then((rsp) => { - needAdaptor && adaptCurThemeCommonStyle(newCop) + needAdaptor && adaptCurThemeCommonStyle(newCop,'copy') store.commit('addComponent', { component: newCop }) }) } else { const newCop = deepCopy(data) newCop.id = uuid.v1() - needAdaptor && adaptCurThemeCommonStyle(newCop) + needAdaptor && adaptCurThemeCommonStyle(newCop,'copy') store.commit('addComponent', { component: newCop }) } if (state.isCut) { diff --git a/frontend/src/components/canvas/utils/style.js b/frontend/src/components/canvas/utils/style.js index 84d3f7c5b4..1d1ac320e8 100644 --- a/frontend/src/components/canvas/utils/style.js +++ b/frontend/src/components/canvas/utils/style.js @@ -375,7 +375,7 @@ export function adaptCurTheme(customStyle, customAttr, chartType) { } } -export function adaptCurThemeCommonStyle(component) { +export function adaptCurThemeCommonStyle(component,adaptFrom = 'them') { const commonStyle = store.state.canvasStyleData.chartInfo.chartCommonStyle for (const key in commonStyle) { Vue.set(component.commonBackground, key, commonStyle[key]) @@ -383,8 +383,10 @@ export function adaptCurThemeCommonStyle(component) { if (isFilterComponent(component.component)) { const filterStyle = store.state.canvasStyleData.chartInfo.filterStyle for (const styleKey in filterStyle) { - // 位置属性不修改 - if (styleKey !== 'horizontal' && styleKey !== 'vertical') { + if(adaptFrom === 'copy'){ + Vue.set(component.style, styleKey, filterStyle[styleKey]) + }else if (adaptFrom === 'them' && styleKey !== 'horizontal' && styleKey !== 'vertical') { + // 主题变化位置属性不修改 Vue.set(component.style, styleKey, filterStyle[styleKey]) } } From c4addac4aa987539e76f92e0e9e33fdfa88d9d17 Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Wed, 24 May 2023 10:51:12 +0800 Subject: [PATCH 20/21] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE-=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?):=20=E4=BF=AE=E5=A4=8D=E8=A1=A8=E6=A0=BC=E5=BA=8F=E5=8F=B7?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E6=A0=B7=E5=BC=8F=E6=97=A0=E6=B3=95=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://www.tapd.cn/55578866/bugtrace/bugs/view/1155578866001026324 --- frontend/src/views/chart/chart/common/common_table.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/frontend/src/views/chart/chart/common/common_table.js b/frontend/src/views/chart/chart/common/common_table.js index 5d50469234..8dc87a9345 100644 --- a/frontend/src/views/chart/chart/common/common_table.js +++ b/frontend/src/views/chart/chart/common/common_table.js @@ -62,6 +62,11 @@ export function getCustomTheme(chart) { fill: DEFAULT_COLOR_CASE.tableHeaderFontColor, fontSize: DEFAULT_SIZE.tableTitleFontSize, textAlign: headerAlign + }, + seriesText: { + fill: DEFAULT_COLOR_CASE.tableItemBgColor, + fontSize: DEFAULT_SIZE.tableItemFontSize, + textAlign: itemAlign } }, colCell: { @@ -140,6 +145,7 @@ export function getCustomTheme(chart) { theme.rowCell.bolderText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor theme.rowCell.text.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor theme.rowCell.measureText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor + theme.rowCell.seriesText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor } else { theme.rowCell.cell.backgroundColor = i_c // 这个参数其实只对开启序号列的行头生效 theme.rowCell.cell.horizontalBorderColor = i_c @@ -147,6 +153,7 @@ export function getCustomTheme(chart) { theme.rowCell.bolderText.fill = c.tableFontColor theme.rowCell.text.fill = c.tableFontColor theme.rowCell.measureText.fill = c.tableFontColor + theme.rowCell.seriesText.fill = c.tableFontColor } theme.colCell.cell.backgroundColor = h_c @@ -187,6 +194,8 @@ export function getCustomTheme(chart) { theme.rowCell.text.textAlign = h_a theme.rowCell.measureText.fontSize = parseInt(s.tableTitleFontSize) theme.rowCell.measureText.textAlign = h_a + theme.rowCell.seriesText.fontSize = parseInt(s.tableTitleFontSize) + theme.rowCell.seriesText.textAlign = h_a } else { // 序号列的数字单元格内容样式使用指标的内容样式而不是表头的内容样式 theme.rowCell.bolderText.fontSize = parseInt(s.tableItemFontSize) @@ -195,6 +204,8 @@ export function getCustomTheme(chart) { theme.rowCell.text.textAlign = i_a theme.rowCell.measureText.fontSize = parseInt(s.tableItemFontSize) theme.rowCell.measureText.textAlign = i_a + theme.rowCell.seriesText.fontSize = parseInt(s.tableItemFontSize) + theme.rowCell.seriesText.textAlign = i_a } theme.rowCell.seriesNumberWidth = parseInt(s.tableColumnWidth) From c08ad76bafb4145fa378213e15d0eda5da58744b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 24 May 2023 12:35:29 +0800 Subject: [PATCH 21/21] =?UTF-8?q?fix:=20=E6=89=A7=E8=A1=8C=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=9F=A5=E8=AF=A2=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dataset/DataSetTableTaskLogService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskLogService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskLogService.java index 6b6fe46f60..a0d2a66584 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskLogService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskLogService.java @@ -156,6 +156,12 @@ public class DataSetTableTaskLogService { entity2.setOperator("eq"); entity2.setValue("1"); conditionEntities.add(entity2); + conditionEntities = conditionEntities.stream().map(conditionEntity -> { + if(conditionEntity.getField().equals("dataset_table_task.last_exec_status")){ + conditionEntity.setField("dataset_table_task_log.status"); + } + return conditionEntity; + }).collect(Collectors.toList()); request.setConditions(conditionEntities); GridExample gridExample = request.convertExample();