Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
2ee7ef58
提交
2ee7ef58
authored
3月 17, 2022
作者:
fit2cloud-chenyw
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: 重构视图插件
上级
2ca5f9bc
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
140 行增加
和
569 行删除
+140
-569
pom.xml
backend/pom.xml
+1
-5
QueryProvider.java
...end/src/main/java/io/dataease/provider/QueryProvider.java
+1
-1
SQLConstants.java
backend/src/main/java/io/dataease/provider/SQLConstants.java
+0
-41
DorisConstants.java
...ava/io/dataease/provider/engine/doris/DorisConstants.java
+0
-49
DorisQueryProvider.java
...io/dataease/provider/engine/doris/DorisQueryProvider.java
+3
-2
MysqlConstants.java
...ava/io/dataease/provider/engine/mysql/MysqlConstants.java
+2
-1
MysqlQueryProvider.java
...io/dataease/provider/engine/mysql/MysqlQueryProvider.java
+2
-2
CKConstants.java
.../main/java/io/dataease/provider/query/ck/CKConstants.java
+0
-41
CKQueryProvider.java
...n/java/io/dataease/provider/query/ck/CKQueryProvider.java
+3
-2
Db2Constants.java
...ain/java/io/dataease/provider/query/db2/Db2Constants.java
+0
-39
Db2QueryProvider.java
...java/io/dataease/provider/query/db2/Db2QueryProvider.java
+3
-2
EsQueryProvider.java
...n/java/io/dataease/provider/query/es/EsQueryProvider.java
+3
-2
EsSqlLConstants.java
...n/java/io/dataease/provider/query/es/EsSqlLConstants.java
+0
-37
HiveConstants.java
...n/java/io/dataease/provider/query/hive/HiveConstants.java
+0
-43
HiveQueryProvider.java
...va/io/dataease/provider/query/hive/HiveQueryProvider.java
+3
-2
MongoConstants.java
...va/io/dataease/provider/query/mongodb/MongoConstants.java
+0
-43
MongoQueryProvider.java
...o/dataease/provider/query/mongodb/MongoQueryProvider.java
+3
-2
MySQLConstants.java
...java/io/dataease/provider/query/mysql/MySQLConstants.java
+0
-43
MysqlQueryProvider.java
.../io/dataease/provider/query/mysql/MysqlQueryProvider.java
+3
-2
OracleConstants.java
...va/io/dataease/provider/query/oracle/OracleConstants.java
+0
-55
OracleQueryProvider.java
...o/dataease/provider/query/oracle/OracleQueryProvider.java
+3
-2
PgConstants.java
.../main/java/io/dataease/provider/query/pg/PgConstants.java
+0
-43
PgQueryProvider.java
...n/java/io/dataease/provider/query/pg/PgQueryProvider.java
+4
-3
RedshiftConstants.java
...o/dataease/provider/query/redshift/RedshiftConstants.java
+0
-49
RedshiftQueryProvider.java
...taease/provider/query/redshift/RedshiftQueryProvider.java
+5
-4
SqlServerSQLConstants.java
...aease/provider/query/sqlserver/SqlServerSQLConstants.java
+0
-43
SqlserverQueryProvider.java
...ease/provider/query/sqlserver/SqlserverQueryProvider.java
+3
-2
ChartViewService.java
...main/java/io/dataease/service/chart/ChartViewService.java
+98
-9
ViewPluginBaseServiceImpl.java
.../io/dataease/service/chart/ViewPluginBaseServiceImpl.java
+0
-0
没有找到文件。
backend/pom.xml
浏览文件 @
2ee7ef58
...
...
@@ -222,11 +222,7 @@
<artifactId>
dataease-plugin-view
</artifactId>
<version>
1.9.0
</version>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
5.7.4
</version>
</dependency>
<!-- kettle及数据源依赖 -->
<dependency>
<groupId>
pentaho-kettle
</groupId>
...
...
backend/src/main/java/io/dataease/provider/QueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -9,7 +9,7 @@ import io.dataease.dto.chart.ChartFieldCustomFilterDTO;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.datasource.JdbcConfiguration
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.p
rovider.query.pg
.PgConstants
;
import
io.dataease.p
lugins.common.constants
.PgConstants
;
import
java.util.List
;
...
...
backend/src/main/java/io/dataease/provider/SQLConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author gin
* @Date 2021/7/8 3:12 下午
*/
public
class
SQLConstants
{
/**
* 维度类型list
*/
public
static
final
List
<
Integer
>
DIMENSION_TYPE
=
new
ArrayList
<
Integer
>()
{{
add
(
0
);
// 文本
add
(
1
);
// 时间
add
(
5
);
// 地理位置
}};
/**
* 指标类型list
*/
public
static
final
List
<
Integer
>
QUOTA_TYPE
=
new
ArrayList
<
Integer
>()
{{
add
(
2
);
// 整型
add
(
3
);
// 浮点
add
(
4
);
// 布尔
}};
/**
* sql ST模板
*/
public
static
final
String
SQL_TEMPLATE
=
"sql/sqlTemplate.stg"
;
public
static
final
String
TABLE_ALIAS_PREFIX
=
"t_a_%s"
;
public
static
final
String
FIELD_ALIAS_X_PREFIX
=
"f_ax_%s"
;
public
static
final
String
FIELD_ALIAS_Y_PREFIX
=
"f_ay_%s"
;
public
static
final
String
GROUP_ALIAS_PREFIX
=
"g_a_%s"
;
public
static
final
String
ORDER_ALIAS_X_PREFIX
=
"o_ax_%s"
;
public
static
final
String
ORDER_ALIAS_Y_PREFIX
=
"o_ay_%s"
;
public
static
final
String
WHERE_ALIAS_PREFIX
=
"w_a_%s"
;
}
backend/src/main/java/io/dataease/provider/engine/doris/DorisConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
engine
.
doris
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
engine_doris
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
DorisConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
engine_doris
.
getKeywordPrefix
()
+
"%s"
+
engine_doris
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
engine_doris
.
getKeywordPrefix
()
+
"%s"
+
engine_doris
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"UNIX_TIMESTAMP(%s)"
;
public
static
final
String
DATE_FORMAT
=
"DATE_FORMAT(%s,'%s')"
;
public
static
final
String
FROM_UNIXTIME
=
"FROM_UNIXTIME(%s,'%s')"
;
public
static
final
String
STR_TO_DATE
=
"STR_TO_DATE(%s,'%s')"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"%Y-%m-%d %H:%i:%S"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"BIGINT"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"DECIMAL(20,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
WHERE_NUMBER_VALUE
=
"%s"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
public
static
final
String
ROUND
=
"ROUND(%s,%s)"
;
public
static
final
String
VARCHAR
=
"VARCHAR"
;
}
backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -10,8 +10,9 @@ import io.dataease.dto.chart.ChartCustomFilterItemDTO;
import
io.dataease.dto.chart.ChartFieldCustomFilterDTO
;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.DorisConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -28,7 +29,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
* @Author gin
...
...
backend/src/main/java/io/dataease/provider/engine/mysql/MysqlConstants.java
浏览文件 @
2ee7ef58
package
io
.
dataease
.
provider
.
engine
.
mysql
;
import
io.dataease.provider.SQLConstants
;
import
io.dataease.plugins.common.constants.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
engine_mysql
;
...
...
backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -11,7 +11,7 @@ import io.dataease.dto.chart.ChartFieldCustomFilterDTO;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -28,7 +28,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
* @Author gin
...
...
backend/src/main/java/io/dataease/provider/query/ck/CKConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
ck
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
ck
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
CKConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
ck
.
getKeywordPrefix
()
+
"%s"
+
ck
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
ck
.
getKeywordPrefix
()
+
"%s"
+
ck
.
getKeywordSuffix
();
public
static
final
String
toInt32
=
"toInt32(%s)"
;
public
static
final
String
toDateTime
=
"toDateTime(%s)"
;
public
static
final
String
toInt64
=
"toInt64(%s)"
;
public
static
final
String
toFloat64
=
"toFloat64(%s)"
;
public
static
final
String
formatDateTime
=
"formatDateTime(%s,'%s')"
;
public
static
final
String
toDecimal
=
"toDecimal64(%s,2)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"%Y-%m-%d %H:%M:%S"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -11,8 +11,9 @@ import io.dataease.dto.chart.ChartCustomFilterItemDTO;
import
io.dataease.dto.chart.ChartFieldCustomFilterDTO
;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.CKConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -29,7 +30,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
* @Author gin
...
...
backend/src/main/java/io/dataease/provider/query/db2/Db2Constants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
db2
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
db2
;
public
class
Db2Constants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
db2
.
getKeywordPrefix
()
+
"%s"
+
db2
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
db2
.
getKeywordPrefix
()
+
"%s"
+
db2
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"BIGINT(TIMESTAMPDIFF(2,CHAR(%s -TIMESTAMP('1970-01-01 08:00:00'))))"
;
public
static
final
String
DATE_FORMAT
=
"TO_CHAR(TIMESTAMP(%s),'%s')"
;
public
static
final
String
FROM_UNIXTIME
=
"TO_CHAR(TIMESTAMP('1970-01-01 08:00:00') +(%s)SECONDS, '%s')"
;
public
static
final
String
STR_TO_DATE
=
"timestamp(trim(char(%s)))"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"YYYY-MM-DD HH24:MI:SS"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"BIGINT"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"DECIMAL(20,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -13,8 +13,9 @@ import io.dataease.dto.chart.ChartFieldCustomFilterDTO;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.datasource.Db2Configuration
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.Db2Constants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -31,7 +32,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
@Service
(
"db2Query"
)
public
class
Db2QueryProvider
extends
QueryProvider
{
...
...
backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -11,8 +11,9 @@ import io.dataease.dto.chart.ChartCustomFilterItemDTO;
import
io.dataease.dto.chart.ChartFieldCustomFilterDTO
;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.EsSqlLConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -29,7 +30,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
@Service
(
"esQuery"
)
public
class
EsQueryProvider
extends
QueryProvider
{
...
...
backend/src/main/java/io/dataease/provider/query/es/EsSqlLConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
es
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
es
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
EsSqlLConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
es
.
getKeywordPrefix
()
+
"%s"
+
es
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
es
.
getKeywordPrefix
()
+
"%s"
+
es
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"UNIX_TIMESTAMP(%s)"
;
public
static
final
String
DATETIME_FORMAT
=
"DATETIME_FORMAT(%s,'%s')"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
ROUND
=
"ROUND(%s, %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"yyyy-MM-dd HH:mm:ss"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/hive/HiveConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
hive
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
mysql
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
HiveConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
mysql
.
getKeywordPrefix
()
+
"%s"
+
mysql
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
mysql
.
getKeywordPrefix
()
+
"%s"
+
mysql
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"unix_timestamp(%s)"
;
public
static
final
String
DATE_FORMAT
=
"DATE_FORMAT(%s,'%s')"
;
public
static
final
String
FROM_UNIXTIME
=
"FROM_UNIXTIME(%s,'%s')"
;
public
static
final
String
STR_TO_DATE
=
"STR_TO_DATE(%s,'%s')"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"yyyy-MM-dd HH:mm:ss"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"DECIMAL(20,0)"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"DECIMAL(20,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -11,8 +11,9 @@ import io.dataease.dto.chart.ChartCustomFilterItemDTO;
import
io.dataease.dto.chart.ChartFieldCustomFilterDTO
;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.HiveConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -29,7 +30,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
* @Author gin
...
...
backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
mongodb
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
mongo
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
MongoConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
"%s"
;
public
static
final
String
KEYWORD_FIX
=
"%s."
+
mongo
.
getKeywordPrefix
()
+
"%s"
+
mongo
.
getKeywordSuffix
();
public
static
final
String
ALIAS_FIX
=
mongo
.
getAliasPrefix
()
+
"%s"
+
mongo
.
getAliasSuffix
();
public
static
final
String
toInt32
=
"toInt32(%s)"
;
public
static
final
String
toDateTime
=
"toDateTime(%s)"
;
public
static
final
String
toInt64
=
"toInt64(%s)"
;
public
static
final
String
toFloat64
=
"toFloat64(%s)"
;
public
static
final
String
formatDateTime
=
"formatDateTime(%s,'%s')"
;
public
static
final
String
toDecimal
=
"toDecimal64(%s,2)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"%Y-%m-%d %H:%M:%S"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -11,8 +11,9 @@ import io.dataease.dto.chart.ChartCustomFilterItemDTO;
import
io.dataease.dto.chart.ChartFieldCustomFilterDTO
;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.MongoConstants
;
import
io.dataease.plugins.common.constants.SQLConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.provider.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -29,7 +30,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
* @Author gin
...
...
backend/src/main/java/io/dataease/provider/query/mysql/MySQLConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
mysql
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
mysql
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
MySQLConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
mysql
.
getKeywordPrefix
()
+
"%s"
+
mysql
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
mysql
.
getKeywordPrefix
()
+
"%s"
+
mysql
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"UNIX_TIMESTAMP(%s)"
;
public
static
final
String
DATE_FORMAT
=
"DATE_FORMAT(%s,'%s')"
;
public
static
final
String
FROM_UNIXTIME
=
"FROM_UNIXTIME(%s,'%s')"
;
public
static
final
String
STR_TO_DATE
=
"STR_TO_DATE(%s,'%s')"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"%Y-%m-%d %H:%i:%S"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"DECIMAL(20,0)"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"DECIMAL(20,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -10,8 +10,9 @@ import io.dataease.dto.chart.ChartCustomFilterItemDTO;
import
io.dataease.dto.chart.ChartFieldCustomFilterDTO
;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.MySQLConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -28,7 +29,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
* @Author gin
...
...
backend/src/main/java/io/dataease/provider/query/oracle/OracleConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
oracle
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
oracle
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
OracleConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
oracle
.
getKeywordPrefix
()
+
"%s"
+
oracle
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
oracle
.
getKeywordPrefix
()
+
"%s"
+
oracle
.
getKeywordSuffix
();
public
static
final
String
ALIAS_FIX
=
oracle
.
getAliasPrefix
()
+
"%s"
+
oracle
.
getAliasSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"UNIX_TIMESTAMP(%s)"
;
public
static
final
String
DATE_FORMAT
=
"to_timestamp(%s,'%s')"
;
public
static
final
String
FROM_UNIXTIME
=
"FROM_UNIXTIME(%s,'%s')"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"YYYY-MM-DD HH24:MI:SS"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"DECIMAL(20,0)"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"DECIMAL(20,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
public
static
final
String
TO_NUMBER
=
"TO_NUMBER(%s)"
;
public
static
final
String
TO_DATE
=
"TO_DATE(%s,'%s')"
;
public
static
final
String
TO_CHAR
=
"TO_CHAR(%s,'%s')"
;
public
static
final
String
DEFAULT_START_DATE
=
"'1970-01-01 8:0:0'"
;
public
static
final
String
TO_MS
=
" * 24 * 60 * 60 * 100"
;
public
static
final
String
CALC_SUB
=
"%s - %s"
;
}
backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -13,8 +13,9 @@ import io.dataease.dto.chart.ChartViewFieldDTO;
import
io.dataease.dto.datasource.JdbcConfiguration
;
import
io.dataease.dto.datasource.OracleConfiguration
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.OracleConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -31,7 +32,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
* @Author gin
...
...
backend/src/main/java/io/dataease/provider/query/pg/PgConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
pg
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
pg
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
PgConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
pg
.
getKeywordPrefix
()
+
"%s"
+
pg
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
pg
.
getKeywordPrefix
()
+
"%s"
+
pg
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"floor(extract(epoch from(( %s - timestamp '1970-01-01 00:00:00')*1000))) "
;
public
static
final
String
DATE_FORMAT
=
"to_char(%s, '%s')"
;
public
static
final
String
FROM_UNIXTIME
=
"to_timestamp(%s)"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"YYYY-MM-DD HH24:MI:SS"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"numeric(18,0)"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"numeric(18,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -13,9 +13,10 @@ import io.dataease.dto.chart.ChartFieldCustomFilterDTO;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.datasource.JdbcConfiguration
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.PgConstants
;
import
io.dataease.plugins.common.constants.SqlServerSQLConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.provider.SQLConstants
;
import
io.dataease.provider.query.sqlserver.SqlServerSQLConstants
;
import
io.dataease.plugins.common.constants.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -32,7 +33,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
@Service
(
"pgQuery"
)
...
...
backend/src/main/java/io/dataease/provider/query/redshift/RedshiftConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
redshift
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
pg
;
/**
* Redshift 静态变量
*
* @className: RedshiftConstants
* @description: Redshift 静态变量
* @author: Jiantao Yan
* @date: 2021/10/11 17:12
**/
public
class
RedshiftConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
pg
.
getKeywordPrefix
()
+
"%s"
+
pg
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
pg
.
getKeywordPrefix
()
+
"%s"
+
pg
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"floor(extract(epoch from(( %s - timestamp '1970-01-01 00:00:00')*1000))) "
;
public
static
final
String
DATE_FORMAT
=
"to_char(%s, %s)"
;
public
static
final
String
FROM_UNIXTIME
=
"to_timestamp(%s)"
;
public
static
final
String
TO_DATE
=
"to_date(%s,'%s')"
;
public
static
final
String
CAST
=
"CAST(%s AS %s)"
;
public
static
final
String
DEFAULT_DATE_FORMAT
=
"'YYYY-MM-DD HH24:MI:SS'"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"numeric(18,0)"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"numeric(18,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -13,10 +13,11 @@ import io.dataease.dto.chart.ChartFieldCustomFilterDTO;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.datasource.JdbcConfiguration
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.RedshiftConstants
;
import
io.dataease.plugins.common.constants.SqlServerSQLConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.provider.SQLConstants
;
import
io.dataease.provider.query.pg.PgConstants
;
import
io.dataease.provider.query.sqlserver.SqlServerSQLConstants
;
import
io.dataease.plugins.common.constants.SQLConstants
;
import
io.dataease.plugins.common.constants.PgConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -33,7 +34,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
/**
...
...
backend/src/main/java/io/dataease/provider/query/sqlserver/SqlServerSQLConstants.java
deleted
100644 → 0
浏览文件 @
2ca5f9bc
package
io
.
dataease
.
provider
.
query
.
sqlserver
;
import
io.dataease.provider.SQLConstants
;
import
static
io
.
dataease
.
commons
.
constants
.
DatasourceTypes
.
sqlServer
;
/**
* @Author gin
* @Date 2021/7/8 7:22 下午
*/
public
class
SqlServerSQLConstants
extends
SQLConstants
{
public
static
final
String
KEYWORD_TABLE
=
sqlServer
.
getKeywordPrefix
()
+
"%s"
+
sqlServer
.
getKeywordSuffix
();
public
static
final
String
KEYWORD_FIX
=
"%s."
+
sqlServer
.
getKeywordPrefix
()
+
"%s"
+
sqlServer
.
getKeywordSuffix
();
public
static
final
String
UNIX_TIMESTAMP
=
"CAST(DATEDIFF(ss,'1970-01-01 08:00:00', %s) as bigint ) * 1000 "
;
public
static
final
String
DATE_FORMAT
=
"CONVERT(varchar(100), %s, %s)"
;
public
static
final
String
FROM_UNIXTIME
=
"convert(varchar, %s ,120)"
;
public
static
final
String
CONVERT
=
"CONVERT(%s, %s)"
;
public
static
final
String
LONG_TO_DATE
=
"DATEADD(second,%s,'1970-01-01 08:00:00')"
;
public
static
final
String
STRING_TO_DATE
=
"CONVERT(datetime, %s ,120)"
;
public
static
final
String
DEFAULT_INT_FORMAT
=
"DECIMAL(20,0)"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"DECIMAL(20,2)"
;
public
static
final
String
WHERE_VALUE_NULL
=
"(NULL,'')"
;
public
static
final
String
WHERE_VALUE_VALUE
=
"'%s'"
;
public
static
final
String
AGG_COUNT
=
"COUNT(*)"
;
public
static
final
String
AGG_FIELD
=
"%s(%s)"
;
public
static
final
String
WHERE_BETWEEN
=
"'%s' AND '%s'"
;
public
static
final
String
BRACKETS
=
"(%s)"
;
}
backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
浏览文件 @
2ee7ef58
...
...
@@ -13,8 +13,9 @@ import io.dataease.dto.chart.ChartFieldCustomFilterDTO;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
io.dataease.dto.datasource.JdbcConfiguration
;
import
io.dataease.dto.sqlObj.SQLObj
;
import
io.dataease.plugins.common.constants.SqlServerSQLConstants
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.p
rovider
.SQLConstants
;
import
io.dataease.p
lugins.common.constants
.SQLConstants
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -31,7 +32,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
io
.
dataease
.
p
rovider
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
import
static
io
.
dataease
.
p
lugins
.
common
.
constants
.
SQLConstants
.
TABLE_ALIAS_PREFIX
;
@Service
(
"sqlserverQuery"
)
public
class
SqlserverQueryProvider
extends
QueryProvider
{
...
...
backend/src/main/java/io/dataease/service/chart/ChartViewService.java
浏览文件 @
2ee7ef58
...
...
@@ -13,8 +13,10 @@ import io.dataease.base.mapper.ext.ExtChartViewMapper;
import
io.dataease.commons.constants.ColumnPermissionConstants
;
import
io.dataease.commons.constants.CommonConstants
;
import
io.dataease.commons.constants.JdbcConstants
;
import
io.dataease.commons.exception.DEException
;
import
io.dataease.commons.utils.AuthUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.CommonBeanFactory
;
import
io.dataease.commons.utils.LogUtil
;
import
io.dataease.controller.request.chart.*
;
import
io.dataease.controller.request.datasource.DatasourceRequest
;
...
...
@@ -27,6 +29,9 @@ import io.dataease.dto.dataset.DataTableInfoDTO;
import
io.dataease.exception.DataEaseException
;
import
io.dataease.i18n.Translator
;
import
io.dataease.listener.util.CacheUtils
;
import
io.dataease.plugins.config.SpringContextUtil
;
import
io.dataease.plugins.view.entity.*
;
import
io.dataease.plugins.view.service.ViewPluginService
;
import
io.dataease.provider.ProviderFactory
;
import
io.dataease.provider.datasource.DatasourceProvider
;
import
io.dataease.provider.QueryProvider
;
...
...
@@ -59,6 +64,9 @@ import java.util.stream.Collectors;
*/
@Service
public
class
ChartViewService
{
private
static
Gson
gson
=
new
Gson
();
@Resource
private
ChartViewMapper
chartViewMapper
;
@Resource
...
...
@@ -504,16 +512,41 @@ public class ChartViewService {
// 判断连接方式,直连或者定时抽取 table.mode
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
Datasource
ds
=
table
.
getMode
()
==
0
?
datasourceService
.
get
(
table
.
getDataSourceId
())
:
engineService
.
getDeEngine
();
datasourceRequest
.
setDatasource
(
ds
);
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
List
<
String
[]>
data
=
new
ArrayList
<>();
// 如果是插件视图 走插件内部的逻辑
if
(
view
.
getIsPlugin
())
{
Map
<
String
,
List
<
ChartViewFieldDTO
>>
fieldMap
=
new
HashMap
<>();
fieldMap
.
put
(
"xAxis"
,
xAxis
);
fieldMap
.
put
(
"yAxis"
,
yAxis
);
fieldMap
.
put
(
"extStack"
,
extStack
);
fieldMap
.
put
(
"extBubble"
,
extBubble
);
PluginViewParam
pluginViewParam
=
buildPluginParam
(
fieldMap
,
fieldCustomFilter
,
extFilterList
,
ds
,
table
,
view
);
String
sql
=
pluginViewSql
(
pluginViewParam
,
view
);
datasourceRequest
.
setQuery
(
sql
);
data
=
datasourceProvider
.
getData
(
datasourceRequest
);
Map
<
String
,
Object
>
mapChart
=
pluginViewResult
(
pluginViewParam
,
view
,
data
,
isDrill
);
Map
<
String
,
Object
>
mapTableNormal
=
ChartDataBuild
.
transTableNormal
(
xAxis
,
yAxis
,
view
,
data
,
extStack
,
desensitizationList
);
return
uniteViewResult
(
datasourceRequest
.
getQuery
(),
mapChart
,
mapTableNormal
,
view
,
isDrill
,
drillFilters
);
// 如果是插件到此结束
}
//如果不是插件视图 走原生逻辑
if
(
table
.
getMode
()
==
0
)
{
// 直连
Datasource
ds
=
datasourceService
.
get
(
table
.
getDataSourceId
());
//
Datasource ds = datasourceService.get(table.getDataSourceId());
if
(
ObjectUtils
.
isEmpty
(
ds
))
{
throw
new
RuntimeException
(
Translator
.
get
(
"i18n_datasource_delete"
));
}
if
(
StringUtils
.
isNotEmpty
(
ds
.
getStatus
())
&&
ds
.
getStatus
().
equalsIgnoreCase
(
"Error"
))
{
throw
new
Exception
(
Translator
.
get
(
"i18n_invalid_ds"
));
}
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
//
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType());
datasourceRequest
.
setDatasource
(
ds
);
DataTableInfoDTO
dataTableInfoDTO
=
new
Gson
().
fromJson
(
table
.
getInfo
(),
DataTableInfoDTO
.
class
);
QueryProvider
qp
=
ProviderFactory
.
getQueryProvider
(
ds
.
getType
());
...
...
@@ -577,8 +610,8 @@ public class ChartViewService {
data
=
datasourceProvider
.
getData
(
datasourceRequest
);
}
else
if
(
table
.
getMode
()
==
1
)
{
// 抽取
// 连接doris,构建doris数据源查询
Datasource
ds
=
engineService
.
getDeEngine
();
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
//
Datasource ds = engineService.getDeEngine();
//
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType());
datasourceRequest
.
setDatasource
(
ds
);
String
tableName
=
"ds_"
+
table
.
getId
().
replaceAll
(
"-"
,
"_"
);
datasourceRequest
.
setTable
(
tableName
);
...
...
@@ -737,12 +770,16 @@ public class ChartViewService {
mapChart
=
ChartDataBuild
.
transChartDataAntV
(
xAxis
,
yAxis
,
view
,
data
,
isDrill
);
}
}
// table组件,明细表,也用于导出数据
Map
<
String
,
Object
>
mapTableNormal
=
ChartDataBuild
.
transTableNormal
(
xAxis
,
yAxis
,
view
,
data
,
extStack
,
desensitizationList
);
return
uniteViewResult
(
datasourceRequest
.
getQuery
(),
mapChart
,
mapTableNormal
,
view
,
isDrill
,
drillFilters
);
}
map
.
putAll
(
mapChart
);
map
.
putAll
(
mapTableNormal
);
public
ChartViewDTO
uniteViewResult
(
String
sql
,
Map
<
String
,
Object
>
chartData
,
Map
<
String
,
Object
>
tabelData
,
ChartViewDTO
view
,
Boolean
isDrill
,
List
<
ChartExtFilterRequest
>
drillFilters
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
putAll
(
chartData
);
map
.
putAll
(
tabelData
);
List
<
DatasetTableField
>
sourceFields
=
dataSetTableFieldsService
.
getFieldsByTableId
(
view
.
getTableId
());
map
.
put
(
"sourceFields"
,
sourceFields
);
...
...
@@ -750,13 +787,65 @@ public class ChartViewService {
ChartViewDTO
dto
=
new
ChartViewDTO
();
BeanUtils
.
copyBean
(
dto
,
view
);
dto
.
setData
(
map
);
dto
.
setSql
(
datasourceRequest
.
getQuery
());
dto
.
setSql
(
sql
);
dto
.
setDrill
(
isDrill
);
dto
.
setDrillFilters
(
drillFilters
);
return
dto
;
}
private
PluginViewParam
buildPluginParam
(
Map
<
String
,
List
<
ChartViewFieldDTO
>>
fieldMap
,
List
<
ChartFieldCustomFilterDTO
>
customFilters
,
List
<
ChartExtFilterRequest
>
extFilters
,
Datasource
ds
,
DatasetTable
table
,
ChartViewDTO
view
)
{
PluginViewParam
pluginViewParam
=
new
PluginViewParam
();
PluginViewSet
pluginViewSet
=
BeanUtils
.
copyBean
(
new
PluginViewSet
(),
table
);
pluginViewSet
.
setDsType
(
ds
.
getType
());
PluginViewLimit
pluginViewLimit
=
BeanUtils
.
copyBean
(
new
PluginViewLimit
(),
view
);
List
<
PluginChartFieldCustomFilter
>
fieldFilters
=
customFilters
.
stream
().
map
(
filter
->
BeanUtils
.
copyBean
(
new
PluginChartFieldCustomFilter
(),
filter
)).
collect
(
Collectors
.
toList
());
List
<
PluginChartExtFilter
>
panelFilters
=
extFilters
.
stream
().
map
(
filter
->
BeanUtils
.
copyBean
(
new
PluginChartExtFilter
(),
filter
)).
collect
(
Collectors
.
toList
());
List
<
PluginViewField
>
pluginViewFields
=
fieldMap
.
entrySet
().
stream
().
flatMap
(
entry
->
entry
.
getValue
().
stream
().
map
(
field
->
{
PluginViewField
pluginViewField
=
BeanUtils
.
copyBean
(
new
PluginViewField
(),
field
);
pluginViewField
.
setTypeField
(
entry
.
getKey
());
return
pluginViewField
;
})).
collect
(
Collectors
.
toList
());
pluginViewParam
.
setPluginViewSet
(
pluginViewSet
);
pluginViewParam
.
setPluginViewFields
(
pluginViewFields
);
pluginViewParam
.
setPluginChartFieldCustomFilters
(
fieldFilters
);
pluginViewParam
.
setPluginChartExtFilters
(
panelFilters
);
pluginViewParam
.
setPluginViewLimit
(
pluginViewLimit
);
pluginViewParam
.
setUserId
(
AuthUtils
.
getUser
().
getUserId
());
return
pluginViewParam
;
}
private
ViewPluginService
getPluginService
(
String
viewType
)
{
Map
<
String
,
ViewPluginService
>
beanMap
=
SpringContextUtil
.
getApplicationContext
().
getBeansOfType
(
ViewPluginService
.
class
);
if
(
beanMap
.
keySet
().
size
()
==
0
)
{
DEException
.
throwException
(
"没有此插件"
);
}
ViewPluginService
viewPluginService
=
null
;
for
(
Map
.
Entry
<
String
,
ViewPluginService
>
entry
:
beanMap
.
entrySet
())
{
if
(
StringUtils
.
equals
(
entry
.
getValue
().
viewType
().
getValue
(),
viewType
))
{
viewPluginService
=
entry
.
getValue
();
return
viewPluginService
;
}
}
if
(
null
==
viewPluginService
)
DEException
.
throwException
(
"没有此插件"
);
return
viewPluginService
;
}
private
String
pluginViewSql
(
PluginViewParam
param
,
ChartViewDTO
view
)
{
ViewPluginService
viewPluginService
=
getPluginService
(
view
.
getType
());
String
sql
=
viewPluginService
.
generateSQL
(
param
);
return
sql
;
}
private
Map
<
String
,
Object
>
pluginViewResult
(
PluginViewParam
param
,
ChartViewDTO
view
,
List
<
String
[]>
args
,
Boolean
isDrill
)
{
ViewPluginService
viewPluginService
=
getPluginService
(
view
.
getType
());
Map
<
String
,
Object
>
result
=
viewPluginService
.
formatResult
(
param
,
args
,
isDrill
);
return
result
;
}
private
ChartViewDTO
emptyChartViewDTO
(
ChartViewDTO
view
)
{
ChartViewDTO
dto
=
new
ChartViewDTO
();
BeanUtils
.
copyBean
(
dto
,
view
);
...
...
backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java
0 → 100644
浏览文件 @
2ee7ef58
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论