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
d9c610c8
Commit
d9c610c8
authored
Dec 08, 2023
by
Gwofoo
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop' into develop
# Conflicts: # src/main/java/com/yeejoin/amos/api/tool/face/service/ToolLibraryService.java
parents
a27153b7
2af8967f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
408 additions
and
87 deletions
+408
-87
pom.xml
pom.xml
+1
-1
Application.java
src/main/java/com/yeejoin/amos/Application.java
+2
-0
DataBaseNameListResource.java
...in/amos/api/tool/controller/DataBaseNameListResource.java
+4
-4
RelationResource.java
...om/yeejoin/amos/api/tool/controller/RelationResource.java
+72
-8
PictureType.java
...ain/java/com/yeejoin/amos/api/tool/enums/PictureType.java
+41
-0
ProjectModel.java
...va/com/yeejoin/amos/api/tool/face/model/ProjectModel.java
+3
-0
DataBaseNameListMapper.java
...in/amos/api/tool/face/orm/dao/DataBaseNameListMapper.java
+5
-0
StudioResourceMapper.java
...join/amos/api/tool/face/orm/dao/StudioResourceMapper.java
+4
-3
DataBaseLinkService.java
...ejoin/amos/api/tool/face/service/DataBaseLinkService.java
+15
-10
DataBaseNameListService.java
...n/amos/api/tool/face/service/DataBaseNameListService.java
+59
-6
RelationService.java
...m/yeejoin/amos/api/tool/face/service/RelationService.java
+11
-9
StudioResourceService.java
...oin/amos/api/tool/face/service/StudioResourceService.java
+111
-8
TemplateCategoryService.java
...n/amos/api/tool/face/service/TemplateCategoryService.java
+1
-0
ToolLibraryService.java
...eejoin/amos/api/tool/face/service/ToolLibraryService.java
+31
-16
DataBaseUtils.java
...n/java/com/yeejoin/amos/api/tool/utils/DataBaseUtils.java
+42
-17
application-dev.properties
src/main/resources/application-dev.properties
+1
-1
application-qa.properties
src/main/resources/application-qa.properties
+5
-4
No files found.
pom.xml
View file @
d9c610c8
...
...
@@ -10,7 +10,7 @@
<description>
amos-api-tool
</description>
<properties>
<java.version>
1
.8
</java.version>
<java.version>
1
1
</java.version>
<tyboot-version>
1.1.24-SNAPSHOT
</tyboot-version>
<springboot.version>
2.3.11.RELEASE
</springboot.version>
<springcloud.version>
Hoxton.SR8
</springcloud.version>
...
...
src/main/java/com/yeejoin/amos/Application.java
View file @
d9c610c8
...
...
@@ -39,3 +39,5 @@ public class Application {
+
path
+
"/doc.html\n"
+
"----------------------------------------------------------"
);
}
}
src/main/java/com/yeejoin/amos/api/tool/controller/DataBaseNameListResource.java
View file @
d9c610c8
...
...
@@ -12,6 +12,7 @@ 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.List
;
@RestController
...
...
@@ -49,10 +50,9 @@ public class DataBaseNameListResource {
public
ResponseModel
<
Page
<
DataBaseNameListModel
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestParam
Long
ipSeq
)
{
@RequestParam
Long
ipSeq
)
throws
SQLException
,
ClassNotFoundException
{
Page
<
DataBaseNameListModel
>
page
=
new
Page
<>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
dataBaseNameListService
.
queryForDataBasePage
(
page
,
ipSeq
));
return
ResponseHelper
.
buildResponse
(
dataBaseNameListService
.
queryForDataBasePage
(
page
,
ipSeq
,
current
,
size
));
}
}
src/main/java/com/yeejoin/amos/api/tool/controller/RelationResource.java
View file @
d9c610c8
...
...
@@ -2,8 +2,11 @@ package com.yeejoin.amos.api.tool.controller;
import
com.yeejoin.amos.api.tool.face.service.DataBaseLinkService
;
import
com.yeejoin.amos.api.tool.face.service.RelationService
;
import
com.yeejoin.amos.api.tool.face.service.StudioResourceService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang.StringUtils
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
...
...
@@ -11,7 +14,11 @@ 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
javax.servlet.http.HttpServletResponse
;
import
java.util.Enumeration
;
import
java.util.HashMap
;
import
java.util.Map
;
@CrossOrigin
...
...
@@ -23,11 +30,13 @@ public class RelationResource {
private
RelationService
relationService
;
@Autowired
DataBaseLinkService
dataBaseLinkService
;
@Autowired
private
StudioResourceService
studioResourceService
;
/**
* 根据机构ID和数据库sequenceNbr批量删除数据库
*
* @param agencyCode 机构ID
* @param agencyCode
机构ID
* @param sequenceNbrs 多个主键
* @return String
*/
...
...
@@ -46,15 +55,69 @@ public class RelationResource {
*
* @return String
*/
// @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
// @GetMapping(value = "/export/{agencyCode}/{sequenceNbrs}")
// @ApiOperation(httpMethod = "GET", value = "导出", notes = "导出")
//// public ResponseModel<String> generateSQL(
//// @RequestParam(value = "databaseName",required = false) String databaseName,
// public void generateSQL(
// @PathVariable String agencyCode,
// @PathVariable String sequenceNbrs,
// HttpServletResponse response,
// HttpServletRequest request) throws Exception {
// Map<String, Object> variables = new HashMap<>();
// variables.put("agencyCode", agencyCode);
// String referer = request.getHeader("Referer");
// int start = referer.indexOf("ipSeq=")+6;
// int end = referer.indexOf("&agencyCode=");
// String ipSeq = referer.substring(start,end);
// Long longIpSql = Long.parseLong(ipSeq);
// studioResourceService.generateSQL("Agency","agencyCode", longIpSql, variables, response);
// studioResourceService.generateSQLByDatabaseName("Agency","agencyCode",databaseName, longIpSql, variables, response);
//// return ResponseHelper.buildResponse("yes");
// }
/**
* 导出SQL脚本
*
* @return String
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/export/{agencyCode}/{
sequenceNbrs
}"
)
@GetMapping
(
value
=
"/export/{agencyCode}/{
ipSeq}/{dbName
}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"导出"
,
notes
=
"导出"
)
public
ResponseModel
<
String
>
generateSQL
(
// public ResponseModel<String> generateSQL(
// @RequestParam(value = "databaseName",required = false) String databaseName,
public
void
generateSQL
(
@PathVariable
String
agencyCode
,
@PathVariable
String
sequenceNbrs
,
HttpServletResponse
response
)
throws
Exception
{
relationService
.
outputAgency
(
agencyCode
,
sequenceNbrs
,
response
);
return
ResponseHelper
.
buildResponse
(
"yes"
);
@PathVariable
Long
ipSeq
,
@PathVariable
String
dbName
,
HttpServletResponse
response
,
HttpServletRequest
request
)
throws
Exception
{
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
variables
.
put
(
"agencyCode"
,
agencyCode
);
// String referer = request.getHeader("Referer");
// int start = referer.indexOf("ipSeq=")+6;
// int end = referer.indexOf("&agencyCode=");
// String ipSeq = referer.substring(start,end);
// studioResourceService.generateSQL("Agency","agencyCode", ipSeq, variables, response);
studioResourceService
.
generateSQLByDatabaseName
(
"Agency"
,
"agencyCode"
,
dbName
,
ipSeq
,
variables
,
response
);
// return ResponseHelper.buildResponse("yes");
}
// @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
// @GetMapping(value = "/export/{agencyCode}/{ipSeq}/{dbName}")
// @ApiOperation(httpMethod = "GET", value = "导出", notes = "导出")
// public ResponseModel<String> generateSQL(
// @PathVariable String agencyCode,
// @PathVariable Long ipSeq,
// @PathVariable String dbName,
// HttpServletResponse response) throws Exception {
// relationService.outputAgency(agencyCode, ipSeq,dbName,response);
// return ResponseHelper.buildResponse("yes");
// }
}
\ No newline at end of file
src/main/java/com/yeejoin/amos/api/tool/enums/PictureType.java
0 → 100644
View file @
d9c610c8
package
com
.
yeejoin
.
amos
.
api
.
tool
.
enums
;
public
enum
PictureType
{
//应用
VIZMIX
(
"vizmix"
,
"/public/studio/graph/applist/mix-thumb.png"
),
//三维
VIZ3D
(
"viz3d"
,
"/public/studio/graph/applist/3d-thumb.png"
),
//分析
VIZDAFUN
(
"vizdafun"
,
"/public/studio/graph/applist/dafun-thumb.png"
),
//表单
VIZFORM
(
"vizform"
,
"/public/studio/graph/applist/form-thumb.png"
),
//组态
VIZMORPHIC
(
"vizmorphic"
,
"/public/studio/graph/applist/2d-thumb.png"
);
///public/webico/resources/缩略图-人员.png
private
String
designer_type
;
private
String
picturePath
;
PictureType
(
String
designer_type
,
String
picturePath
)
{
this
.
designer_type
=
designer_type
;
this
.
picturePath
=
picturePath
;
}
public
String
getDesigner_type
()
{
return
designer_type
;
}
public
String
getPicturePath
()
{
return
picturePath
;
}
public
static
String
returnPath
(
String
designer_type
){
for
(
PictureType
pictureType
:
PictureType
.
values
())
{
if
(
pictureType
.
getDesigner_type
().
equals
(
designer_type
))
{
return
pictureType
.
getPicturePath
();
}
}
return
null
;
}
}
src/main/java/com/yeejoin/amos/api/tool/face/model/ProjectModel.java
View file @
d9c610c8
...
...
@@ -17,4 +17,7 @@ public class ProjectModel {
@ApiModelProperty
(
value
=
"机构编码"
)
private
String
agencyCode
;
@ApiModelProperty
(
value
=
"图片路径"
)
private
String
designerThumb
;
}
src/main/java/com/yeejoin/amos/api/tool/face/orm/dao/DataBaseNameListMapper.java
View file @
d9c610c8
...
...
@@ -5,7 +5,12 @@ import com.yeejoin.amos.api.tool.face.orm.entity.DataBaseNameList;
import
org.mapstruct.Mapper
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Mapper
@Repository
public
interface
DataBaseNameListMapper
extends
BaseMapper
<
DataBaseNameList
>
{
}
src/main/java/com/yeejoin/amos/api/tool/face/orm/dao/StudioResourceMapper.java
View file @
d9c610c8
...
...
@@ -3,7 +3,9 @@ package com.yeejoin.amos.api.tool.face.orm.dao;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.api.tool.face.orm.entity.StudioResource
;
import
com.yeejoin.amos.api.tool.face.orm.entity.TableColumn
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
...
...
@@ -15,8 +17,8 @@ import java.util.List;
* @author 子杨
* @since 2022-08-16
*/
public
interface
StudioResourceMapper
extends
BaseMapper
<
StudioResource
>
{
public
interface
StudioResourceMapper
extends
BaseMapper
<
StudioResource
>
{
List
<
TableColumn
>
queryForListByTableName
(
@Param
(
"tableName"
)
String
tableName
);
}
\ No newline at end of file
}
src/main/java/com/yeejoin/amos/api/tool/face/service/DataBaseLinkService.java
View file @
d9c610c8
...
...
@@ -2,8 +2,7 @@ package com.yeejoin.amos.api.tool.face.service;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
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.*
;
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
;
...
...
@@ -15,12 +14,8 @@ import org.springframework.stereotype.Service;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.sql.DataSource
;
import
java.io.IOException
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.sql.*
;
import
java.util.ArrayList
;
...
...
@@ -40,6 +35,7 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
@Autowired
private
DataSource
dataSource
;
/**
* 新增
*/
...
...
@@ -55,8 +51,9 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
/**
* 编辑
*/
public
DataBaseLinkModel
update
(
DataBaseLinkModel
dataBaseLinkModel
)
throws
Exception
{
DataBaseLinkModel
model
=
this
.
decryptPwd
(
dataBaseLinkModel
);
public
DataBaseLinkModel
update
(
DataBaseLinkModel
model
)
throws
Exception
{
// DataBaseLinkModel model = this.decryptPwd(dataBaseLinkModel);
if
(
this
.
testConnection
(
model
))
{
return
this
.
updateWithModel
(
encryptPwd
(
model
));
}
else
{
...
...
@@ -120,6 +117,7 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
return
records
;
}
/**
* 列表查询
*/
...
...
@@ -148,9 +146,16 @@ public class DataBaseLinkService extends BaseService<DataBaseLinkModel, DataBase
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.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
)
{
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/DataBaseNameListService.java
View file @
d9c610c8
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.DataBaseLinkModel
;
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
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.sql.Connection
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.List
;
import
java.sql.*
;
import
java.util.*
;
@Service
public
class
DataBaseNameListService
extends
BaseService
<
DataBaseNameListModel
,
DataBaseNameList
,
DataBaseNameListMapper
>
{
@Autowired
private
DataBaseLinkService
dataBaseLinkService
;
@Autowired
private
DataBaseNameListMapper
dataBaseNameListMapper
;
/**
* 分页查询
*/
public
Page
<
DataBaseNameListModel
>
queryForDataBasePage
(
Page
<
DataBaseNameListModel
>
page
,
Long
parentId
)
{
return
this
.
queryForPage
(
page
,
null
,
false
,
parentId
);
public
Page
<
DataBaseNameListModel
>
queryForDataBasePage
(
Page
<
DataBaseNameListModel
>
page
,
Long
parentId
,
int
current
,
int
size
)
throws
ClassNotFoundException
,
SQLException
{
Class
.
forName
(
"com.mysql.cj.jdbc.Driver"
);
DataBaseLinkModel
dataBaseLinkModel
=
dataBaseLinkService
.
queryBySeq
(
parentId
);
String
ip
=
dataBaseLinkModel
.
getIp
();
String
port
=
dataBaseLinkModel
.
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
);
Statement
statement
=
connection
.
createStatement
();
ResultSet
rs
=
statement
.
executeQuery
(
sql
);
List
<
DataBaseNameListModel
>
list
=
new
ArrayList
<>();
long
result
=
1
;
try
{
while
(
rs
.
next
()){
DataBaseNameListModel
listModel
=
new
DataBaseNameListModel
();
listModel
.
setDbName
(
rs
.
getString
(
"Database"
));
listModel
.
setParentId
(
parentId
);
listModel
.
setSequenceNbr
(
result
);
list
.
add
(
listModel
);
result
++;
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
if
(
rs
!=
null
)
rs
.
close
();
rs
=
null
;
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
connection
.
close
();
// List<DataBaseNameList> dataBaseNameLists = dataBaseNameListMapper.queryList();
// for (DataBaseNameList dataBaseNameList:dataBaseNameLists){
// for (DataBaseNameListModel dataBaseNameListModel:list){
// if (dataBaseNameList.getDbName().equals(dataBaseNameListModel.getDbName())){
// dataBaseLinkModel.setSequenceNbr(dataBaseNameList.getSequenceNbr());
// }
// }
// }
int
count
=
list
.
size
();
page
.
setSize
(
size
);
page
.
setCurrent
(
current
);
page
.
setTotal
(
count
);
//计算分页总页数
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
;
}
/**
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/RelationService.java
View file @
d9c610c8
...
...
@@ -66,14 +66,14 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
/**
* 导出机构
*/
public
void
outputAgency
(
String
agencyCode
,
String
sequenceNbrs
,
HttpServletResponse
response
)
throws
Exception
{
for
(
Long
seq
:
(
Long
[])
ConvertUtils
.
convert
(
StringUtil
.
string2Array
(
sequenceNbrs
),
Long
.
class
))
{
DataBaseNameListModel
nameListModel
=
dataBaseNameListService
.
queryBySeq
(
seq
);
DataBaseLinkModel
model
=
dataBaseLinkService
.
queryBySeq
(
nameListModel
.
getParentId
());
model
.
setDbName
(
nameListModel
.
getDbName
());
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);
DataBaseLinkModel
model
=
dataBaseLinkService
.
queryBySeq
(
ipSeq
);
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
model
);
this
.
insertData
(
connection
,
agencyCode
,
model
.
getDbName
(),
seq
,
response
);
}
model
.
setDbName
(
dbName
);
this
.
insertData
(
connection
,
agencyCode
,
model
.
getDbName
(),
ipSeq
,
response
);
// }
}
/**
...
...
@@ -119,8 +119,8 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
* 获取关系表转化为map
*/
public
List
<
HashMap
<
String
,
String
>>
queryRelation
(
String
dbName
)
throws
SQLException
{
StringBuilder
sql
=
new
StringBuilder
(
"SELECT
* FROM
"
);
sql
.
append
(
dbName
).
append
(
"_relation;"
);
StringBuilder
sql
=
new
StringBuilder
(
"SELECT
RESOURCE_INSERT_SQL FROM studio_resource where RESOURCE_CODE = 'Agency'
"
);
// sql.append(dbName).append("_relation;");RESOURCE_PARAMS,
return
relationMapper
.
getPublicItems
(
sql
.
toString
());
}
...
...
@@ -130,6 +130,8 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
public
List
<
RelationTreeModel
>
createTree
(
List
<
RelationTreeModel
>
relationTreeModels
,
String
parentName
)
{
List
<
RelationTreeModel
>
tree
=
new
ArrayList
<>();
for
(
RelationTreeModel
relationTreeModel
:
relationTreeModels
)
{
if
(
relationTreeModel
==
null
)
continue
;
if
(
parentName
.
equals
(
relationTreeModel
.
getParentName
()))
{
relationTreeModel
.
setChildren
(
createTree
(
relationTreeModels
,
relationTreeModel
.
getName
()));
tree
.
add
(
relationTreeModel
);
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/StudioResourceService.java
View file @
d9c610c8
This diff is collapsed.
Click to expand it.
src/main/java/com/yeejoin/amos/api/tool/face/service/TemplateCategoryService.java
View file @
d9c610c8
...
...
@@ -62,6 +62,7 @@ public class TemplateCategoryService extends BaseService<TemplateCategoryModel,
return
getChildren
(
nodes
,
""
,
0L
);
}
/**
* 获得模板分类子节点(递归)
*/
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/ToolLibraryService.java
View file @
d9c610c8
...
...
@@ -2,6 +2,7 @@ package com.yeejoin.amos.api.tool.face.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.model.ToolLibraryDetailModel
;
import
com.yeejoin.amos.api.tool.face.model.TemplateCategoryTreeModel
;
import
com.yeejoin.amos.api.tool.face.model.ToolLibraryModel
;
import
com.yeejoin.amos.api.tool.face.model.ToolLibraryTreeModel
;
import
com.yeejoin.amos.api.tool.face.orm.dao.ToolLibraryMapper
;
...
...
@@ -49,7 +50,7 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
model
.
setParentId
(
Long
.
valueOf
(
map
.
get
(
"parent"
).
toString
()));
displayLists
.
add
(
model
);
}
return
getChildren
(
displayLists
,
""
,
0L
);
return
getChildren
(
displayLists
);
}
public
Page
<
ToolLibraryDetailModel
>
queryForComponentListDetails
(
Page
<
ToolLibraryDetailModel
>
page
,
String
sequenceNbr
)
...
...
@@ -109,25 +110,39 @@ public class ToolLibraryService extends BaseService<ToolLibraryModel, ToolLibrar
return
page
;
}
/**
* 获得模板分类子节点(递归)
*/
public
List
<
ToolLibraryTreeModel
>
getChildren
(
List
<
ToolLibraryTreeModel
>
nodes
,
String
parent
,
Long
id
)
{
List
<
ToolLibraryTreeModel
>
treeModels
=
new
ArrayList
<>();
for
(
ToolLibraryTreeModel
node
:
nodes
)
{
if
(
node
.
getParentId
().
equals
(
0L
)
&&
parent
.
equals
(
""
))
{
node
.
setChildren
(
getChildren
(
nodes
,
node
.
getDesignerType
(),
node
.
getId
()));
treeModels
.
add
(
node
);
}
else
{
if
(
parent
.
equals
(
node
.
getDesignerType
())
&&
!
node
.
getParentId
().
equals
(
0L
))
{
node
.
setParentId
(
id
);
treeModels
.
add
(
node
);
public
List
<
ToolLibraryTreeModel
>
getChildren
(
List
<
ToolLibraryTreeModel
>
nodes
)
{
List
<
ToolLibraryTreeModel
>
resultList
=
new
ArrayList
<>();
for
(
ToolLibraryTreeModel
model1
:
nodes
)
{
for
(
ToolLibraryTreeModel
model2
:
nodes
)
{
if
(
model2
.
getParentId
().
equals
(
model1
.
getId
())){
resultList
.
add
(
model2
);
}
}
model1
.
setChildren
(
resultList
);
resultList
=
new
ArrayList
<>();
}
return
treeModels
;
nodes
.
removeIf
(
model
->
model
.
getChildren
()
==
null
||
model
.
getChildren
().
size
()
==
0
);
return
nodes
;
}
// /**
// * 获得模板分类子节点(递归)
// */
// public List<ToolLibraryTreeModel> getChildren(List<ToolLibraryTreeModel> nodes, String parent, Long id) {
// List<ToolLibraryTreeModel> treeModels = new ArrayList<>();
// for (ToolLibraryTreeModel node : nodes) {
// if (node.getParentId() == 0L && parent.equals("")) {
// node.setChildren(getChildren(nodes, node.getDesignerType(), node.getId()));
// treeModels.add(node);
// } else {
// if (parent.equals(node.getDesignerType()) && node.getParentId() != 0L) {
// node.setParentId(id);
// treeModels.add(node);
// }
// }
// }
// return treeModels;
// }
}
src/main/java/com/yeejoin/amos/api/tool/utils/DataBaseUtils.java
View file @
d9c610c8
package
com
.
yeejoin
.
amos
.
api
.
tool
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.api.tool.face.orm.entity.TableColumn
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.sql.DataSource
;
import
java.net.Inet4Address
;
import
java.net.InetAddress
;
import
java.net.NetworkInterface
;
import
java.net.SocketException
;
import
java.sql.*
;
import
java.util.*
;
...
...
@@ -57,9 +44,10 @@ public class DataBaseUtils {
*/
public
static
List
<
Map
<
String
,
Object
>>
getMaps
(
String
sql
,
Connection
connection
)
throws
SQLException
{
Statement
statement
=
connection
.
createStatement
();
ResultSet
rs
=
statement
.
executeQuery
(
sql
)
;
ResultSet
rs
=
null
;
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<
Map
<
String
,
Object
>>();
try
{
rs
=
statement
.
executeQuery
(
sql
);
ResultSetMetaData
md
=
rs
.
getMetaData
();
int
columnCount
=
md
.
getColumnCount
();
while
(
rs
.
next
())
{
...
...
@@ -70,6 +58,34 @@ public class DataBaseUtils {
list
.
add
(
rowData
);
}
}
catch
(
SQLException
e
)
{
// e.printStackTrace();
return
list
;
}
finally
{
try
{
if
(
rs
!=
null
)
rs
.
close
();
rs
=
null
;
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
return
list
;
}
public
static
List
<
String
>
getList
(
String
sql
,
Connection
connection
)
throws
SQLException
{
Statement
statement
=
connection
.
createStatement
();
ResultSet
rs
=
statement
.
executeQuery
(
sql
);
List
<
String
>
list
=
new
ArrayList
<
String
>();
try
{
ResultSetMetaData
md
=
rs
.
getMetaData
();
int
columnCount
=
md
.
getColumnCount
();
while
(
rs
.
next
())
{
for
(
int
i
=
1
;
i
<=
columnCount
;
i
++)
{
list
.
add
(
rs
.
getObject
(
i
).
toString
());
}
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
...
...
@@ -145,7 +161,18 @@ public class DataBaseUtils {
}
}
else
{
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
column
.
getColumnName
())))
{
sql
.
append
(
"'"
).
append
(
map
.
get
(
column
.
getColumnName
())).
append
(
"'"
);
if
(
column
.
getColumnName
().
equals
(
"UIOBJECT"
)
||
column
.
getColumnName
().
equals
(
"CONTENT"
)){
int
start
=
sql
.
length
()+
2
;
sql
.
append
(
"'"
).
append
(
JSON
.
toJSONString
(
map
.
get
(
column
.
getColumnName
())).
replaceAll
(
"'"
,
"\\\\'"
)).
append
(
"'"
);
int
end
=
sql
.
length
()-
2
;
sql
.
delete
(
start
-
1
,
start
);
sql
.
delete
(
end
-
1
,
end
);
}
else
if
(
column
.
getColumnName
().
equals
(
"PUBLISH_CODE"
)){
sql
.
append
(
"'"
).
append
((
map
.
get
(
column
.
getColumnName
())).
toString
().
replaceAll
(
"'"
,
"\\\\'"
)).
append
(
"'"
);
}
else
{
sql
.
append
(
"'"
).
append
(
map
.
get
(
column
.
getColumnName
())).
append
(
"'"
);
}
}
else
{
sql
.
append
(
"null"
);
}
...
...
@@ -179,6 +206,4 @@ public class DataBaseUtils {
page
.
setRecords
(
pageList
);
return
page
;
}
}
src/main/resources/application-dev.properties
View file @
d9c610c8
#DB properties:
# jdbc_config
spring.datasource.url
=
jdbc:mysql://39.98.45.134:3306/amos_tool_library_test
?allowMultiQueries=true
spring.datasource.url
=
jdbc:mysql://172.16.3.18:3306/amos_tool_library
?allowMultiQueries=true
spring.datasource.username
=
root
spring.datasource.password
=
Yeejoin@2020
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
...
...
src/main/resources/application-qa.properties
View file @
d9c610c8
#DB properties:
# jdbc_config
spring.datasource.url
=
jdbc:mysql://39.98.45.134:3306/amos_tool_library?allowMultiQueries=true
spring.datasource.url
=
jdbc:mysql://172.16.3.18:3306/amos_tool_library?allowMultiQueries=true
#spring.datasource.url=jdbc:mysql://172.16.3.19:3306/amos_tool_library?allowMultiQueries=true
spring.datasource.username
=
root
spring.datasource.password
=
Yeejoin@2020
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
...
...
@@ -15,7 +16,7 @@ spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query
=
SELECT 1
#eureka
eureka.instance.hostname
=
39.98.45.134
eureka.instance.hostname
=
172.16.3.18
eureka.client.serviceUrl.defaultZone
=
http://${eureka.instance.hostname}:10001/eureka/
eureka.instance.prefer-ip-address
=
true
eureka.instance.health-check-url
=
http://localhost:${server.port}${server.servlet.context-path}/actuator/health
...
...
@@ -25,7 +26,7 @@ eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}
#redis
spring.redis.database
=
1
spring.redis.host
=
39.98.45.134
spring.redis.host
=
172.16.3.18
spring.redis.port
=
6379
spring.redis.password
=
yeejoin@2020
spring.redis.timeout
=
0
...
...
@@ -33,7 +34,7 @@ spring.redis.timeout=0
## emqx
emqx.clean-session
=
true
emqx.client-id
=
${spring.application.name}-${random.int[1024,65536]}
emqx.broker
=
tcp://
39.98.45.134
:2883
emqx.broker
=
tcp://
172.16.3.18
:2883
emqx.client-user-name
=
super
emqx.client-password
=
a123456
emqx.max-inflight
=
1000
...
...
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