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
张帅
amos-tool
Commits
3fd0a4ff
Commit
3fd0a4ff
authored
Jul 04, 2023
by
陈祥烨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除机构优化
parent
6fff422f
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
117 additions
and
36 deletions
+117
-36
AgencyTreeResource.java
.../yeejoin/amos/api/tool/controller/AgencyTreeResource.java
+1
-1
RelationResource.java
...om/yeejoin/amos/api/tool/controller/RelationResource.java
+20
-9
AgencyTreeModel.java
...com/yeejoin/amos/api/tool/face/model/AgencyTreeModel.java
+2
-3
RelationModel.java
...a/com/yeejoin/amos/api/tool/face/model/RelationModel.java
+0
-1
RelationTreeModel.java
...m/yeejoin/amos/api/tool/face/model/RelationTreeModel.java
+37
-0
RelationMapper.java
...om/yeejoin/amos/api/tool/face/orm/dao/RelationMapper.java
+0
-1
RelationService.java
...m/yeejoin/amos/api/tool/face/service/RelationService.java
+56
-20
application-dev.properties
src/main/resources/application-dev.properties
+1
-1
No files found.
src/main/java/com/yeejoin/amos/api/tool/controller/AgencyTreeResource.java
View file @
3fd0a4ff
...
@@ -20,7 +20,7 @@ import java.util.List;
...
@@ -20,7 +20,7 @@ import java.util.List;
*/
*/
@RestController
@RestController
@Api
(
tags
=
"机构树"
)
@Api
(
tags
=
"机构树"
)
@RequestMapping
(
value
=
"/
demo/
privilege_agency"
)
@RequestMapping
(
value
=
"/privilege_agency"
)
public
class
AgencyTreeResource
{
public
class
AgencyTreeResource
{
@Autowired
@Autowired
...
...
src/main/java/com/yeejoin/amos/api/tool/controller/RelationResource.java
View file @
3fd0a4ff
package
com
.
yeejoin
.
amos
.
api
.
tool
.
controller
;
package
com
.
yeejoin
.
amos
.
api
.
tool
.
controller
;
import
com.yeejoin.amos.api.tool.face.model.RelationTreeModel
;
import
com.yeejoin.amos.api.tool.face.service.AgencyTreeService
;
import
com.yeejoin.amos.api.tool.face.service.AgencyTreeService
;
import
com.yeejoin.amos.api.tool.face.service.ConnectService
;
import
com.yeejoin.amos.api.tool.face.service.ConnectService
;
import
com.yeejoin.amos.api.tool.face.service.DataBaseService
;
import
com.yeejoin.amos.api.tool.face.service.DataBaseService
;
...
@@ -11,10 +12,13 @@ import org.springframework.web.bind.annotation.*;
...
@@ -11,10 +12,13 @@ import org.springframework.web.bind.annotation.*;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.foundation.utils.StringUtil
;
import
org.typroject.tyboot.core.foundation.utils.StringUtil
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
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.Connection
;
import
java.sql.Connection
;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
@CrossOrigin
@CrossOrigin
@RestController
@RestController
...
@@ -31,16 +35,23 @@ public class RelationResource {
...
@@ -31,16 +35,23 @@ public class RelationResource {
AgencyTreeService
agencyTreeService
;
AgencyTreeService
agencyTreeService
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@
GetMapping
(
value
=
"/test
"
)
@
DeleteMapping
(
value
=
"/relation/{agencyCodeId}/{sequenceNbrs}
"
)
@ApiOperation
(
httpMethod
=
"
GET"
,
value
=
"sql"
,
notes
=
"sql
"
)
@ApiOperation
(
httpMethod
=
"
DELETE"
,
value
=
"机构删除"
,
notes
=
"机构删除
"
)
public
void
joinSQL
(
@RequestParam
(
value
=
"agencyCodeId"
)
Long
agencyCodeId
,
@RequestParam
(
value
=
"sequenceNbrs"
)
String
sequenceNbrs
)
throws
SQLException
,
ClassNotFound
Exception
{
public
ResponseModel
<
String
>
joinSQL
(
@PathVariable
Long
agencyCodeId
,
@PathVariable
String
sequenceNbrs
)
throws
ClassNotFoundException
,
SQL
Exception
{
Long
[]
seqs
=
dataBaseService
.
stringToLong
(
sequenceNbrs
);
Long
[]
seqs
=
dataBaseService
.
stringToLong
(
sequenceNbrs
);
for
(
Long
seq
:
seqs
)
{
for
(
Long
seq
:
seqs
)
{
Connection
connection
=
connectService
.
connectNewDatabase
(
dataBaseService
.
queryBySeq
(
seq
));
Connection
connection
=
connectService
.
connectNewDatabase
(
dataBaseService
.
queryBySeq
(
seq
));
System
.
out
.
println
(
connection
);
relationService
.
deleteDataBaseByAgencyCode
(
connection
,
agencyTreeService
.
queryForAgencyCodeById
(
agencyCodeId
)
);
relationService
.
deleteDataBaseByAgencyCode
(
connection
,
agencyTreeService
.
queryForAgencyCodeById
(
agencyCodeId
));
}
}
return
ResponseHelper
.
buildResponse
(
"The data has been deleted !"
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/relation/test"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"sql"
,
notes
=
"sql"
)
public
ResponseModel
<
List
<
List
<
RelationTreeModel
>>>
test
()
throws
SQLException
,
ClassNotFoundException
{
Long
[]
seqs
=
dataBaseService
.
stringToLong
(
"1675757337942056962"
);
Connection
connection
=
connectService
.
connectNewDatabase
(
dataBaseService
.
queryBySeq
(
seqs
[
0
]));
return
ResponseHelper
.
buildResponse
(
relationService
.
createRelationTree
(
connection
));
}
}
}
}
src/main/java/com/yeejoin/amos/api/tool/face/model/AgencyTreeModel.java
View file @
3fd0a4ff
...
@@ -3,18 +3,17 @@ package com.yeejoin.amos.api.tool.face.model;
...
@@ -3,18 +3,17 @@ package com.yeejoin.amos.api.tool.face.model;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.typroject.tyboot.core.rdbms.model.BaseModel
;
import
org.typroject.tyboot.core.rdbms.model.BaseModel
;
/**
/**
* @author r
* @author r
*/
*/
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"DataBaseModel"
,
description
=
""
)
@ApiModel
(
value
=
"DataBaseModel"
,
description
=
""
)
public
class
AgencyTreeModel
extends
BaseModel
{
public
class
AgencyTreeModel
extends
BaseModel
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"机构名称"
)
@ApiModelProperty
(
value
=
"机构名称"
)
private
String
agencyName
;
private
String
agencyName
;
...
...
src/main/java/com/yeejoin/amos/api/tool/face/model/RelationModel.java
View file @
3fd0a4ff
...
@@ -22,5 +22,4 @@ public class RelationModel extends BaseModel {
...
@@ -22,5 +22,4 @@ public class RelationModel extends BaseModel {
@ApiModelProperty
(
value
=
"表2字段"
)
@ApiModelProperty
(
value
=
"表2字段"
)
private
String
field2
;
private
String
field2
;
}
}
src/main/java/com/yeejoin/amos/api/tool/face/model/RelationTreeModel.java
0 → 100644
View file @
3fd0a4ff
package
com
.
yeejoin
.
amos
.
api
.
tool
.
face
.
model
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@NoArgsConstructor
@ApiModel
(
value
=
"RelationTreeModel"
,
description
=
""
)
public
class
RelationTreeModel
{
@ApiModelProperty
(
value
=
"表名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"表字段"
)
private
String
frontField
;
@ApiModelProperty
(
value
=
"前表关联字段"
)
private
String
postField
;
@ApiModelProperty
(
value
=
"父表名"
)
private
String
parentName
;
@ApiModelProperty
(
value
=
"子节点"
)
private
List
<
RelationTreeModel
>
children
;
public
RelationTreeModel
(
String
name
,
String
frontField
,
String
postField
,
String
parentName
,
List
<
RelationTreeModel
>
children
)
{
this
.
name
=
name
;
this
.
frontField
=
frontField
;
this
.
postField
=
postField
;
this
.
parentName
=
parentName
;
this
.
children
=
children
;
}
}
src/main/java/com/yeejoin/amos/api/tool/face/orm/dao/RelationMapper.java
View file @
3fd0a4ff
...
@@ -2,7 +2,6 @@ package com.yeejoin.amos.api.tool.face.orm.dao;
...
@@ -2,7 +2,6 @@ package com.yeejoin.amos.api.tool.face.orm.dao;
import
com.baomidou.mybatisplus.annotation.SqlParser
;
import
com.baomidou.mybatisplus.annotation.SqlParser
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.api.tool.face.model.RelationModel
;
import
com.yeejoin.amos.api.tool.face.orm.entity.Relation
;
import
com.yeejoin.amos.api.tool.face.orm.entity.Relation
;
import
com.yeejoin.amos.api.tool.face.service.RelationService
;
import
com.yeejoin.amos.api.tool.face.service.RelationService
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/RelationService.java
View file @
3fd0a4ff
package
com
.
yeejoin
.
amos
.
api
.
tool
.
face
.
service
;
package
com
.
yeejoin
.
amos
.
api
.
tool
.
face
.
service
;
import
com.yeejoin.amos.api.tool.face.model.RelationModel
;
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.dao.RelationMapper
;
import
com.yeejoin.amos.api.tool.face.orm.entity.Relation
;
import
com.yeejoin.amos.api.tool.face.orm.entity.Relation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -20,19 +21,12 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
...
@@ -20,19 +21,12 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
@Autowired
@Autowired
ConnectService
connectService
;
ConnectService
connectService
;
/**
* 读取Relation表
*/
// public List<RelationModel> queryRelation() {
// return this.queryForList(null, false);
// }
/**
/**
* 根据Relation删除数据库
* 根据Relation删除数据库
*/
*/
public
String
deleteDataBaseByAgencyCode
(
Connection
connection
,
String
agencyCode
)
throws
SQLException
{
public
String
deleteDataBaseByAgencyCode
(
Connection
connection
,
String
agencyCode
)
throws
SQLException
{
List
<
HashMap
<
String
,
String
>>
maps
=
this
.
queryRelation
(
connection
);
List
<
HashMap
<
String
,
String
>>
maps
=
this
.
queryRelation
(
connection
);
List
<
String
>
rs
=
new
ArrayList
<>();
try
{
try
{
// 加载数据库驱动
// 加载数据库驱动
Class
.
forName
(
"com.mysql.cj.jdbc.Driver"
);
Class
.
forName
(
"com.mysql.cj.jdbc.Driver"
);
...
@@ -42,8 +36,9 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
...
@@ -42,8 +36,9 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
StringBuilder
sql
=
new
StringBuilder
(
"DELETE "
).
append
(
maps
.
get
(
0
).
get
(
"TABLE1"
));
StringBuilder
sql
=
new
StringBuilder
(
"DELETE "
).
append
(
maps
.
get
(
0
).
get
(
"TABLE1"
));
for
(
int
i
=
0
;
i
<
maps
.
size
();
i
++){
for
(
HashMap
<
String
,
String
>
map
:
maps
)
{
sql
.
append
(
", "
).
append
(
maps
.
get
(
i
).
get
(
"TABLE2"
));
if
(
map
.
get
(
"TABLE1"
)
!=
null
)
sql
.
append
(
", "
).
append
(
map
.
get
(
"TABLE2"
));
}
}
sql
.
append
(
" FROM "
).
append
(
maps
.
get
(
0
).
get
(
"TABLE1"
));
sql
.
append
(
" FROM "
).
append
(
maps
.
get
(
0
).
get
(
"TABLE1"
));
try
{
try
{
...
@@ -53,37 +48,34 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
...
@@ -53,37 +48,34 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
else
{
else
{
StringBuilder
extraSql
=
new
StringBuilder
(
"DELETE FROM "
);
StringBuilder
extraSql
=
new
StringBuilder
(
"DELETE FROM "
);
extraSql
.
append
(
map
.
get
(
"TABLE2"
)).
append
(
" WHERE AGENCY_CODE = '"
).
append
(
agencyCode
).
append
(
"' ;"
);
extraSql
.
append
(
map
.
get
(
"TABLE2"
)).
append
(
" WHERE AGENCY_CODE = '"
).
append
(
agencyCode
).
append
(
"' ;"
);
// statementSql(extraSql, connection, rs);
System
.
out
.
println
(
extraSql
);
System
.
out
.
println
(
extraSql
);
System
.
out
.
println
(
statementSql
(
extraSql
,
connection
));
}
}
}
}
sql
.
append
(
" WHERE "
).
append
(
maps
.
get
(
0
).
get
(
"TABLE1"
)).
append
(
".AGENCY_CODE = '"
).
append
(
agencyCode
).
append
(
"' ;"
);
sql
.
append
(
" WHERE "
).
append
(
maps
.
get
(
0
).
get
(
"TABLE1"
)).
append
(
".AGENCY_CODE = '"
).
append
(
agencyCode
).
append
(
"' ;"
);
// statementSql(sql, connection, rs
);
System
.
out
.
println
(
sql
.
toString
()
);
// System.out.println(rs
);
System
.
out
.
println
(
statementSql
(
sql
,
connection
)
);
connection
.
close
();
connection
.
close
();
}
catch
(
SQLException
e
)
{
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
System
.
out
.
println
(
sql
.
toString
());
return
null
;
return
null
;
}
}
/**
/**
* 执行sql
* 执行sql
*/
*/
public
void
statementSql
(
StringBuilder
sql
,
Connection
connection
,
List
<
String
>
rs
)
{
public
int
statementSql
(
StringBuilder
sql
,
Connection
connection
)
{
int
count
=
0
;
try
{
try
{
Statement
statement
=
connection
.
createStatement
();
Statement
statement
=
connection
.
createStatement
();
ResultSet
resultSet
=
statement
.
executeQuery
(
sql
.
toString
());
count
=
statement
.
executeUpdate
(
sql
.
toString
());
while
(
resultSet
.
next
()){
rs
.
add
(
resultSet
.
getString
(
"id"
));
}
resultSet
.
close
();
statement
.
close
();
statement
.
close
();
return
count
;
}
catch
(
SQLException
e
)
{
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
return
count
;
}
}
public
List
<
HashMap
<
String
,
String
>>
queryRelation
(
Connection
connection
)
throws
SQLException
{
public
List
<
HashMap
<
String
,
String
>>
queryRelation
(
Connection
connection
)
throws
SQLException
{
...
@@ -102,4 +94,48 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
...
@@ -102,4 +94,48 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
statement
.
close
();
statement
.
close
();
return
maps
;
return
maps
;
}
}
/**
* 递归建立树形结构 (算法)
* @param relationTreeModels
* @param parentName
* @return
*/
public
List
<
RelationTreeModel
>
createTree
(
List
<
RelationTreeModel
>
relationTreeModels
,
String
parentName
){
List
<
RelationTreeModel
>
tree
=
new
ArrayList
<>();
for
(
RelationTreeModel
relationTreeModel:
relationTreeModels
){
if
(
parentName
.
equals
(
relationTreeModel
.
getParentName
())){
relationTreeModel
.
setChildren
(
createTree
(
relationTreeModels
,
relationTreeModel
.
getName
()));
tree
.
add
(
relationTreeModel
);
}
}
return
tree
;
}
/**
* 执行sql
*/
public
List
<
RelationTreeModel
>
createNodes
(
List
<
HashMap
<
String
,
String
>>
maps
){
List
<
RelationTreeModel
>
relationTreeModels
=
new
ArrayList
<>();
for
(
HashMap
<
String
,
String
>
map:
maps
){
RelationTreeModel
model
=
new
RelationTreeModel
();
if
(
map
.
get
(
"TABLE1"
)
==
null
)
model
=
new
RelationTreeModel
(
map
.
get
(
"TABLE2"
),
map
.
get
(
""
),
map
.
get
(
"TABLE2_FIELD"
),
""
,
null
);
else
model
=
new
RelationTreeModel
(
map
.
get
(
"TABLE2"
),
map
.
get
(
"TABLE1_FIELD"
),
map
.
get
(
"TABLE2_FIELD"
),
map
.
get
(
"TABLE1"
),
null
);
relationTreeModels
.
add
(
model
);
}
return
relationTreeModels
;
}
public
List
<
List
<
RelationTreeModel
>>
createRelationTree
(
Connection
connection
)
throws
SQLException
{
List
<
HashMap
<
String
,
String
>>
maps
=
this
.
queryRelation
(
connection
);
List
<
List
<
RelationTreeModel
>>
trees
=
new
ArrayList
<>();
for
(
RelationTreeModel
root:
createNodes
(
maps
)){
if
(
root
.
getParentName
().
equals
(
""
)){
trees
.
add
(
createTree
(
createNodes
(
maps
),
""
));
}
}
System
.
out
.
println
(
trees
);
return
trees
;
}
}
}
src/main/resources/application-dev.properties
View file @
3fd0a4ff
#DB properties:
#DB properties:
# jdbc_config
# jdbc_config
spring.datasource.url
=
jdbc:mysql://39.98.45.134:3306/amos_
project_copy
?allowMultiQueries=true
spring.datasource.url
=
jdbc:mysql://39.98.45.134:3306/amos_
studio_delete
?allowMultiQueries=true
spring.datasource.username
=
root
spring.datasource.username
=
root
spring.datasource.password
=
Yeejoin@2020
spring.datasource.password
=
Yeejoin@2020
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
...
...
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