Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-tool
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tool
amos-tool
Commits
0ac3360d
Commit
0ac3360d
authored
Dec 14, 2023
by
Gwofoo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整了一些代码结构
parent
25f5aedd
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
223 additions
and
235 deletions
+223
-235
AmosToolTemplateController.java
.../amos/api/tool/controller/AmosToolTemplateController.java
+0
-3
DataApiResource.java
...com/yeejoin/amos/api/tool/controller/DataApiResource.java
+3
-3
DatabaseConnectionResource.java
.../amos/api/tool/controller/DatabaseConnectionResource.java
+22
-23
DatabaseNameListResource.java
...in/amos/api/tool/controller/DatabaseNameListResource.java
+5
-6
RelationResource.java
...om/yeejoin/amos/api/tool/controller/RelationResource.java
+2
-2
DatabaseConnectionModel.java
...oin/amos/api/tool/face/model/DatabaseConnectionModel.java
+3
-16
AmosToolTemplateService.java
...n/amos/api/tool/face/service/AmosToolTemplateService.java
+1
-2
DatabaseConnectionService.java
...amos/api/tool/face/service/DatabaseConnectionService.java
+29
-91
DatabaseNameListService.java
...n/amos/api/tool/face/service/DatabaseNameListService.java
+25
-29
RelationService.java
...m/yeejoin/amos/api/tool/face/service/RelationService.java
+12
-13
StudioResourceService.java
...oin/amos/api/tool/face/service/StudioResourceService.java
+28
-28
ToolLibraryService.java
...eejoin/amos/api/tool/face/service/ToolLibraryService.java
+19
-17
AESUtils.java
src/main/java/com/yeejoin/amos/api/tool/utils/AESUtils.java
+17
-0
DatabaseUtils.java
...n/java/com/yeejoin/amos/api/tool/utils/DatabaseUtils.java
+57
-2
No files found.
src/main/java/com/yeejoin/amos/api/tool/controller/AmosToolTemplateController.java
View file @
0ac3360d
...
...
@@ -3,9 +3,7 @@ package com.yeejoin.amos.api.tool.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.model.AmosToolTemplateModel
;
import
com.yeejoin.amos.api.tool.face.model.AmosToolTemplateVoModel
;
import
com.yeejoin.amos.api.tool.face.model.ProjectModel
;
import
com.yeejoin.amos.api.tool.face.service.AmosToolTemplateService
;
import
com.yeejoin.amos.api.tool.utils.DataBaseUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -16,7 +14,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.sql.SQLException
;
import
java.util.Arrays
;
import
java.util.List
;
...
...
src/main/java/com/yeejoin/amos/api/tool/controller/DataApiResource.java
View file @
0ac3360d
...
...
@@ -3,7 +3,7 @@ package com.yeejoin.amos.api.tool.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.model.ProjectModel
;
import
com.yeejoin.amos.api.tool.face.service.StudioResourceService
;
import
com.yeejoin.amos.api.tool.utils.Data
B
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.Data
b
aseUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.logging.log4j.LogManager
;
...
...
@@ -98,7 +98,7 @@ DataApiResource {
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
Data
B
aseUtils
.
listToPage
(
studioResourceService
.
getAppList
(
sequenceNbr
,
projectNbr
),
current
,
size
));
Data
b
aseUtils
.
listToPage
(
studioResourceService
.
getAppList
(
sequenceNbr
,
projectNbr
),
current
,
size
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
SUPER_ADMIN
,
needAuth
=
false
)
...
...
@@ -113,7 +113,7 @@ DataApiResource {
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
Data
B
aseUtils
.
listToPage
(
studioResourceService
.
getIdx
(
ipSeq
,
agencyCode
),
current
,
size
));
Data
b
aseUtils
.
listToPage
(
studioResourceService
.
getIdx
(
ipSeq
,
agencyCode
),
current
,
size
));
}
}
src/main/java/com/yeejoin/amos/api/tool/controller/Data
BaseLink
Resource.java
→
src/main/java/com/yeejoin/amos/api/tool/controller/Data
baseConnection
Resource.java
View file @
0ac3360d
...
...
@@ -2,9 +2,8 @@ package com.yeejoin.amos.api.tool.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.model.AgencyModel
;
import
com.yeejoin.amos.api.tool.face.model.DataBaseLinkModel
;
import
com.yeejoin.amos.api.tool.face.model.TemplateVoModel
;
import
com.yeejoin.amos.api.tool.face.service.DataBaseLinkService
;
import
com.yeejoin.amos.api.tool.face.model.DatabaseConnectionModel
;
import
com.yeejoin.amos.api.tool.face.service.DatabaseConnectionService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -14,7 +13,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.sql.SQLException
;
import
java.util.List
;
...
...
@@ -26,22 +24,22 @@ import java.util.List;
@RestController
@Api
(
tags
=
"数据库信息"
)
@RequestMapping
(
value
=
"/database_link"
)
public
class
Data
BaseLink
Resource
{
public
class
Data
baseConnection
Resource
{
@Autowired
private
Data
BaseLinkService
dataBaseLink
Service
;
private
Data
baseConnectionService
databaseConnection
Service
;
/**
* 新增
*
* @param dataBase
Link
Model 数据库连接
* @param dataBase
Connection
Model 数据库连接
* @return DataBaseLinkModel
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
Data
BaseLinkModel
>
save
(
@RequestBody
DataBaseLinkModel
dataBaseLink
Model
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
data
BaseLinkService
.
save
(
dataBaseLink
Model
));
public
ResponseModel
<
Data
baseConnectionModel
>
save
(
@RequestBody
DatabaseConnectionModel
dataBaseConnection
Model
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
data
baseConnectionService
.
save
(
dataBaseConnection
Model
));
}
/**
...
...
@@ -53,11 +51,11 @@ public class DataBaseLinkResource {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新"
,
notes
=
"根据sequenceNbr更新"
)
public
ResponseModel
<
Data
BaseLink
Model
>
updateBySeq
(
@RequestBody
Data
BaseLink
Model
model
,
public
ResponseModel
<
Data
baseConnection
Model
>
updateBySeq
(
@RequestBody
Data
baseConnection
Model
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
throws
Exception
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
data
BaseLink
Service
.
update
(
model
));
return
ResponseHelper
.
buildResponse
(
data
baseConnection
Service
.
update
(
model
));
}
/**
...
...
@@ -70,7 +68,7 @@ public class DataBaseLinkResource {
@DeleteMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除"
,
notes
=
"根据sequenceNbr删除"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
data
BaseLink
Service
.
removeById
(
sequenceNbr
));
return
ResponseHelper
.
buildResponse
(
data
baseConnection
Service
.
removeById
(
sequenceNbr
));
}
/**
...
...
@@ -81,12 +79,13 @@ public class DataBaseLinkResource {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
Data
BaseLink
Model
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
data
BaseLink
Service
.
queryBySeq
(
sequenceNbr
));
public
ResponseModel
<
Data
baseConnection
Model
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
data
baseConnection
Service
.
queryBySeq
(
sequenceNbr
));
}
/**
* 机构分页查询
* 位于:脚本导出-机构管理
* 分页查询,获取指定地址下的机构
*
* @param current 当前分页
* @param size 分页大小
...
...
@@ -99,13 +98,13 @@ public class DataBaseLinkResource {
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestParam
Long
ipSeq
)
throws
SQLException
{
Page
<
AgencyModel
>
page
=
new
Page
<>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
dataBaseLinkService
.
queryForAgencyPage
(
page
,
ipSeq
));
Page
<
AgencyModel
>
page
=
new
Page
<>(
current
,
size
);
return
ResponseHelper
.
buildResponse
(
databaseConnectionService
.
queryForAgencyPage
(
page
,
ipSeq
));
}
/**
* 位于:脚本导出-机构管理
* 获取全部数据库ip
* 列表全部数据查询
*
* @return List<DataBaseLinkModel>
...
...
@@ -113,8 +112,8 @@ public class DataBaseLinkResource {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
Data
BaseLink
Model
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
data
BaseLink
Service
.
queryForDataBaseList
());
public
ResponseModel
<
List
<
Data
baseConnection
Model
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
data
baseConnection
Service
.
queryForDataBaseList
());
}
/**
...
...
@@ -126,7 +125,7 @@ public class DataBaseLinkResource {
@GetMapping
(
value
=
"/agency/list"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"机构列表查询"
,
notes
=
"列表查询"
)
public
ResponseModel
<
List
<
AgencyModel
>>
queryForList
()
throws
SQLException
,
IOException
{
return
ResponseHelper
.
buildResponse
(
data
BaseLink
Service
.
queryForAgencyList
());
return
ResponseHelper
.
buildResponse
(
data
baseConnection
Service
.
queryForAgencyList
());
}
...
...
src/main/java/com/yeejoin/amos/api/tool/controller/Data
B
aseNameListResource.java
→
src/main/java/com/yeejoin/amos/api/tool/controller/Data
b
aseNameListResource.java
View file @
0ac3360d
...
...
@@ -2,7 +2,7 @@ package com.yeejoin.amos.api.tool.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.model.DataBaseNameListModel
;
import
com.yeejoin.amos.api.tool.face.service.Data
B
aseNameListService
;
import
com.yeejoin.amos.api.tool.face.service.Data
b
aseNameListService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -18,10 +18,10 @@ import java.util.List;
@RestController
@Api
(
tags
=
"数据库名称表"
)
@RequestMapping
(
value
=
"/database_name"
)
public
class
Data
B
aseNameListResource
{
public
class
Data
b
aseNameListResource
{
@Autowired
private
Data
BaseNameListService
dataB
aseNameListService
;
private
Data
baseNameListService
datab
aseNameListService
;
/**
* 数据库初始化
...
...
@@ -33,8 +33,7 @@ public class DataBaseNameListResource {
@PostMapping
(
value
=
"/refresh/{ipSeq}"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"数据库初始化"
,
notes
=
"数据库初始化"
)
public
ResponseModel
<
List
<
String
>>
refresh
(
@PathVariable
Long
ipSeq
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
dataBaseNameListService
.
refreshDataBase
(
ipSeq
));
return
ResponseHelper
.
buildResponse
(
databaseNameListService
.
refreshDatabase
(
ipSeq
));
}
/**
...
...
@@ -52,7 +51,7 @@ public class DataBaseNameListResource {
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestParam
Long
ipSeq
)
throws
SQLException
,
ClassNotFoundException
{
Page
<
DataBaseNameListModel
>
page
=
new
Page
<>();
return
ResponseHelper
.
buildResponse
(
data
BaseNameListService
.
queryForDataBasePage
(
page
,
ipSeq
,
current
,
size
));
return
ResponseHelper
.
buildResponse
(
data
baseNameListService
.
queryForDataBasePage
(
page
,
ipSeq
,
current
,
size
));
}
}
src/main/java/com/yeejoin/amos/api/tool/controller/RelationResource.java
View file @
0ac3360d
package
com
.
yeejoin
.
amos
.
api
.
tool
.
controller
;
import
com.yeejoin.amos.api.tool.face.service.Data
BaseLink
Service
;
import
com.yeejoin.amos.api.tool.face.service.Data
baseConnection
Service
;
import
com.yeejoin.amos.api.tool.face.service.RelationService
;
import
com.yeejoin.amos.api.tool.face.service.StudioResourceService
;
import
io.swagger.annotations.Api
;
...
...
@@ -26,7 +26,7 @@ public class RelationResource {
@Autowired
private
RelationService
relationService
;
@Autowired
Data
BaseLinkService
dataBaseLink
Service
;
Data
baseConnectionService
databaseConnection
Service
;
@Autowired
private
StudioResourceService
studioResourceService
;
...
...
src/main/java/com/yeejoin/amos/api/tool/face/model/Data
BaseLink
Model.java
→
src/main/java/com/yeejoin/amos/api/tool/face/model/Data
baseConnection
Model.java
View file @
0ac3360d
package
com
.
yeejoin
.
amos
.
api
.
tool
.
face
.
model
;
import
com.yeejoin.amos.api.tool.face.orm.entity.DataBaseLink
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
@@ -15,9 +14,9 @@ import org.typroject.tyboot.core.rdbms.model.BaseModel;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@NoArgsConstructor
//
@AllArgsConstructor
@ApiModel
(
value
=
"Data
BaseLink
Model"
,
description
=
""
)
public
class
Data
BaseLink
Model
extends
BaseModel
{
@AllArgsConstructor
@ApiModel
(
value
=
"Data
baseConnection
Model"
,
description
=
""
)
public
class
Data
baseConnection
Model
extends
BaseModel
{
@ApiModelProperty
(
value
=
"主机IP"
)
private
String
ip
;
...
...
@@ -39,16 +38,4 @@ public class DataBaseLinkModel extends BaseModel {
@ApiModelProperty
(
value
=
"后缀"
)
private
String
suffix
;
public
DataBaseLinkModel
(
String
ip
,
String
port
,
String
dbName
,
String
userName
,
String
passWord
,
String
prefix
,
String
suffix
)
{
this
.
ip
=
ip
;
this
.
port
=
port
;
this
.
dbName
=
dbName
;
this
.
userName
=
userName
;
this
.
passWord
=
passWord
;
this
.
prefix
=
prefix
;
this
.
suffix
=
suffix
;
}
}
src/main/java/com/yeejoin/amos/api/tool/face/service/AmosToolTemplateService.java
View file @
0ac3360d
...
...
@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
javax.annotation.Resource
;
import
java.sql.*
;
import
java.util.*
;
@Component
...
...
@@ -21,7 +20,7 @@ public class AmosToolTemplateService extends BaseService<AmosToolTemplateModel,
private
AmosToolTemplateMapper
amosToolTemplateMapper
;
@Autowired
private
Data
BaseLinkService
dataBaseLink
Service
;
private
Data
baseConnectionService
databaseConnection
Service
;
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/Data
BaseLink
Service.java
→
src/main/java/com/yeejoin/amos/api/tool/face/service/Data
baseConnection
Service.java
View file @
0ac3360d
...
...
@@ -6,7 +6,7 @@ import com.yeejoin.amos.api.tool.face.model.*;
import
com.yeejoin.amos.api.tool.face.orm.dao.DataBaseLinkMapper
;
import
com.yeejoin.amos.api.tool.face.orm.entity.DataBaseLink
;
import
com.yeejoin.amos.api.tool.utils.AESUtils
;
import
com.yeejoin.amos.api.tool.utils.Data
B
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.Data
b
aseUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -29,9 +29,9 @@ import java.util.Map;
*/
@Service
public
class
Data
BaseLinkService
extends
BaseService
<
DataBaseLink
Model
,
DataBaseLink
,
DataBaseLinkMapper
>
{
public
class
Data
baseConnectionService
extends
BaseService
<
DatabaseConnection
Model
,
DataBaseLink
,
DataBaseLinkMapper
>
{
private
static
final
Logger
log
=
LogManager
.
getLogger
(
Data
BaseLink
Service
.
class
);
private
static
final
Logger
log
=
LogManager
.
getLogger
(
Data
baseConnection
Service
.
class
);
@Autowired
private
DataSource
dataSource
;
...
...
@@ -39,23 +39,21 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
/**
* 新增
*/
public
Data
BaseLinkModel
save
(
DataBaseLinkModel
dataBaseLink
Model
)
throws
Exception
{
Data
BaseLinkModel
model
=
this
.
encryptPwd
(
dataBaseLink
Model
);
if
(
this
.
testConnection
(
model
))
{
public
Data
baseConnectionModel
save
(
DatabaseConnectionModel
dataBaseConnection
Model
)
throws
Exception
{
Data
baseConnectionModel
model
=
AESUtils
.
encryptPwd
(
dataBaseConnection
Model
);
if
(
DatabaseUtils
.
isConnectionValid
(
model
))
{
return
this
.
createWithModel
(
model
);
}
else
{
return
new
Data
BaseLink
Model
();
return
new
Data
baseConnection
Model
();
}
}
/**
* 编辑
*/
public
DataBaseLinkModel
update
(
DataBaseLinkModel
model
)
throws
Exception
{
// DataBaseLinkModel model = this.decryptPwd(dataBaseLinkModel);
if
(
this
.
testConnection
(
model
))
{
return
this
.
updateWithModel
(
encryptPwd
(
model
));
public
DatabaseConnectionModel
update
(
DatabaseConnectionModel
model
)
throws
Exception
{
if
(
DatabaseUtils
.
isConnectionValid
(
model
))
{
return
this
.
updateWithModel
(
AESUtils
.
encryptPwd
(
model
));
}
else
{
return
null
;
}
...
...
@@ -65,10 +63,14 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
* 机构分页查询
*/
public
Page
<
AgencyModel
>
queryForAgencyPage
(
Page
<
AgencyModel
>
page
,
Long
ipSeq
)
throws
SQLException
{
Connection
connection
=
this
.
connectNewDatabase
(
this
.
queryBySeq
(
ipSeq
));
List
<
Map
<
String
,
Object
>>
maps
=
DataBaseUtils
.
getMaps
(
"SELECT AGENCY_NAME, AGENCY_CODE, AGENCY_DESC FROM privilege_agency;"
,
connection
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
this
.
queryBySeq
(
ipSeq
));
if
(
connection
==
null
)
{
throw
new
SQLException
(
"db connection is null!!!"
);
}
String
selectSql
=
"SELECT AGENCY_NAME, AGENCY_CODE, AGENCY_DESC FROM privilege_agency;"
;
List
<
Map
<
String
,
Object
>>
maps
=
DatabaseUtils
.
getMaps
(
selectSql
,
connection
);
connection
.
close
();
List
<
AgencyModel
>
records
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
maps
)
{
AgencyModel
model
=
new
AgencyModel
();
...
...
@@ -78,7 +80,7 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
model
.
setAgencyDesc
(
map
.
get
(
"AGENCY_DESC"
).
toString
());
records
.
add
(
model
);
}
Page
<
AgencyModel
>
entiryPage
=
new
Page
(
page
.
getCurrent
(),
page
.
getSize
());
Page
<
AgencyModel
>
entiryPage
=
new
Page
<>
(
page
.
getCurrent
(),
page
.
getSize
());
if
(!
ValidationUtil
.
isEmpty
(
records
))
{
page
.
setTotal
(
records
.
size
());
page
.
setPages
(
entiryPage
.
getPages
());
...
...
@@ -99,12 +101,17 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
con
.
close
();
log
.
info
(
url
);
DataBaseLink
dataBaseLink
=
getOne
(
new
QueryWrapper
<
DataBaseLink
>().
eq
(
"IP"
,
url
.
getHost
()));
DataBaseLinkModel
dataBaseLinkModel
=
new
DataBaseLinkModel
();
Bean
.
toModel
(
dataBaseLink
,
dataBaseLinkModel
);
Connection
connection
=
this
.
connectNewDatabase
(
dataBaseLinkModel
);
List
<
Map
<
String
,
Object
>>
maps
=
DataBaseUtils
.
getMaps
(
"SELECT AGENCY_NAME, AGENCY_CODE, AGENCY_DESC FROM privilege_agency;"
,
connection
);
DatabaseConnectionModel
dataBaseConnectionModel
=
new
DatabaseConnectionModel
();
Bean
.
toModel
(
dataBaseLink
,
dataBaseConnectionModel
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
dataBaseConnectionModel
);
if
(
connection
==
null
)
{
throw
new
SQLException
(
"db connection is null!!!"
);
}
String
selectSql
=
"SELECT AGENCY_NAME, AGENCY_CODE, AGENCY_DESC FROM privilege_agency;"
;
List
<
Map
<
String
,
Object
>>
maps
=
DatabaseUtils
.
getMaps
(
selectSql
,
connection
);
connection
.
close
();
List
<
AgencyModel
>
records
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
maps
)
{
AgencyModel
model
=
new
AgencyModel
();
...
...
@@ -117,80 +124,11 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
return
records
;
}
/**
* 列表查询
*/
public
List
<
Data
BaseLink
Model
>
queryForDataBaseList
()
{
public
List
<
Data
baseConnection
Model
>
queryForDataBaseList
()
{
return
this
.
queryForList
(
""
,
false
);
}
/**
* 获取数据库名称
*/
public
String
[]
getDataBaseName
(
Connection
connection
)
throws
SQLException
{
Statement
stmt
=
connection
.
createStatement
();
ResultSet
rs
=
stmt
.
executeQuery
(
"SHOW DATABASES"
);
String
[]
result
=
new
String
[
1000
];
int
count
=
0
;
while
(
rs
.
next
())
{
result
[
count
++]
=
rs
.
getString
(
1
);
}
return
result
;
}
/**
* 连接数据库
*/
public
Connection
connectNewDatabase
(
DataBaseLinkModel
model
)
{
try
{
// 加载数据库驱动
Class
.
forName
(
"com.mysql.cj.jdbc.Driver"
);
if
(
model
.
getPrefix
()
==
null
||
model
.
getPrefix
().
isEmpty
()
||
model
.
getPrefix
().
equals
(
"null"
))
{
model
.
setPrefix
(
""
);
}
if
(
model
.
getSuffix
()
==
null
||
model
.
getSuffix
().
isEmpty
()
||
model
.
getSuffix
().
equals
(
"null"
))
{
model
.
setSuffix
(
""
);
}
// 连接新增的数据库
// String dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" +
// model.getPrefix() + model.getDbName() + model.getSuffix();
String
dbUrl
=
"jdbc:mysql://"
+
model
.
getIp
()
+
":"
+
model
.
getPort
()
+
"/"
+
model
.
getDbName
()
;
// 解密pwd,并连接
return
DriverManager
.
getConnection
(
dbUrl
,
model
.
getUserName
(),
AESUtils
.
decrypt
(
model
.
getPassWord
()));
}
catch
(
SQLException
|
ClassNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
return
null
;
}
/**
* 测试连接数据库
*/
public
boolean
testConnection
(
DataBaseLinkModel
model
)
throws
Exception
{
Connection
connection
=
this
.
connectNewDatabase
(
model
);
if
(
connection
!=
null
)
{
connection
.
close
();
return
true
;
}
return
false
;
}
/**
* 加密model里的密码
*/
public
DataBaseLinkModel
encryptPwd
(
DataBaseLinkModel
model
)
throws
Exception
{
model
.
setPassWord
(
AESUtils
.
encrypt
(
model
.
getPassWord
()));
return
model
;
}
public
DataBaseLinkModel
decryptPwd
(
DataBaseLinkModel
model
)
throws
Exception
{
model
.
setPassWord
(
AESUtils
.
decrypt
(
model
.
getPassWord
()));
return
model
;
}
}
src/main/java/com/yeejoin/amos/api/tool/face/service/Data
B
aseNameListService.java
→
src/main/java/com/yeejoin/amos/api/tool/face/service/Data
b
aseNameListService.java
View file @
0ac3360d
package
com
.
yeejoin
.
amos
.
api
.
tool
.
face
.
service
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.model.Data
BaseLink
Model
;
import
com.yeejoin.amos.api.tool.face.model.Data
baseConnection
Model
;
import
com.yeejoin.amos.api.tool.face.model.DataBaseNameListModel
;
import
com.yeejoin.amos.api.tool.face.orm.dao.DataBaseNameListMapper
;
import
com.yeejoin.amos.api.tool.face.orm.entity.DataBaseNameList
;
import
com.yeejoin.amos.api.tool.utils.DataBaseUtils
;
import
org.apache.commons.beanutils.BeanUtils
;
import
com.yeejoin.amos.api.tool.utils.DatabaseUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
...
@@ -17,9 +15,9 @@ import java.sql.*;
import
java.util.*
;
@Service
public
class
Data
B
aseNameListService
extends
BaseService
<
DataBaseNameListModel
,
DataBaseNameList
,
DataBaseNameListMapper
>
{
public
class
Data
b
aseNameListService
extends
BaseService
<
DataBaseNameListModel
,
DataBaseNameList
,
DataBaseNameListMapper
>
{
@Autowired
private
Data
BaseLinkService
dataBaseLink
Service
;
private
Data
baseConnectionService
databaseConnection
Service
;
@Autowired
private
DataBaseNameListMapper
dataBaseNameListMapper
;
...
...
@@ -27,23 +25,23 @@ public class DataBaseNameListService extends BaseService<DataBaseNameListModel,
/**
* 分页查询
*/
public
Page
<
DataBaseNameListModel
>
queryForDataBasePage
(
Page
<
DataBaseNameListModel
>
page
,
Long
parentId
,
int
current
,
int
size
)
throws
ClassNotFoundException
,
SQLException
{
public
Page
<
DataBaseNameListModel
>
queryForDataBasePage
(
Page
<
DataBaseNameListModel
>
page
,
Long
parentId
,
int
current
,
int
size
)
throws
ClassNotFoundException
,
SQLException
{
Class
.
forName
(
"com.mysql.cj.jdbc.Driver"
);
Data
BaseLinkModel
dataBaseLinkModel
=
dataBaseLink
Service
.
queryBySeq
(
parentId
);
String
ip
=
dataBaseLink
Model
.
getIp
();
String
port
=
dataBaseLink
Model
.
getPort
();
String
url
=
"jdbc:mysql://"
+
ip
+
":"
+
port
+
" "
;
Data
baseConnectionModel
dataBaseConnectionModel
=
databaseConnection
Service
.
queryBySeq
(
parentId
);
String
ip
=
dataBaseConnection
Model
.
getIp
();
String
port
=
dataBaseConnection
Model
.
getPort
();
String
url
=
"jdbc:mysql://"
+
ip
+
":"
+
port
+
" "
;
String
user
=
"root"
;
String
passWord
=
"Yeejoin@2020"
;
String
sql
=
"show databases"
;
Connection
connection
=
DriverManager
.
getConnection
(
url
,
user
,
passWord
);
String
sql
=
"show databases"
;
Connection
connection
=
DriverManager
.
getConnection
(
url
,
user
,
passWord
);
Statement
statement
=
connection
.
createStatement
();
ResultSet
rs
=
statement
.
executeQuery
(
sql
);
List
<
DataBaseNameListModel
>
list
=
new
ArrayList
<>();
long
result
=
1
;
List
<
DataBaseNameListModel
>
list
=
new
ArrayList
<>();
long
result
=
1
;
try
{
while
(
rs
.
next
())
{
DataBaseNameListModel
listModel
=
new
DataBaseNameListModel
();
while
(
rs
.
next
())
{
DataBaseNameListModel
listModel
=
new
DataBaseNameListModel
();
listModel
.
setDbName
(
rs
.
getString
(
"Database"
));
listModel
.
setParentId
(
parentId
);
listModel
.
setSequenceNbr
(
result
);
...
...
@@ -74,8 +72,8 @@ public class DataBaseNameListService extends BaseService<DataBaseNameListModel,
page
.
setSize
(
size
);
page
.
setCurrent
(
current
);
page
.
setTotal
(
count
);
//
计算分页总页数
page
.
setPages
(
count
%
10
==
0
?
count
/
10
:
count
/
10
+
1
);
//
计算分页总页数
page
.
setPages
(
count
%
10
==
0
?
count
/
10
:
count
/
10
+
1
);
int
startIndex
=
(
current
-
1
)
*
size
;
page
.
setRecords
(
list
.
subList
(
startIndex
,
Math
.
min
(
startIndex
+
size
,
list
.
size
())));
return
page
;
...
...
@@ -84,21 +82,19 @@ public class DataBaseNameListService extends BaseService<DataBaseNameListModel,
/**
* 初始化数据库名表
*/
public
List
<
String
>
refreshData
B
ase
(
Long
ipSeq
)
throws
Exception
{
Data
BaseLinkModel
dataBaseLinkModel
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
//清空表单
public
List
<
String
>
refreshData
b
ase
(
Long
ipSeq
)
throws
Exception
{
Data
baseConnectionModel
databaseConnectionModel
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
//
清空表单
this
.
remove
(
new
QueryWrapper
<
DataBaseNameList
>().
eq
(
"PARENT_ID"
,
ipSeq
));
//连接数据库
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
dataBaseLink
Model
);
//
连接数据库
Connection
connection
=
DatabaseUtils
.
getConnection
(
databaseConnection
Model
);
if
(
connection
==
null
)
return
null
;
List
<
String
>
strings
=
new
ArrayList
<>();
Collection
<
DataBaseNameList
>
dataBaseNameLists
=
new
ArrayList
<>();
for
(
String
name
:
dataBaseLinkService
.
getDataBaseName
(
connection
))
{
if
(
name
==
null
)
break
;
DataBaseNameListModel
model
=
new
DataBaseNameListModel
(
name
,
ipSeq
);
strings
.
add
(
name
);
for
(
String
dbName
:
DatabaseUtils
.
getDatabaseNames
(
connection
))
{
DataBaseNameListModel
model
=
new
DataBaseNameListModel
(
dbName
,
ipSeq
);
strings
.
add
(
dbName
);
dataBaseNameLists
.
add
(
this
.
prepareEntity
(
model
));
}
this
.
saveBatch
(
dataBaseNameLists
);
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/RelationService.java
View file @
0ac3360d
package
com
.
yeejoin
.
amos
.
api
.
tool
.
face
.
service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.api.tool.enums.SourceEnum
;
import
com.yeejoin.amos.api.tool.face.model.DataBaseLinkModel
;
import
com.yeejoin.amos.api.tool.face.model.DatabaseConnectionModel
;
import
com.yeejoin.amos.api.tool.face.model.DataBaseNameListModel
;
import
com.yeejoin.amos.api.tool.face.model.RelationModel
;
import
com.yeejoin.amos.api.tool.face.model.RelationTreeModel
;
import
com.yeejoin.amos.api.tool.face.orm.dao.RelationMapper
;
import
com.yeejoin.amos.api.tool.face.orm.entity.Relation
;
import
com.yeejoin.amos.api.tool.face.orm.entity.TableColumn
;
import
com.yeejoin.amos.api.tool.utils.Data
B
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.Data
b
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.DateUtils
;
import
org.apache.commons.beanutils.ConvertUtils
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
...
...
@@ -33,7 +32,7 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
yeejoin
.
amos
.
api
.
tool
.
utils
.
Data
B
aseUtils
.*;
import
static
com
.
yeejoin
.
amos
.
api
.
tool
.
utils
.
Data
b
aseUtils
.*;
@Service
public
class
RelationService
extends
BaseService
<
RelationModel
,
Relation
,
RelationMapper
>
{
...
...
@@ -42,11 +41,11 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
@Autowired
private
RelationMapper
relationMapper
;
@Autowired
private
Data
BaseLinkService
dataBaseLink
Service
;
private
Data
baseConnectionService
databaseConnection
Service
;
@Autowired
JdbcTemplate
jdbcTemplate
;
@Autowired
private
Data
B
aseNameListService
dataBaseNameListService
;
private
Data
b
aseNameListService
dataBaseNameListService
;
@Autowired
public
EmqKeeper
emqKeeper
;
/**
...
...
@@ -55,9 +54,9 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
public
void
deleteAgency
(
String
agencyCode
,
String
sequenceNbrs
)
throws
Exception
{
for
(
Long
seq
:
(
Long
[])
ConvertUtils
.
convert
(
StringUtil
.
string2Array
(
sequenceNbrs
),
Long
.
class
))
{
DataBaseNameListModel
nameListModel
=
dataBaseNameListService
.
queryBySeq
(
seq
);
Data
BaseLinkModel
model
=
dataBaseLink
Service
.
queryBySeq
(
nameListModel
.
getParentId
());
Data
baseConnectionModel
model
=
databaseConnection
Service
.
queryBySeq
(
nameListModel
.
getParentId
());
model
.
setDbName
(
nameListModel
.
getDbName
());
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
model
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
model
);
this
.
deleteDataBase
(
connection
,
agencyCode
,
model
.
getDbName
());
}
...
...
@@ -69,8 +68,8 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
public
void
outputAgency
(
String
agencyCode
,
Long
ipSeq
,
String
dbName
,
HttpServletResponse
response
)
throws
Exception
{
// for (Long seq : (Long[]) ConvertUtils.convert(StringUtil.string2Array(sequenceNbrs), Long.class)) {
// DataBaseNameListModel nameListModel = dataBaseNameListService.queryBySeq(seq);
Data
BaseLinkModel
model
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
model
);
Data
baseConnectionModel
model
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
model
);
model
.
setDbName
(
dbName
);
this
.
insertData
(
connection
,
agencyCode
,
model
.
getDbName
(),
ipSeq
,
response
);
// }
...
...
@@ -232,13 +231,13 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
//根据列表获取sql语句
for
(
RelationTreeModel
model
:
array
)
{
List
<
RelationTreeModel
>
tableSet
=
tableRelation
(
model
,
array
);
List
<
TableColumn
>
columns
=
Data
B
aseUtils
.
getTableColumn
(
model
.
getName
(),
connection
);
List
<
TableColumn
>
columns
=
Data
b
aseUtils
.
getTableColumn
(
model
.
getName
(),
connection
);
String
selectSQL
=
this
.
getSelectSQL
(
tableSet
,
model
.
getName
(),
columns
,
agencyCode
).
toString
();
print
(
seq
.
toString
(),
"开始查询"
+
model
.
getName
()+
"表"
,
"running"
);
List
<
Map
<
String
,
Object
>>
dataList
=
Data
B
aseUtils
.
getMaps
(
selectSQL
,
connection
);
List
<
Map
<
String
,
Object
>>
dataList
=
Data
b
aseUtils
.
getMaps
(
selectSQL
,
connection
);
print
(
seq
.
toString
(),
"开始创建"
+
model
.
getName
()+
"表insert语句"
,
"running"
);
System
.
out
.
println
(
selectSQL
);
StringBuffer
insertSQL
=
Data
B
aseUtils
.
getInsertSQL
(
dataList
,
columns
,
model
.
getName
());
StringBuffer
insertSQL
=
Data
b
aseUtils
.
getInsertSQL
(
dataList
,
columns
,
model
.
getName
());
System
.
out
.
println
(
insertSQL
);
if
(!
ObjectUtils
.
isEmpty
(
insertSQL
))
insertSql
.
append
(
insertSQL
);
}
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/StudioResourceService.java
View file @
0ac3360d
...
...
@@ -4,13 +4,13 @@ import com.alibaba.fastjson.JSONArray;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.api.tool.enums.PictureType
;
import
com.yeejoin.amos.api.tool.enums.SourceEnum
;
import
com.yeejoin.amos.api.tool.face.model.Data
BaseLink
Model
;
import
com.yeejoin.amos.api.tool.face.model.Data
baseConnection
Model
;
import
com.yeejoin.amos.api.tool.face.model.ProjectModel
;
import
com.yeejoin.amos.api.tool.face.orm.entity.StudioResource
;
import
com.yeejoin.amos.api.tool.face.model.StudioResourceModel
;
import
com.yeejoin.amos.api.tool.face.orm.dao.StudioResourceMapper
;
import
com.yeejoin.amos.api.tool.face.orm.entity.TableColumn
;
import
com.yeejoin.amos.api.tool.utils.Data
B
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.Data
b
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.DateUtils
;
import
com.yeejoin.amos.api.tool.utils.SqlHelper
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
...
...
@@ -77,7 +77,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
DataSource
datasource
;
@Autowired
private
Data
BaseLinkService
dataBaseLink
Service
;
private
Data
baseConnectionService
databaseConnection
Service
;
@Autowired
private
SqlHelper
sqlHelper
;
...
...
@@ -179,12 +179,12 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
public
void
generateSQLByDatabaseName
(
String
resourceCode
,
String
dimension
,
String
dbSeqs
,
Long
ipSeq
,
Map
<
String
,
Object
>
variables
,
HttpServletResponse
response
)
{
try
{
Data
BaseLinkModel
dataBaseLinkModel
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
Data
baseConnectionModel
dataBaseConnectionModel
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
//根据连接查询到数据库表名
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
dataBaseLink
Model
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
dataBaseConnection
Model
);
// 查询所有数据库
List
<
String
>
allDbs
=
Data
B
aseUtils
.
getList
(
"show databases;"
,
connection
);
List
<
String
>
allDbs
=
Data
b
aseUtils
.
getList
(
"show databases;"
,
connection
);
List
<
String
>
databaseNames
=
new
ArrayList
<>();
String
[]
queryDbSeqs
=
dbSeqs
.
split
(
","
);
// 序号从1开始
...
...
@@ -194,7 +194,7 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
}
// 查询到需要导出多个,在databaseNames中,循环,多次下载
for
(
String
databaseName
:
databaseNames
)
{
List
<
String
>
list
=
Data
B
aseUtils
.
getList
(
"select table_name from information_schema.tables where table_schema='"
+
""
+
databaseName
+
"';"
,
connection
);
List
<
String
>
list
=
Data
b
aseUtils
.
getList
(
"select table_name from information_schema.tables where table_schema='"
+
""
+
databaseName
+
"';"
,
connection
);
List
<
StudioResourceModel
>
resourceList
=
queryForStudioResourceList
(
resourceCode
);
File
directory
=
new
File
(
""
);
// 参数为空
String
coursePath
=
directory
.
getCanonicalPath
();
...
...
@@ -299,21 +299,21 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
String
json
=
format
(
resource
.
getResourceInsertSql
(),
variables
);
JSONObject
dimensionData
=
JSONObject
.
parseObject
(
json
);
JSONObject
selectAllSql
=
dimensionData
.
getJSONObject
(
dimension
);
Data
BaseLinkModel
dataBaseLinkModel
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
Data
baseConnectionModel
dataBaseConnectionModel
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
for
(
String
tableName
:
selectAllSql
.
keySet
())
{
String
selectsql
=
format
(
selectAllSql
.
getString
(
tableName
),
variables
);
if
(
dimension
.
equals
(
"appSeq"
))
{
dataBase
LinkModel
.
setDbName
(
dataBaseLink
Model
.
getDbName
().
replace
(
"project"
,
"studio"
));
dataBase
ConnectionModel
.
setDbName
(
dataBaseConnection
Model
.
getDbName
().
replace
(
"project"
,
"studio"
));
}
else
if
(
dimension
.
equals
(
"projectSeq"
))
{
dataBase
LinkModel
.
setDbName
(
dataBaseLink
Model
.
getDbName
().
replace
(
"project"
,
"idx"
));
dataBase
ConnectionModel
.
setDbName
(
dataBaseConnection
Model
.
getDbName
().
replace
(
"project"
,
"idx"
));
}
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
dataBaseLink
Model
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
dataBaseConnection
Model
);
if
(
ObjectUtils
.
isEmpty
(
selectAllSql
.
keySet
()))
{
return
""
;
}
List
<
TableColumn
>
columns
=
Data
B
aseUtils
.
getTableColumn
(
tableName
,
connection
);
List
<
Map
<
String
,
Object
>>
dataList
=
Data
B
aseUtils
.
getMaps
(
selectsql
,
connection
);
sbsql
.
append
(
Data
B
aseUtils
.
getInsertSQL
(
dataList
,
columns
,
tableName
));
List
<
TableColumn
>
columns
=
Data
b
aseUtils
.
getTableColumn
(
tableName
,
connection
);
List
<
Map
<
String
,
Object
>>
dataList
=
Data
b
aseUtils
.
getMaps
(
selectsql
,
connection
);
sbsql
.
append
(
Data
b
aseUtils
.
getInsertSQL
(
dataList
,
columns
,
tableName
));
connection
.
close
();
}
return
sbsql
.
toString
();
...
...
@@ -321,16 +321,16 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
private
String
buildInsertSqlByDatabaseName
(
StudioResourceModel
resource
,
String
dimension
,
String
databaseName
,
List
<
String
>
list
,
Long
ipSeq
,
Map
<
String
,
Object
>
variables
)
throws
SQLException
{
StringBuffer
sbsql
=
new
StringBuffer
();
Data
BaseLinkModel
dataBaseLinkModel
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
dataBase
Link
Model
.
setDbName
(
databaseName
);
Data
baseConnectionModel
dataBaseConnectionModel
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
dataBase
Connection
Model
.
setDbName
(
databaseName
);
for
(
String
tableName
:
list
)
{
String
selectsql
=
format
(
"SELECT * from `"
+
tableName
+
"` WHERE AGENCY_CODE = '${agencyCode}';"
,
variables
);
if
(
dimension
.
equals
(
"appSeq"
))
{
dataBase
LinkModel
.
setDbName
(
dataBaseLink
Model
.
getDbName
().
replace
(
"project"
,
"studio"
));
dataBase
ConnectionModel
.
setDbName
(
dataBaseConnection
Model
.
getDbName
().
replace
(
"project"
,
"studio"
));
}
else
if
(
dimension
.
equals
(
"projectSeq"
))
{
dataBase
LinkModel
.
setDbName
(
dataBaseLink
Model
.
getDbName
().
replace
(
"project"
,
"idx"
));
dataBase
ConnectionModel
.
setDbName
(
dataBaseConnection
Model
.
getDbName
().
replace
(
"project"
,
"idx"
));
}
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
dataBaseLink
Model
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
dataBaseConnection
Model
);
Statement
statement
=
connection
.
createStatement
();
ResultSet
rs
=
statement
.
executeQuery
(
"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS "
+
...
...
@@ -338,9 +338,9 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
if
(!
rs
.
next
())
{
continue
;
}
List
<
TableColumn
>
columns
=
Data
B
aseUtils
.
getTableColumn
(
tableName
,
connection
);
List
<
Map
<
String
,
Object
>>
dataList
=
Data
B
aseUtils
.
getMaps
(
selectsql
,
connection
);
sbsql
.
append
(
Data
B
aseUtils
.
getInsertSQL
(
dataList
,
columns
,
tableName
));
List
<
TableColumn
>
columns
=
Data
b
aseUtils
.
getTableColumn
(
tableName
,
connection
);
List
<
Map
<
String
,
Object
>>
dataList
=
Data
b
aseUtils
.
getMaps
(
selectsql
,
connection
);
sbsql
.
append
(
Data
b
aseUtils
.
getInsertSQL
(
dataList
,
columns
,
tableName
));
rs
.
close
();
statement
.
close
();
connection
.
close
();
...
...
@@ -373,9 +373,9 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
* 获取项目列表
*/
public
List
<
ProjectModel
>
getProjectList
(
Long
ipSeq
,
String
agencyCode
)
throws
SQLException
{
Data
BaseLinkModel
model
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
Data
baseConnectionModel
model
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
model
.
setDbName
(
"amos_studio"
);
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
model
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
model
);
Statement
sql
=
connection
.
createStatement
();
String
sqlStr
=
"select SEQUENCE_NBR,PROJECT_NAME,AGENCY_CODE from "
+
model
.
getPrefix
()
+
"amos_studio"
+
model
.
getSuffix
()
+
".studio_project "
+
"where AGENCY_CODE = "
+
"'"
+
agencyCode
+
"'"
;
...
...
@@ -405,9 +405,9 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
public
List
<
ProjectModel
>
getAppList
(
Long
ipSeq
,
Long
projectNbr
)
throws
SQLException
{
Data
BaseLinkModel
model
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
Data
baseConnectionModel
model
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
model
.
setDbName
(
"amos_studio"
);
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
model
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
model
);
Statement
sql
=
connection
.
createStatement
();
String
sqlStr
=
"select SEQUENCE_NBR,APP_NAME,DESIGNER_TYPE from "
+
model
.
getPrefix
()
+
"amos_studio"
+
model
.
getSuffix
()
+
".studio_application "
+
"where PROJECT_SEQ = "
+
"'"
+
projectNbr
+
"'"
;
...
...
@@ -436,9 +436,9 @@ public class StudioResourceService extends BaseService<StudioResourceModel, Stud
}
public
List
<
ProjectModel
>
getIdx
(
Long
ipSeq
,
String
agencyCode
)
throws
SQLException
{
Data
BaseLinkModel
model
=
dataBaseLink
Service
.
queryBySeq
(
ipSeq
);
Data
baseConnectionModel
model
=
databaseConnection
Service
.
queryBySeq
(
ipSeq
);
model
.
setDbName
(
"amos_idx"
);
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
model
);
Connection
connection
=
DatabaseUtils
.
getConnection
(
model
);
Statement
sql
=
connection
.
createStatement
();
String
sqlStr
=
"select id,agencyCode,name,type from amos_idx.idx_explorer "
+
"where agencyCode = '"
+
agencyCode
+
"' and type = 'project'"
;
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/ToolLibraryService.java
View file @
0ac3360d
...
...
@@ -7,10 +7,9 @@ import com.yeejoin.amos.api.tool.face.model.ToolLibraryTreeModel;
import
com.yeejoin.amos.api.tool.face.orm.dao.ToolLibraryMapper
;
import
com.yeejoin.amos.api.tool.face.orm.entity.TableColumn
;
import
com.yeejoin.amos.api.tool.face.orm.entity.ToolLibrary
;
import
com.yeejoin.amos.api.tool.utils.Data
B
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.Data
b
aseUtils
;
import
com.yeejoin.amos.api.tool.utils.SqlExportUtils
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
...
@@ -37,12 +36,15 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
* 由一级到二级
*/
public
List
<
ToolLibraryTreeModel
>
queryForComponentList
(
String
designer
)
throws
ClassNotFoundException
,
SQLException
{
// DatabaseConnectionModel databaseConnectionModel = new DatabaseConnectionModel();
// DatabaseUtils.getConnection(databaseConnectionModel)
Class
.
forName
(
className
);
Connection
connection
=
DriverManager
.
getConnection
(
url
,
userName
,
passWord
);
List
<
Map
<
String
,
Object
>>
displayMaps
=
Data
B
aseUtils
.
getMaps
List
<
Map
<
String
,
Object
>>
displayMaps
=
Data
b
aseUtils
.
getMaps
(
"select display_name, DESIGNER_TYPE,SEQUENCE_NBR,parent from morphic_widget_group where DESIGNER_TYPE "
+
"= '"
+
designer
+
"' and is_delete!=1;"
,
connection
);
connection
.
close
();
List
<
ToolLibraryTreeModel
>
displayLists
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
displayMaps
)
{
ToolLibraryTreeModel
model
=
new
ToolLibraryTreeModel
();
...
...
@@ -85,7 +87,7 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
Class
.
forName
(
className
);
Connection
connection
=
DriverManager
.
getConnection
(
url
,
userName
,
passWord
);
// 先查当前节点的parent,看是不是0,从而判断在叶子节点还是父节点
List
<
Map
<
String
,
Object
>>
clickedNodeMaps
=
Data
B
aseUtils
.
getMaps
(
List
<
Map
<
String
,
Object
>>
clickedNodeMaps
=
Data
b
aseUtils
.
getMaps
(
"select SEQUENCE_NBR, parent, DESIGNER_TYPE, display_name "
+
"from morphic_widget_group "
+
"where is_delete != 1 and SEQUENCE_NBR = "
+
sequenceNbr
,
connection
);
...
...
@@ -94,20 +96,20 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
if
(
parent
.
equals
(
"0"
))
{
// 父节点
// 查询所有表中parent==sequenceNbr的行数据
List
<
Map
<
String
,
Object
>>
displayMaps
=
Data
B
aseUtils
.
getMaps
(
List
<
Map
<
String
,
Object
>>
displayMaps
=
Data
b
aseUtils
.
getMaps
(
"select SEQUENCE_NBR, parent, DESIGNER_TYPE, display_name "
+
"from morphic_widget_group "
+
"where is_delete != 1 and parent = "
+
sequenceNbr
,
connection
);
for
(
Map
<
String
,
Object
>
map:
displayMaps
)
{
String
seqNbr
=
map
.
get
(
"SEQUENCE_NBR"
).
toString
();
displayTools
.
addAll
(
Data
B
aseUtils
.
getMaps
(
"select SEQUENCE_NBR, category, component_key, name, thumb "
+
displayTools
.
addAll
(
Data
b
aseUtils
.
getMaps
(
"select SEQUENCE_NBR, category, component_key, name, thumb "
+
"from morphic_widget where is_delete != 1 and group_id = "
+
seqNbr
,
connection
));
}
}
else
{
// 叶子节点
// 查询morphic_widget表中,group_id为sequenceNbr的所有工具数据
displayTools
.
addAll
(
Data
B
aseUtils
.
getMaps
(
displayTools
.
addAll
(
Data
b
aseUtils
.
getMaps
(
"select SEQUENCE_NBR, category, component_key, name, thumb "
+
"from morphic_widget "
+
"where is_delete != 1 and group_id = "
+
sequenceNbr
,
connection
));
...
...
@@ -145,12 +147,12 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
try
{
Class
.
forName
(
className
);
Connection
connection
=
DriverManager
.
getConnection
(
url
,
userName
,
passWord
);
List
<
Map
<
String
,
Object
>>
resultMaps
=
Data
B
aseUtils
.
getMaps
(
"select * from "
+
List
<
Map
<
String
,
Object
>>
resultMaps
=
Data
b
aseUtils
.
getMaps
(
"select * from "
+
" (select SEQUENCE_NBR from morphic_widget_group "
+
" where DESIGNER_TYPE='"
+
id
+
"' and is_delete!=1) as t\n"
+
" inner join morphic_widget mw on mw.group_id=t.SEQUENCE_NBR"
,
connection
);
List
<
TableColumn
>
tableColumn
=
Data
B
aseUtils
.
getTableColumn
(
"morphic_widget"
,
connection
);
StringBuffer
insertSql
=
Data
B
aseUtils
.
getInsertSQL
(
resultMaps
,
tableColumn
,
"morphic_widget"
);
List
<
TableColumn
>
tableColumn
=
Data
b
aseUtils
.
getTableColumn
(
"morphic_widget"
,
connection
);
StringBuffer
insertSql
=
Data
b
aseUtils
.
getInsertSQL
(
resultMaps
,
tableColumn
,
"morphic_widget"
);
connection
.
close
();
exportDownload
(
id
,
insertSql
,
httpServletResponse
);
}
catch
(
Exception
e
)
{
...
...
@@ -166,7 +168,7 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
Class
.
forName
(
className
);
Connection
connection
=
DriverManager
.
getConnection
(
url
,
userName
,
passWord
);
// 先查当前节点的parent,看是不是0,从而判断在叶子节点还是父节点
List
<
Map
<
String
,
Object
>>
clickedNodeMaps
=
Data
B
aseUtils
.
getMaps
(
List
<
Map
<
String
,
Object
>>
clickedNodeMaps
=
Data
b
aseUtils
.
getMaps
(
"select SEQUENCE_NBR, parent, DESIGNER_TYPE, display_name "
+
"from morphic_widget_group "
+
"where is_delete != 1 and SEQUENCE_NBR = "
+
sequenceNbr
,
connection
);
...
...
@@ -185,9 +187,9 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
sql
=
"SELECT * FROM morphic_widget\n"
+
"WHERE is_delete!=1 AND group_id = "
+
sequenceNbr
+
";"
;
}
List
<
Map
<
String
,
Object
>>
resultMaps
=
Data
B
aseUtils
.
getMaps
(
sql
,
connection
);
List
<
TableColumn
>
tableColumn
=
Data
B
aseUtils
.
getTableColumn
(
"morphic_widget"
,
connection
);
StringBuffer
insertSql
=
Data
B
aseUtils
.
getInsertSQL
(
resultMaps
,
tableColumn
,
"morphic_widget"
);
List
<
Map
<
String
,
Object
>>
resultMaps
=
Data
b
aseUtils
.
getMaps
(
sql
,
connection
);
List
<
TableColumn
>
tableColumn
=
Data
b
aseUtils
.
getTableColumn
(
"morphic_widget"
,
connection
);
StringBuffer
insertSql
=
Data
b
aseUtils
.
getInsertSQL
(
resultMaps
,
tableColumn
,
"morphic_widget"
);
connection
.
close
();
// 下载.sql文件
...
...
@@ -212,9 +214,9 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
"FROM morphic_widget\n"
+
"WHERE is_delete!=1 AND SEQUENCE_NBR IN ("
+
sequenceNbres
+
");"
;
Connection
connection
=
DriverManager
.
getConnection
(
url
,
userName
,
passWord
);
List
<
Map
<
String
,
Object
>>
resultMaps
=
Data
B
aseUtils
.
getMaps
(
sql
,
connection
);
List
<
TableColumn
>
tableColumn
=
Data
B
aseUtils
.
getTableColumn
(
"morphic_widget"
,
connection
);
StringBuffer
insertSql
=
Data
B
aseUtils
.
getInsertSQL
(
resultMaps
,
tableColumn
,
"morphic_widget"
);
List
<
Map
<
String
,
Object
>>
resultMaps
=
Data
b
aseUtils
.
getMaps
(
sql
,
connection
);
List
<
TableColumn
>
tableColumn
=
Data
b
aseUtils
.
getTableColumn
(
"morphic_widget"
,
connection
);
StringBuffer
insertSql
=
Data
b
aseUtils
.
getInsertSQL
(
resultMaps
,
tableColumn
,
"morphic_widget"
);
connection
.
close
();
exportDownload
(
"tool"
,
insertSql
,
httpServletResponse
);
}
catch
(
Exception
e
)
{
...
...
src/main/java/com/yeejoin/amos/api/tool/utils/AESUtils.java
View file @
0ac3360d
package
com
.
yeejoin
.
amos
.
api
.
tool
.
utils
;
import
com.yeejoin.amos.api.tool.face.model.DatabaseConnectionModel
;
import
javax.crypto.Cipher
;
import
javax.crypto.spec.SecretKeySpec
;
import
java.util.Base64
;
...
...
@@ -13,6 +15,21 @@ public class AESUtils {
private
static
final
String
ALGORITHM
=
"AES"
;
private
static
final
String
SECRET_KEY
=
"aes-key-lima1995"
;
// 密钥
/**
* 加密model里的密码,并返回model
*/
public
static
DatabaseConnectionModel
encryptPwd
(
DatabaseConnectionModel
model
)
throws
Exception
{
model
.
setPassWord
(
encrypt
(
model
.
getPassWord
()));
return
model
;
}
public
static
DatabaseConnectionModel
decryptPwd
(
DatabaseConnectionModel
model
)
throws
Exception
{
model
.
setPassWord
(
decrypt
(
model
.
getPassWord
()));
return
model
;
}
/**
* 加密
*/
...
...
src/main/java/com/yeejoin/amos/api/tool/utils/Data
B
aseUtils.java
→
src/main/java/com/yeejoin/amos/api/tool/utils/Data
b
aseUtils.java
View file @
0ac3360d
...
...
@@ -2,6 +2,7 @@ package com.yeejoin.amos.api.tool.utils;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.model.DatabaseConnectionModel
;
import
com.yeejoin.amos.api.tool.face.orm.entity.TableColumn
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -9,7 +10,7 @@ import java.sql.*;
import
java.util.*
;
@Component
public
class
Data
B
aseUtils
{
public
class
Data
b
aseUtils
{
/**
...
...
@@ -40,6 +41,60 @@ public class DataBaseUtils {
/**
* 连接数据库
* @param model DataBaseLinkModel
* @return 数据库连接
*/
public
static
Connection
getConnection
(
DatabaseConnectionModel
model
)
{
try
{
// 加载数据库驱动
Class
.
forName
(
"com.mysql.cj.jdbc.Driver"
);
if
(
model
.
getPrefix
()
==
null
||
model
.
getPrefix
().
isEmpty
()
||
model
.
getPrefix
().
equals
(
"null"
))
{
model
.
setPrefix
(
""
);
}
if
(
model
.
getSuffix
()
==
null
||
model
.
getSuffix
().
isEmpty
()
||
model
.
getSuffix
().
equals
(
"null"
))
{
model
.
setSuffix
(
""
);
}
// 连接新增的数据库
// String dbUrl = "jdbc:mysql://" + model.getIp() + ":" + model.getPort() + "/" +
// model.getPrefix() + model.getDbName() + model.getSuffix();
String
dbUrl
=
"jdbc:mysql://"
+
model
.
getIp
()
+
":"
+
model
.
getPort
()
+
"/"
+
model
.
getDbName
();
// 解密pwd,并连接
return
DriverManager
.
getConnection
(
dbUrl
,
model
.
getUserName
(),
AESUtils
.
decrypt
(
model
.
getPassWord
()));
}
catch
(
ClassNotFoundException
e
)
{
// 处理数据库驱动加载异常
e
.
printStackTrace
();
}
catch
(
SQLException
e
)
{
// 处理数据库连接异常
e
.
printStackTrace
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* 测试数据库连接是否成功
*/
public
static
boolean
isConnectionValid
(
DatabaseConnectionModel
model
)
throws
Exception
{
Connection
connection
=
DatabaseUtils
.
getConnection
(
model
);
if
(
connection
!=
null
)
{
connection
.
close
();
return
true
;
}
return
false
;
}
/**
* 获取所有数据库名称,如果为空,则返回空的List<String>
*/
public
static
List
<
String
>
getDatabaseNames
(
Connection
connection
)
throws
SQLException
{
return
new
ArrayList
<>(
DatabaseUtils
.
getList
(
"SHOW DATABASES;"
,
connection
));
}
/**
* 获取maps
*/
public
static
List
<
Map
<
String
,
Object
>>
getMaps
(
String
sql
,
Connection
connection
)
throws
SQLException
{
...
...
@@ -120,7 +175,7 @@ public class DataBaseUtils {
"\t\t\tAND table_name = \""
+
tableName
+
"\"\n"
+
"\t\tORDER BY\n"
+
"\t\t\tordinal_position\t"
;
List
<
Map
<
String
,
Object
>>
columnList
=
Data
B
aseUtils
.
getMaps
(
columnSql
,
connection
);
List
<
Map
<
String
,
Object
>>
columnList
=
Data
b
aseUtils
.
getMaps
(
columnSql
,
connection
);
List
<
TableColumn
>
columns
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
columnList
)
{
TableColumn
column
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
TableColumn
.
class
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment