Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
558dfa7d
提交
558dfa7d
authored
3月 15, 2022
作者:
wangjiahao
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # backend/src/main/java/io/dataease/service/chart/ChartViewService.java
上级
945f7008
1f5fd165
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
124 行增加
和
40 行删除
+124
-40
ExcelXlsxReader.java
.../main/java/io/dataease/commons/utils/ExcelXlsxReader.java
+2
-0
DataSetTableController.java
...o/dataease/controller/dataset/DataSetTableController.java
+1
-1
DDLProviderImpl.java
...d/src/main/java/io/dataease/provider/DDLProviderImpl.java
+3
-3
JdbcProvider.java
...in/java/io/dataease/provider/datasource/JdbcProvider.java
+5
-0
MysqlConstants.java
...ava/io/dataease/provider/engine/mysql/MysqlConstants.java
+1
-1
MysqlDDLProvider.java
...a/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
+61
-1
ChartViewService.java
...main/java/io/dataease/service/chart/ChartViewService.java
+0
-0
ChartDataBuild.java
...n/java/io/dataease/service/chart/util/ChartDataBuild.java
+0
-0
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+7
-7
ExtractDataService.java
.../java/io/dataease/service/dataset/ExtractDataService.java
+4
-1
DatasourceService.java
...ava/io/dataease/service/datasource/DatasourceService.java
+0
-1
EngineService.java
...c/main/java/io/dataease/service/engine/EngineService.java
+27
-13
LabelNormalText.vue
...end/src/views/chart/components/normal/LabelNormalText.vue
+3
-3
ChartEdit.vue
frontend/src/views/chart/view/ChartEdit.vue
+0
-0
SimpleModeSetting.vue
frontend/src/views/system/SysParam/SimpleModeSetting.vue
+10
-9
form.vue
frontend/src/views/system/datasource/form.vue
+0
-0
没有找到文件。
backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java
浏览文件 @
558dfa7d
...
...
@@ -100,6 +100,8 @@ public class ExcelXlsxReader extends DefaultHandler {
*/
private
String
formatString
;
//定义前一个元素和当前元素的位置,用来计算其中空的单元格数量,如A6和A8等
private
String
preRef
=
null
,
ref
=
null
;
...
...
backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java
浏览文件 @
558dfa7d
...
...
@@ -172,7 +172,7 @@ public class DataSetTableController {
@ApiOperation
(
"检测doris"
)
@PostMapping
(
"checkDorisTableIsExists/{id}"
)
public
Boolean
checkDorisTableIsExists
(
@PathVariable
String
id
)
throws
Exception
{
return
dataSetTableService
.
check
Doris
TableIsExists
(
id
);
return
dataSetTableService
.
check
Engine
TableIsExists
(
id
);
}
@ApiOperation
(
"搜索"
)
...
...
backend/src/main/java/io/dataease/provider/DDLProviderImpl.java
浏览文件 @
558dfa7d
...
...
@@ -39,9 +39,9 @@ public class DDLProviderImpl extends DDLProvider {
Integer
realSize
=
page
*
pageNumber
<
dataList
.
size
()
?
page
*
pageNumber
:
dataList
.
size
();
for
(
String
[]
strings
:
dataList
.
subList
((
page
-
1
)
*
pageNumber
,
realSize
))
{
values
.
append
(
"("
).
append
(
Md5Utils
.
md5
(
String
.
join
(
","
,
Arrays
.
asList
(
strings
))))
.
append
(
"
,"
).
append
(
String
.
join
(
",
"
,
Arrays
.
asList
(
strings
)))
.
append
(
"),"
);
values
.
append
(
"(
'
"
).
append
(
Md5Utils
.
md5
(
String
.
join
(
","
,
Arrays
.
asList
(
strings
))))
.
append
(
"
','"
).
append
(
String
.
join
(
"','
"
,
Arrays
.
asList
(
strings
)))
.
append
(
"
'
),"
);
}
return
insertSql
+
values
.
substring
(
0
,
values
.
length
()
-
1
);
}
...
...
backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java
浏览文件 @
558dfa7d
...
...
@@ -395,6 +395,7 @@ public class JdbcProvider extends DatasourceProvider {
dataSource
=
jdbcConnection
.
get
(
datasourceRequest
.
getDatasource
().
getId
());
if
(
dataSource
!=
null
)
{
dataSource
.
close
();
jdbcConnection
.
remove
(
datasourceRequest
.
getDatasource
().
getId
());
}
break
;
default
:
...
...
@@ -426,6 +427,7 @@ public class JdbcProvider extends DatasourceProvider {
case
mysql:
case
mariadb:
case
engine_doris:
case
engine_mysql:
case
ds_doris:
MysqlConfiguration
mysqlConfiguration
=
new
Gson
().
fromJson
(
datasourceRequest
.
getDatasource
().
getConfiguration
(),
MysqlConfiguration
.
class
);
username
=
mysqlConfiguration
.
getUsername
();
...
...
@@ -529,6 +531,7 @@ public class JdbcProvider extends DatasourceProvider {
switch
(
datasourceType
)
{
case
mysql:
case
mariadb:
case
engine_mysql:
case
engine_doris:
case
ds_doris:
MysqlConfiguration
mysqlConfiguration
=
new
Gson
().
fromJson
(
datasourceRequest
.
getDatasource
().
getConfiguration
(),
MysqlConfiguration
.
class
);
...
...
@@ -604,6 +607,7 @@ public class JdbcProvider extends DatasourceProvider {
DatasourceTypes
datasourceType
=
DatasourceTypes
.
valueOf
(
datasourceRequest
.
getDatasource
().
getType
());
switch
(
datasourceType
)
{
case
mysql:
case
engine_mysql:
case
mariadb:
JdbcConfiguration
jdbcConfiguration
=
new
Gson
().
fromJson
(
datasourceRequest
.
getDatasource
().
getConfiguration
(),
JdbcConfiguration
.
class
);
return
String
.
format
(
"SELECT TABLE_NAME,TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '%s' ;"
,
jdbcConfiguration
.
getDataBase
());
...
...
@@ -657,6 +661,7 @@ public class JdbcProvider extends DatasourceProvider {
case
mysql:
case
mariadb:
case
engine_doris:
case
engine_mysql:
case
ds_doris:
case
ck:
return
null
;
...
...
backend/src/main/java/io/dataease/provider/engine/mysql/MysqlConstants.java
浏览文件 @
558dfa7d
...
...
@@ -25,7 +25,7 @@ public class MysqlConstants extends SQLConstants {
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_INT_FORMAT
=
"
DECIMAL(20,0)
"
;
public
static
final
String
DEFAULT_FLOAT_FORMAT
=
"DECIMAL(20,2)"
;
...
...
backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
浏览文件 @
558dfa7d
package
io
.
dataease
.
provider
.
engine
.
mysql
;
import
io.dataease.base.domain.DatasetTableField
;
import
io.dataease.commons.utils.TableUtils
;
import
io.dataease.provider.DDLProviderImpl
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @Author gin
* @Date 2021/5/17 4:27 下午
*/
@Service
(
"mysqlEngineDDL"
)
public
class
MysqlDDLProvider
extends
DDLProviderImpl
{
private
static
final
String
creatTableSql
=
"CREATE TABLE IF NOT EXISTS `TABLE_NAME`"
+
"Column_Fields;"
;
@Override
public
String
createView
(
String
name
,
String
viewSQL
)
{
return
"CREATE VIEW IF NOT EXISTS "
+
name
+
" AS ("
+
viewSQL
+
")"
;
...
...
@@ -27,9 +36,60 @@ public class MysqlDDLProvider extends DDLProviderImpl {
@Override
public
String
replaceTable
(
String
name
){
String
replaceTableSql
=
"rename table FROM_TABLE to FROM_TABLE_tmp, TO_TABLE to FROM_TABLE, FROM_TABLE_tmp to TO_TABLE
;
"
String
replaceTableSql
=
"rename table FROM_TABLE to FROM_TABLE_tmp, TO_TABLE to FROM_TABLE, FROM_TABLE_tmp to TO_TABLE"
.
replace
(
"FROM_TABLE"
,
name
).
replace
(
"TO_TABLE"
,
TableUtils
.
tmpName
(
name
));
String
dropTableSql
=
"DROP TABLE IF EXISTS "
+
TableUtils
.
tmpName
(
name
);
return
replaceTableSql
+
";"
+
dropTableSql
;
}
@Override
public
String
createTableSql
(
String
tableName
,
List
<
DatasetTableField
>
datasetTableFields
)
{
String
dorisTableColumnSql
=
createDorisTableColumnSql
(
datasetTableFields
);
return
creatTableSql
.
replace
(
"TABLE_NAME"
,
tableName
).
replace
(
"Column_Fields"
,
dorisTableColumnSql
);
}
private
String
createDorisTableColumnSql
(
final
List
<
DatasetTableField
>
datasetTableFields
)
{
StringBuilder
Column_Fields
=
new
StringBuilder
(
"dataease_uuid varchar(50), `"
);
for
(
DatasetTableField
datasetTableField
:
datasetTableFields
)
{
Column_Fields
.
append
(
datasetTableField
.
getDataeaseName
()).
append
(
"` "
);
Integer
size
=
datasetTableField
.
getSize
()
*
4
;
switch
(
datasetTableField
.
getDeExtractType
())
{
case
0
:
if
(
size
<
65533
)
{
Column_Fields
.
append
(
"varchar(length)"
.
replace
(
"length"
,
String
.
valueOf
(
datasetTableField
.
getSize
()))).
append
(
",`"
);
}
else
{
Column_Fields
.
append
(
"longtext"
).
append
(
",`"
);
}
break
;
case
1
:
size
=
size
<
50
?
50
:
size
;
if
(
size
<
65533
)
{
Column_Fields
.
append
(
"varchar(length)"
.
replace
(
"length"
,
String
.
valueOf
(
datasetTableField
.
getSize
()))).
append
(
",`"
);
}
else
{
Column_Fields
.
append
(
"longtext"
).
append
(
",`"
);
}
break
;
case
2
:
Column_Fields
.
append
(
"varchar(100)"
).
append
(
",`"
);
break
;
case
3
:
Column_Fields
.
append
(
"varchar(100)"
).
append
(
",`"
);
break
;
case
4
:
Column_Fields
.
append
(
"TINYINT(length)"
.
replace
(
"length"
,
String
.
valueOf
(
datasetTableField
.
getSize
()))).
append
(
",`"
);
break
;
default
:
if
(
size
<
65533
)
{
Column_Fields
.
append
(
"varchar(length)"
.
replace
(
"length"
,
String
.
valueOf
(
datasetTableField
.
getSize
()))).
append
(
",`"
);
}
else
{
Column_Fields
.
append
(
"longtext"
).
append
(
",`"
);
}
break
;
}
}
Column_Fields
=
new
StringBuilder
(
Column_Fields
.
substring
(
0
,
Column_Fields
.
length
()
-
1
)).
append
(
"PRIMARY KEY(dataease_uuid)"
);
Column_Fields
=
new
StringBuilder
(
"("
+
Column_Fields
+
")\n"
);
return
Column_Fields
.
toString
();
}
}
backend/src/main/java/io/dataease/service/chart/ChartViewService.java
浏览文件 @
558dfa7d
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java
0 → 100644
浏览文件 @
558dfa7d
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
558dfa7d
...
...
@@ -551,7 +551,7 @@ public class DataSetTableService {
}
}
else
{
// check doris table
if
(!
check
Doris
TableIsExists
(
dataSetTableRequest
.
getId
()))
{
if
(!
check
Engine
TableIsExists
(
dataSetTableRequest
.
getId
()))
{
throw
new
RuntimeException
(
Translator
.
get
(
"i18n_data_not_sync"
));
}
Datasource
ds
=
engineService
.
getDeEngine
();
...
...
@@ -620,7 +620,7 @@ public class DataSetTableService {
}
}
else
{
// check doris table
if
(!
check
Doris
TableIsExists
(
dataSetTableRequest
.
getId
()))
{
if
(!
check
Engine
TableIsExists
(
dataSetTableRequest
.
getId
()))
{
throw
new
RuntimeException
(
Translator
.
get
(
"i18n_data_not_sync"
));
}
Datasource
ds
=
engineService
.
getDeEngine
();
...
...
@@ -648,7 +648,7 @@ public class DataSetTableService {
}
}
}
else
if
(
StringUtils
.
equalsIgnoreCase
(
datasetTable
.
getType
(),
"excel"
))
{
if
(!
check
Doris
TableIsExists
(
dataSetTableRequest
.
getId
()))
{
if
(!
check
Engine
TableIsExists
(
dataSetTableRequest
.
getId
()))
{
throw
new
RuntimeException
(
Translator
.
get
(
"i18n_data_not_sync"
));
}
...
...
@@ -2167,12 +2167,12 @@ public class DataSetTableService {
return
filePath
;
}
public
Boolean
check
Doris
TableIsExists
(
String
id
)
throws
Exception
{
Datasource
dorisDatasourc
e
=
engineService
.
getDeEngine
();
public
Boolean
check
Engine
TableIsExists
(
String
id
)
throws
Exception
{
Datasource
engin
e
=
engineService
.
getDeEngine
();
JdbcProvider
jdbcProvider
=
CommonBeanFactory
.
getBean
(
JdbcProvider
.
class
);
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
datasourceRequest
.
setDatasource
(
dorisDatasourc
e
);
QueryProvider
qp
=
ProviderFactory
.
getQueryProvider
(
dorisDatasourc
e
.
getType
());
datasourceRequest
.
setDatasource
(
engin
e
);
QueryProvider
qp
=
ProviderFactory
.
getQueryProvider
(
engin
e
.
getType
());
datasourceRequest
.
setQuery
(
qp
.
searchTable
(
TableUtils
.
tableName
(
id
)));
List
<
String
[]>
data
=
jdbcProvider
.
getData
(
datasourceRequest
);
return
CollectionUtils
.
isNotEmpty
(
data
);
...
...
backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
浏览文件 @
558dfa7d
...
...
@@ -445,6 +445,7 @@ public class ExtractDataService {
List
<
String
[]>
dataList
=
result
.
get
(
"dataList"
);
if
(
engineService
.
isSimpleMode
())
{
extractDataForSimpleMode
(
extractType
,
datasetTable
.
getId
(),
dataList
);
return
;
}
Datasource
engine
=
engineService
.
getDeEngine
();
...
...
@@ -712,7 +713,9 @@ public class ExtractDataService {
for
(
ExcelSheetData
sheet
:
excelXlsxReader
.
totalSheets
)
{
if
(
sheet
.
getExcelLable
().
equalsIgnoreCase
(
excelSheetData
.
getExcelLable
()))
{
for
(
List
<
String
>
dataItem
:
sheet
.
getData
())
{
data
.
add
(
dataItem
.
toArray
(
new
String
[
dataItem
.
size
()]));
if
(
dataItem
.
size
()>
0
){
data
.
add
(
dataItem
.
toArray
(
new
String
[
dataItem
.
size
()]));
}
}
}
}
...
...
backend/src/main/java/io/dataease/service/datasource/DatasourceService.java
浏览文件 @
558dfa7d
...
...
@@ -323,7 +323,6 @@ public class DatasourceService {
List
<
Datasource
>
datasources
=
datasourceMapper
.
selectByExampleWithBLOBs
(
new
DatasourceExample
());
datasources
.
forEach
(
datasource
->
{
commonThreadPool
.
addTask
(()->{
System
.
out
.
println
(
System
.
currentTimeMillis
());
try
{
handleConnectionPool
(
datasource
,
"add"
);
}
catch
(
Exception
e
)
{
...
...
backend/src/main/java/io/dataease/service/engine/EngineService.java
浏览文件 @
558dfa7d
...
...
@@ -31,7 +31,7 @@ public class EngineService {
private
DeEngineMapper
deEngineMapper
;
@Resource
private
DatasourceService
datasource
;
static
private
Datasource
ds
=
n
ew
Datasource
()
;
static
private
Datasource
ds
=
n
ull
;
public
Boolean
isLocalMode
(){
...
...
@@ -59,6 +59,9 @@ public class EngineService {
}
public
ResultHolder
validate
(
DatasourceDTO
datasource
)
throws
Exception
{
if
(
StringUtils
.
isEmpty
(
datasource
.
getType
())
||
StringUtils
.
isEmpty
(
datasource
.
getConfiguration
())){
throw
new
Exception
(
"未完整设置数据引擎"
);
}
try
{
DatasourceProvider
datasourceProvider
=
ProviderFactory
.
getProvider
(
datasource
.
getType
());
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
...
...
@@ -78,13 +81,22 @@ public class EngineService {
deEngineMapper
.
updateByPrimaryKeyWithBLOBs
(
engine
);
}
datasource
.
handleConnectionPool
(
this
.
ds
,
"delete"
);
BeanUtils
.
copyBean
(
this
.
ds
,
engine
);
setDs
(
engine
);
datasource
.
handleConnectionPool
(
this
.
ds
,
"add"
);
return
ResultHolder
.
success
(
engine
);
}
private
void
setDs
(
DeEngine
engine
){
if
(
this
.
ds
==
null
){
this
.
ds
=
new
Datasource
();
BeanUtils
.
copyBean
(
this
.
ds
,
engine
);
}
else
{
BeanUtils
.
copyBean
(
this
.
ds
,
engine
);
}
}
public
Datasource
getDeEngine
()
throws
Exception
{
if
(
this
.
ds
!=
null
||
StringUtils
.
isNotEmpty
(
ds
.
getType
())
)
{
if
(
this
.
ds
!=
null
)
{
return
this
.
ds
;
}
if
(
isLocalMode
()){
...
...
@@ -97,21 +109,23 @@ public class EngineService {
jsonObject
.
put
(
"port"
,
env
.
getProperty
(
"doris.port"
,
"9030"
));
jsonObject
.
put
(
"httpPort"
,
env
.
getProperty
(
"doris.httpPort"
,
"8030"
));
Datasource
datasource
=
new
Datasource
();
datasource
.
setId
(
"doris"
);
datasource
.
setName
(
"doris"
);
datasource
.
setDesc
(
"doris"
);
datasource
.
setType
(
"engine_doris"
);
datasource
.
setConfiguration
(
jsonObject
.
toJSONString
());
this
.
ds
=
datasource
;
}
if
(
isSimpleMode
()){
DeEngine
engine
=
new
DeEngine
();
engine
.
setId
(
"doris"
);
engine
.
setName
(
"doris"
);
engine
.
setDesc
(
"doris"
);
engine
.
setType
(
"engine_doris"
);
engine
.
setConfiguration
(
jsonObject
.
toJSONString
());
setDs
(
engine
);
}
else
{
List
<
DeEngine
>
deEngines
=
deEngineMapper
.
selectByExampleWithBLOBs
(
new
DeEngineExample
());
if
(
CollectionUtils
.
isEmpty
(
deEngines
)){
throw
new
Exception
(
"未设置数据引擎"
);
}
BeanUtils
.
copyBean
(
this
.
ds
,
deEngines
.
get
(
0
));
setDs
(
deEngines
.
get
(
0
));
}
// if(isSimpleMode()){
//
// }
//TODO cluster mode
return
this
.
ds
;
...
...
frontend/src/views/chart/components/normal/LabelNormalText.vue
浏览文件 @
558dfa7d
...
...
@@ -2,13 +2,13 @@
<div
ref=
"tableContainer"
:style=
"bg_class"
style=
"padding: 8px;width: 100%;height: 100%;overflow: hidden;"
>
<p
v-show=
"title_show"
ref=
"title"
:style=
"title_class"
>
{{
chart
.
title
}}
</p>
<div
v-if=
"chart.data && chart.data.
datas && chart.data.data
s.length > 0"
v-if=
"chart.data && chart.data.
series && chart.data.serie
s.length > 0"
id=
"label-content"
:style=
"content_class"
>
<span
:style=
"label_class"
>
<p
:style=
"label_content_class"
>
{{
chart
.
data
.
datas
[
0
].
name
}}
<p
v-if=
"chart.data.series[0].data && chart.data.series[0].data.length > 0"
:style=
"label_content_class"
>
{{
chart
.
data
.
series
[
0
].
data
[
0
]
}}
</p>
</span>
<!-- 字段名暂时隐藏-->
...
...
frontend/src/views/chart/view/ChartEdit.vue
浏览文件 @
558dfa7d
差异被折叠。
点击展开。
frontend/src/views/system/SysParam/SimpleModeSetting.vue
浏览文件 @
558dfa7d
...
...
@@ -101,7 +101,7 @@ export default {
return
{
form
:
{
type
:
'mysql'
,
type
:
'
engine_
mysql'
,
configuration
:
{
host
:
''
,
dataBase
:
''
,
...
...
@@ -129,30 +129,31 @@ export default {
disabledSave
:
false
,
loading
:
false
,
rules
:
{
host
:
[
'configuration.host'
:
[
{
required
:
true
,
message
:
this
.
$t
(
'
system_parameter_setting.
host'
),
message
:
this
.
$t
(
'
datasource.please_input_
host'
),
trigger
:
[
'change'
,
'blur'
]
}
],
port
:
[
'configuration.port'
:
[
{
required
:
true
,
message
:
this
.
$t
(
'
system_parameter_setting.
port'
),
message
:
this
.
$t
(
'
datasource.please_input_
port'
),
trigger
:
[
'change'
,
'blur'
]
}
],
account
:
[
'configuration.dataBase'
:
[
{
required
:
true
,
message
:
this
.
$t
(
'
system_parameter_setting.account
'
),
message
:
this
.
$t
(
'
datasource.please_input_data_base
'
),
trigger
:
[
'change'
,
'blur'
]
}]
}
]
},
allTypes
:
[
{
name
:
'mysql'
,
name
:
'
engine_
mysql'
,
label
:
'MySQL'
,
type
:
'jdbc'
,
extraParams
:
'characterEncoding=UTF-8&connectTimeout=5000&useSSL=false&allowPublicKeyRetrieval=true'
...
...
frontend/src/views/system/datasource/form.vue
浏览文件 @
558dfa7d
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论