Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
e98f9560
提交
e98f9560
authored
5月 17, 2021
作者:
junjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(backend):数据集 视图,sql重新整理
上级
8fadc27a
全部展开
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
123 行增加
和
6 行删除
+123
-6
CommonConfig.java
backend/src/main/java/io/dataease/config/CommonConfig.java
+1
-1
DatasourceTypes.java
...ava/io/dataease/datasource/constants/DatasourceTypes.java
+1
-1
ProviderFactory.java
...java/io/dataease/datasource/provider/ProviderFactory.java
+32
-3
DDLProvider.java
backend/src/main/java/io/dataease/provider/DDLProvider.java
+11
-0
QueryProvider.java
...end/src/main/java/io/dataease/provider/QueryProvider.java
+33
-0
DorisDDLProvider.java
...ain/java/io/dataease/provider/doris/DorisDDLProvider.java
+21
-0
DorisQueryProvider.java
...n/java/io/dataease/provider/doris/DorisQueryProvider.java
+0
-0
MysqlDDLProvider.java
...ain/java/io/dataease/provider/mysql/MysqlDDLProvider.java
+21
-0
MysqlQueryProvider.java
...n/java/io/dataease/provider/mysql/MysqlQueryProvider.java
+0
-0
ChartViewService.java
...main/java/io/dataease/service/chart/ChartViewService.java
+0
-0
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+0
-0
ExtractDataService.java
.../java/io/dataease/service/dataset/ExtractDataService.java
+0
-0
DirectFieldService.java
...aease/service/dataset/impl/direct/DirectFieldService.java
+3
-1
没有找到文件。
backend/src/main/java/io/dataease/config/CommonConfig.java
浏览文件 @
e98f9560
...
...
@@ -39,7 +39,7 @@ public class CommonConfig {
datasource
.
setId
(
"doris"
);
datasource
.
setName
(
"doris"
);
datasource
.
setDesc
(
"doris"
);
datasource
.
setType
(
"
mysql
"
);
datasource
.
setType
(
"
doris
"
);
datasource
.
setConfiguration
(
jsonObject
.
toJSONString
());
return
datasource
;
}
...
...
backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java
浏览文件 @
e98f9560
package
io
.
dataease
.
datasource
.
constants
;
public
enum
DatasourceTypes
{
mysql
,
sqlServer
,
excel
mysql
,
sqlServer
,
excel
,
doris
}
backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java
浏览文件 @
e98f9560
package
io
.
dataease
.
datasource
.
provider
;
import
io.dataease.datasource.constants.DatasourceTypes
;
import
io.dataease.provider.DDLProvider
;
import
io.dataease.provider.QueryProvider
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ProviderFactory
implements
ApplicationContextAware
{
...
...
@@ -18,18 +19,46 @@ public class ProviderFactory implements ApplicationContextAware {
this
.
context
=
applicationContext
;
}
public
static
DatasourceProvider
getProvider
(
String
type
){
public
static
DatasourceProvider
getProvider
(
String
type
)
{
DatasourceTypes
datasourceType
=
DatasourceTypes
.
valueOf
(
type
);
switch
(
datasourceType
){
switch
(
datasourceType
)
{
case
mysql:
return
context
.
getBean
(
"jdbc"
,
DatasourceProvider
.
class
);
case
doris:
return
context
.
getBean
(
"jdbc"
,
DatasourceProvider
.
class
);
case
sqlServer:
return
context
.
getBean
(
"jdbc"
,
DatasourceProvider
.
class
);
default
:
return
context
.
getBean
(
"jdbc"
,
DatasourceProvider
.
class
);
}
}
public
static
QueryProvider
getQueryProvider
(
String
type
)
{
DatasourceTypes
datasourceType
=
DatasourceTypes
.
valueOf
(
type
);
switch
(
datasourceType
)
{
case
mysql:
return
context
.
getBean
(
"mysqlQuery"
,
QueryProvider
.
class
);
case
doris:
return
context
.
getBean
(
"dorisQuery"
,
QueryProvider
.
class
);
case
sqlServer:
return
context
.
getBean
(
"mysqlQuery"
,
QueryProvider
.
class
);
default
:
return
context
.
getBean
(
"mysqlQuery"
,
QueryProvider
.
class
);
}
}
public
static
DDLProvider
getDDLProvider
(
String
type
)
{
DatasourceTypes
datasourceType
=
DatasourceTypes
.
valueOf
(
type
);
switch
(
datasourceType
)
{
case
mysql:
return
context
.
getBean
(
"mysqlDDL"
,
DDLProvider
.
class
);
case
doris:
return
context
.
getBean
(
"dorisDDL"
,
DDLProvider
.
class
);
case
sqlServer:
return
context
.
getBean
(
"mysqlDDL"
,
DDLProvider
.
class
);
default
:
return
context
.
getBean
(
"mysqlDDL"
,
DDLProvider
.
class
);
}
}
}
backend/src/main/java/io/dataease/provider/DDLProvider.java
0 → 100644
浏览文件 @
e98f9560
package
io
.
dataease
.
provider
;
/**
* @Author gin
* @Date 2021/5/17 4:19 下午
*/
public
abstract
class
DDLProvider
{
public
abstract
String
createView
(
String
name
,
String
viewSQL
);
public
abstract
String
dropTableOrView
(
String
name
);
}
backend/src/main/java/io/dataease/provider/QueryProvider.java
0 → 100644
浏览文件 @
e98f9560
package
io
.
dataease
.
provider
;
import
io.dataease.base.domain.DatasetTableField
;
import
io.dataease.controller.request.chart.ChartExtFilterRequest
;
import
io.dataease.dto.chart.ChartViewFieldDTO
;
import
java.util.List
;
/**
* @Author gin
* @Date 2021/5/17 2:42 下午
*/
public
abstract
class
QueryProvider
{
public
abstract
Integer
transFieldType
(
String
field
);
public
abstract
String
createQueryCountSQL
(
String
table
);
public
abstract
String
createQueryCountSQLAsTmp
(
String
sql
);
public
abstract
String
createSQLPreview
(
String
sql
,
String
orderBy
);
public
abstract
String
createQuerySQL
(
String
table
,
List
<
DatasetTableField
>
fields
);
public
abstract
String
createQuerySQLAsTmp
(
String
sql
,
List
<
DatasetTableField
>
fields
);
public
abstract
String
createQuerySQLWithPage
(
String
table
,
List
<
DatasetTableField
>
fields
,
Integer
page
,
Integer
pageSize
,
Integer
realSize
);
public
abstract
String
createQuerySQLAsTmpWithPage
(
String
sql
,
List
<
DatasetTableField
>
fields
,
Integer
page
,
Integer
pageSize
,
Integer
realSize
);
public
abstract
String
getSQL
(
String
table
,
List
<
ChartViewFieldDTO
>
xAxis
,
List
<
ChartViewFieldDTO
>
yAxis
,
List
<
ChartExtFilterRequest
>
extFilterRequestList
);
public
abstract
String
getSQLAsTmp
(
String
table
,
List
<
ChartViewFieldDTO
>
xAxis
,
List
<
ChartViewFieldDTO
>
yAxis
,
List
<
ChartExtFilterRequest
>
extFilterRequestList
);
}
backend/src/main/java/io/dataease/provider/doris/DorisDDLProvider.java
0 → 100644
浏览文件 @
e98f9560
package
io
.
dataease
.
provider
.
doris
;
import
io.dataease.provider.DDLProvider
;
import
org.springframework.stereotype.Service
;
/**
* @Author gin
* @Date 2021/5/17 4:27 下午
*/
@Service
(
"dorisDDL"
)
public
class
DorisDDLProvider
extends
DDLProvider
{
@Override
public
String
createView
(
String
name
,
String
viewSQL
)
{
return
"CREATE VIEW IF NOT EXISTS "
+
name
+
" AS ("
+
viewSQL
+
")"
;
}
@Override
public
String
dropTableOrView
(
String
name
)
{
return
"DROP TABLE IF EXISTS "
+
name
;
}
}
backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java
0 → 100644
浏览文件 @
e98f9560
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/provider/mysql/MysqlDDLProvider.java
0 → 100644
浏览文件 @
e98f9560
package
io
.
dataease
.
provider
.
mysql
;
import
io.dataease.provider.DDLProvider
;
import
org.springframework.stereotype.Service
;
/**
* @Author gin
* @Date 2021/5/17 4:27 下午
*/
@Service
(
"mysqlDDL"
)
public
class
MysqlDDLProvider
extends
DDLProvider
{
@Override
public
String
createView
(
String
name
,
String
viewSQL
)
{
return
"CREATE VIEW IF NOT EXISTS "
+
name
+
" AS ("
+
viewSQL
+
")"
;
}
@Override
public
String
dropTableOrView
(
String
name
)
{
return
"DROP TABLE IF EXISTS "
+
name
;
}
}
backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java
0 → 100644
浏览文件 @
e98f9560
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/chart/ChartViewService.java
浏览文件 @
e98f9560
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
e98f9560
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
浏览文件 @
e98f9560
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java
浏览文件 @
e98f9560
...
...
@@ -7,6 +7,7 @@ import io.dataease.datasource.provider.DatasourceProvider;
import
io.dataease.datasource.provider.ProviderFactory
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
io.dataease.datasource.service.DatasourceService
;
import
io.dataease.provider.QueryProvider
;
import
io.dataease.service.dataset.DataSetFieldService
;
import
io.dataease.service.dataset.DataSetTableFieldsService
;
import
io.dataease.service.dataset.DataSetTableService
;
...
...
@@ -58,7 +59,8 @@ public class DirectFieldService implements DataSetFieldService {
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
ds
.
getType
());
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
datasourceRequest
.
setDatasource
(
ds
);
String
querySQL
=
dataSetTableService
.
createQuerySQL
(
ds
.
getType
(),
tableName
,
Collections
.
singletonList
(
field
));
QueryProvider
qp
=
ProviderFactory
.
getQueryProvider
(
ds
.
getType
());
String
querySQL
=
qp
.
createQuerySQL
(
tableName
,
Collections
.
singletonList
(
field
));
datasourceRequest
.
setQuery
(
querySQL
);
try
{
List
<
String
[]>
rows
=
datasourceProvider
.
getData
(
datasourceRequest
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论