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
38494d06
Commit
38494d06
authored
Jul 19, 2023
by
chenzai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
insertSql导出
parent
c6cf897a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
63 additions
and
22 deletions
+63
-22
RelationResource.java
...om/yeejoin/amos/api/tool/controller/RelationResource.java
+5
-3
RelationTreeModel.java
...m/yeejoin/amos/api/tool/face/model/RelationTreeModel.java
+2
-2
RelationService.java
...m/yeejoin/amos/api/tool/face/service/RelationService.java
+54
-12
application-dev.properties
src/main/resources/application-dev.properties
+1
-1
application.properties
src/main/resources/application.properties
+1
-4
No files found.
src/main/java/com/yeejoin/amos/api/tool/controller/RelationResource.java
View file @
38494d06
...
...
@@ -13,6 +13,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
javax.servlet.http.HttpServletResponse
;
import
javax.xml.crypto.Data
;
import
java.sql.Connection
;
import
java.util.ArrayList
;
...
...
@@ -52,8 +53,8 @@ public class RelationResource {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/output/{agencyCodeId}/{sequenceNbrs}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"导出"
,
notes
=
"导出"
)
public
ResponseModel
<
String
>
genereteSQL
(
@PathVariable
Long
agencyCodeId
,
@PathVariable
String
sequenceNbrs
)
throws
Exception
{
relationService
.
outputAgency
(
agencyCodeId
,
sequenceNbrs
);
public
ResponseModel
<
String
>
genereteSQL
(
@PathVariable
Long
agencyCodeId
,
@PathVariable
String
sequenceNbrs
,
HttpServletResponse
response
)
throws
Exception
{
relationService
.
outputAgency
(
agencyCodeId
,
sequenceNbrs
,
response
);
return
ResponseHelper
.
buildResponse
(
"yes"
);
}
}
}
\ No newline at end of file
src/main/java/com/yeejoin/amos/api/tool/face/model/RelationTreeModel.java
View file @
38494d06
...
...
@@ -4,11 +4,11 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
sun.reflect.generics.tree.Tree
;
//
import sun.reflect.generics.tree.Tree;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.TreeMap
;
//
import java.util.TreeMap;
@Data
@NoArgsConstructor
...
...
src/main/java/com/yeejoin/amos/api/tool/face/service/RelationService.java
View file @
38494d06
package
com
.
yeejoin
.
amos
.
api
.
tool
.
face
.
service
;
import
com.alibaba.fastjson.JSON
;
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.RelationModel
;
import
com.yeejoin.amos.api.tool.face.model.RelationTreeModel
;
...
...
@@ -9,6 +10,7 @@ import com.yeejoin.amos.api.tool.face.orm.entity.Relation;
import
com.yeejoin.amos.api.tool.face.orm.entity.TableColumn
;
import
io.github.classgraph.json.JSONUtils
;
import
org.apache.commons.beanutils.ConvertUtils
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.jdbc.core.JdbcTemplate
;
...
...
@@ -21,6 +23,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.*
;
import
java.sql.*
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -205,8 +208,28 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
* @throws SQLException
*/
public
String
insertData
(
Connection
connection
,
String
agencyCode
,
String
dbName
)
throws
SQLException
{
public
String
insertData
(
Connection
connection
,
String
agencyCode
,
String
dbName
,
HttpServletResponse
response
)
throws
SQLException
{
try
{
//#############################
File
directory
=
new
File
(
""
);
// 参数为空
String
coursePath
=
directory
.
getCanonicalPath
();
File
parentFile
=
new
File
(
coursePath
).
getParentFile
();
String
backPath
=
parentFile
.
getCanonicalPath
()
+
BACKUP_PATH
;
File
sqlDirectory
=
new
File
(
backPath
);
if
(!
sqlDirectory
.
exists
())
{
sqlDirectory
.
mkdir
();
}
String
fileName
=
agencyCode
+
"."
+
SUFFIX
;
String
sqlFilePath
=
backPath
+
SLASH
+
fileName
;
File
file
=
new
File
(
sqlFilePath
);
FileOutputStream
out
;
OutputStreamWriter
writer
=
null
;
out
=
new
FileOutputStream
(
file
);
writer
=
new
OutputStreamWriter
(
out
,
"utf8"
);
StringBuffer
insertSql
=
new
StringBuffer
();
//##################################
if
(!
connection
.
isClosed
())
System
.
out
.
println
(
"Succeeded connecting to the Database!"
);
//通过连接获取relation表树形结构
...
...
@@ -282,10 +305,24 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
sbsql
.
append
(
BRANCH
).
append
(
BR
);
}
System
.
out
.
println
(
sbsql
);
if
(!
ObjectUtils
.
isEmpty
(
sql
))
insertSql
.
append
(
sql
);
}
}
if
(
insertSql
.
length
()
>
0
)
{
writer
.
write
(
BR
+
DELIMITER
+
BR
);
writer
.
write
(
"/**"
+
BR
+
"* 资源数据"
+
BR
+
"**/"
+
BR
);
writer
.
write
(
BR
+
DELIMITER
+
BR
);
writer
.
write
(
insertSql
.
toString
());
writer
.
write
(
BR
+
BR
+
DELIMITER
+
BR
);
}
download
(
response
,
fileName
,
sqlFilePath
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
connection
.
close
();
return
null
;
...
...
@@ -430,24 +467,29 @@ public class RelationService extends BaseService<RelationModel, Relation, Relati
return
list
;
}
public
void
outputAgency
(
Long
agencyCodeId
,
String
sequenceNbrs
)
throws
Exception
{
public
void
outputAgency
(
Long
agencyCodeId
,
String
sequenceNbrs
,
HttpServletResponse
response
)
throws
Exception
{
for
(
Long
seq
:
(
Long
[])
ConvertUtils
.
convert
(
StringUtil
.
string2Array
(
sequenceNbrs
),
Long
.
class
))
{
DataBaseLinkModel
model
=
dataBaseLinkService
.
queryBySeq
(
seq
);
Connection
connection
=
dataBaseLinkService
.
connectNewDatabase
(
model
);
this
.
insertData
(
connection
,
agencyTreeService
.
queryForAgencyCodeById
(
agencyCodeId
),
model
.
getDbName
());
connection
,
agencyTreeService
.
queryForAgencyCodeById
(
agencyCodeId
),
model
.
getDbName
()
,
response
);
}
}
public
void
download
(
String
filePath
,
String
sql
)
throws
IOException
{
File
file
=
new
File
(
filePath
);
try
{
FileWriter
writer
=
new
FileWriter
(
file
);
writer
.
write
(
sql
);
writer
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
public
void
download
(
HttpServletResponse
response
,
String
fileName
,
String
sqlFilePath
)
throws
IOException
{
File
f
=
new
File
(
sqlFilePath
);
BufferedInputStream
br
=
new
BufferedInputStream
(
new
FileInputStream
(
f
));
byte
[]
buf
=
new
byte
[
1024
];
int
len
=
0
;
response
.
reset
();
// 非常重要
response
.
setContentType
(
"application/x-msdownload"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment; filename="
+
fileName
);
OutputStream
out
=
response
.
getOutputStream
();
while
((
len
=
br
.
read
(
buf
))
>
0
)
out
.
write
(
buf
,
0
,
len
);
br
.
close
();
out
.
close
();
}
}
src/main/resources/application-dev.properties
View file @
38494d06
#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://39.98.45.134:3306/amos_
studio
?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.properties
View file @
38494d06
spring.application.name
=
AMOS-ATL
server.servlet.context-path
=
/atl
<<<<<<<
HEAD
#server.servlet.context-path=/jcs
server.port
=
30002
#server.port=20000
=======
server.port
=
30201
>>>>>>>
56d4a0ab360f8ce8f2fa01e2ecf68e745d42bc24
spring.profiles.active
=
dev
management.health.elasticsearch.enabled
=
false
...
...
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