Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
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-boot-biz
Commits
cb7d17c8
Commit
cb7d17c8
authored
May 12, 2025
by
王果
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
36671 子 【一张图替换站端系统】-自动化数据处理 / 数据同步:系统账号
parent
b5e8469d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
185 additions
and
9 deletions
+185
-9
AdpterController.java
.../com/yeejoin/amos/adpter/controller/AdpterController.java
+12
-0
AdpterService.java
...n/java/com/yeejoin/amos/adpter/service/AdpterService.java
+169
-6
application-dev.properties
...tils-adpter/src/main/resources/application-dev.properties
+4
-3
No files found.
amos-boot-utils/amos-boot-utils-adpter/src/main/java/com/yeejoin/amos/adpter/controller/AdpterController.java
View file @
cb7d17c8
...
...
@@ -75,4 +75,15 @@ public class AdpterController {
public
void
personExcel
(
HttpServletResponse
response
)
throws
IOException
{
adpterService
.
personExcel
(
response
);
}
/**
* 同步amos_project系统人员和单位表
*
* @return
*/
@GetMapping
(
value
=
"/cpSysUserOrg"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"同步amos_project系统人员和单位表"
,
notes
=
"同步amos_project系统人员和单位表"
)
public
Map
<
String
,
String
>
cpSysUserOrg
()
{
return
adpterService
.
cpSysUserOrg
();
}
}
\ No newline at end of file
amos-boot-utils/amos-boot-utils-adpter/src/main/java/com/yeejoin/amos/adpter/service/AdpterService.java
View file @
cb7d17c8
...
...
@@ -131,12 +131,87 @@ public class AdpterService {
copy
(
sourceJdbcBuss
,
goalJdbcBuss
,
"wl_warehouse"
,
"wl_warehouse"
,
"id"
,
rMap
);
copy
(
sourceJdbcBuss
,
goalJdbcBuss
,
"wl_warehouse_structure"
,
"wl_warehouse_structure"
,
"id"
,
rMap
);
//处理amos_project库
copy
(
sourceJdbcBuss
,
goalJdbcBuss
,
"privilege_department"
,
"privilege_department"
,
"SEQUENCE_NBR"
,
rMap
);
copy
(
sourceJdbcBuss
,
goalJdbcBuss
,
"privilege_company"
,
"privilege_company"
,
"SEQUENCE_NBR"
,
rMap
);
copy
(
sourceJdbcBuss
,
goalJdbcBuss
,
"privilege_agency_user"
,
"privilege_agency_user"
,
"SEQUENCE_NBR"
,
rMap
);
copy
(
sourceJdbcBuss
,
goalJdbcBuss
,
"auth_login_info"
,
"auth_login_info"
,
"SEQUENCE_NBR"
,
rMap
);
log
.
info
(
"执行结束================"
);
return
rMap
;
}
public
Map
<
String
,
String
>
cpSysUserOrg
()
{
Map
<
String
,
String
>
rMap
=
new
HashMap
<>();
// //同步amos_project库用户表
//// copy(goalJdbcProject, sourceJdbcProject, "auth_login_info", "auth_login_info", "SEQUENCE_NBR", rMap);
// String srcTableName = "auth_login_info";
// String destTableName = "auth_login_info";
// String id = "SEQUENCE_NBR";
// startTime = System.currentTimeMillis();
//
// Connection conn = null;
// PreparedStatement pst = null;
// conn = getConnection(goalJdbcProject);
//
//// int count[] = new int[0];
// List<String> list = new ArrayList<>();
//
// //查询数据
// String sql = String.format("select * from %s ", srcTableName);
// //查询数据
// String sqlGoal = "select count(1) as num from " + destTableName + " where " + id + " = ";
// List<Map<String, Object>> queryOld = query(sourceJdbcProject, sql);
// List<Map<String, Object>> query = new ArrayList<>();
// //插入数据
// String insertSql = "insert into %s(%s) values(%s)";
// StringBuilder key = new StringBuilder();
// StringBuilder value = new StringBuilder();
// List<String> columns = new ArrayList<>();
// List<List<Object>> params = new ArrayList<>();
//// 剔除已存在的数据
// for (Map<String, Object> map : queryOld) {
// map.put("SALT", "10ICG834E4");
// map.put("PASSWORD", "ACCB2DE8AD752638D55F6F0FE7CA928");//设置密码为a1234560
// map.put("AGENCY_CODE", "ONEPLOT");
// try {
// pst = conn.prepareStatement(sqlGoal + map.get(id));
// ResultSet resultSet = pst.executeQuery();
// log.debug("严重重复数据查询:{}", sqlGoal + map.get(id));
// while (resultSet.next()) {
// int num = resultSet.getInt("num");
// if (num < 1) {
// query.add(map);
// }
// }
// } catch (SQLException throwables) {
// throwables.printStackTrace();
// } finally {
// try {
// if (pst != null && !pst.isClosed()) {
// pst.close();
// }
// } catch (SQLException e) {
// e.printStackTrace();
// }
// }
// }
//
// if (!query.isEmpty()) {
// for (String column : query.get(0).keySet()) {
// key.append(column).append(",");
// value.append("?,");
// columns.add(column);
// }
// insertSql = String.format(insertSql,
// destTableName,
// key.substring(0, key.length() - 1),
// value.substring(0, value.length() - 1));
//
// for (Map<String, Object> map : query) {
// List<Object> param = new ArrayList<>();
// for (String column : columns) {
// param.add(map.get(column));
// }
// params.add(param);
// }
// int[] count = executeBatch(goalJdbcProject, insertSql, params, destTableName);
// log.debug("复制表{}成功,用时:{}ms,复制数据行数:{}", destTableName, (System.currentTimeMillis() - startTime), count.length);
// }
copyUser
(
sourceJdbcProject
,
goalJdbcProject
,
"privilege_agency_user"
,
"privilege_agency_user"
,
"SEQUENCE_NBR"
,
rMap
);
log
.
info
(
"执行结束================"
);
return
rMap
;
}
...
...
@@ -296,6 +371,94 @@ public class AdpterService {
}
/**
* 将查询的数据复制到另一个数据库的表中,要求两张表的字段名,字段类型完全相同。
*
* @param srcTableName 要查询的表
* @param destTableName 目标表名称
* @return
*/
public
int
[]
copyUser
(
String
source
,
String
goal
,
String
srcTableName
,
String
destTableName
,
String
id
,
Map
rMap
)
{
startTime
=
System
.
currentTimeMillis
();
Connection
conn
=
null
;
PreparedStatement
pst
=
null
;
conn
=
getConnection
(
goal
);
int
count
[]
=
new
int
[
0
];
List
<
String
>
list
=
new
ArrayList
<>();
//查询数据
String
sql
=
String
.
format
(
"select * from %s "
,
srcTableName
);
//查询数据
String
sqlGoal
=
"select count(*) as num from "
+
destTableName
+
" where "
+
id
+
" = "
;
List
<
Map
<
String
,
Object
>>
queryOld
=
query
(
source
,
sql
);
List
<
Map
<
String
,
Object
>>
query
=
new
ArrayList
<>();
//插入数据
String
insertSql
=
"insert into %s(%s) values(%s)"
;
StringBuilder
key
=
new
StringBuilder
();
StringBuilder
value
=
new
StringBuilder
();
List
<
String
>
columns
=
new
ArrayList
<>();
List
<
List
<
Object
>>
params
=
new
ArrayList
<>();
// 剔除已存在的数据
for
(
Map
map
:
queryOld
)
{
map
.
put
(
"AGENCY_CODE"
,
"ONEPLOT"
);
map
.
put
(
"PASSWORD_RESET"
,
0
);
map
.
put
(
"SUPER_ORG_CODE"
,
"10*11"
);
try
{
pst
=
conn
.
prepareStatement
(
sqlGoal
+
map
.
get
(
id
));
ResultSet
resultSet
=
pst
.
executeQuery
();
while
(
resultSet
.
next
())
{
int
num
=
resultSet
.
getInt
(
"num"
);
if
(
num
<
1
)
{
query
.
add
(
map
);
}
else
{
list
.
add
(
map
.
get
(
id
).
toString
());
}
}
}
catch
(
SQLException
throwables
)
{
throwables
.
printStackTrace
();
}
finally
{
try
{
if
(
pst
!=
null
&&
!
pst
.
isClosed
())
{
pst
.
close
();
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
if
(
query
.
size
()
>
0
)
{
for
(
String
column
:
query
.
get
(
0
).
keySet
())
{
key
.
append
(
column
).
append
(
","
);
value
.
append
(
"?,"
);
columns
.
add
(
column
);
}
insertSql
=
String
.
format
(
insertSql
,
destTableName
,
key
.
substring
(
0
,
key
.
length
()
-
1
).
toString
(),
value
.
substring
(
0
,
value
.
length
()
-
1
).
toString
());
for
(
Map
<
String
,
Object
>
map
:
query
)
{
List
<
Object
>
param
=
new
ArrayList
<>();
for
(
String
column
:
columns
)
{
param
.
add
(
map
.
get
(
column
));
}
params
.
add
(
param
);
}
count
=
executeBatch
(
goal
,
insertSql
,
params
,
destTableName
);
endTime
=
System
.
currentTimeMillis
();
log
.
debug
(
"复制表"
+
destTableName
+
"成功"
+
"用时"
+
(
endTime
-
startTime
)
+
"ms"
);
}
if
(
list
.
size
()
>
0
)
{
rMap
.
put
(
destTableName
,
String
.
join
(
","
,
list
));
}
else
{
rMap
.
put
(
destTableName
,
"复制表"
+
destTableName
+
"成功"
+
"用时"
+
(
endTime
-
startTime
)
+
"ms"
);
}
return
count
;
}
/**
* 批量执行一个 SQL 语句,可以传不同的参数
*
* @param sql SQL 语句
...
...
amos-boot-utils/amos-boot-utils-adpter/src/main/resources/application-dev.properties
View file @
cb7d17c8
...
...
@@ -6,7 +6,7 @@ management.endpoints.web.exposure.include=*
eureka.instance.health-check-url-path
=
/actuator/health
eureka.instance.metadata-map.management.context-path
=
${server.servlet.context-path}/actuator
eureka.instance.status-page-url-path
=
/actuator/info
eureka.instance.metadata-map.management.api-docs
=
http://
172.16.11.201
:${server.port}${server.servlet.context-path}/swagger-ui.html
eureka.instance.metadata-map.management.api-docs
=
http://
39.100.71.139
:${server.port}${server.servlet.context-path}/swagger-ui.html
#����ʵ��ip��ַ����eureka.instance.prefer-ip-address=false,ip-address����ʧЧ��һ������������á�
#eureka.instance.ip-address= 172.16.3.135
#eureka����ip���ã�����д�̶�ip��ַ
...
...
@@ -33,8 +33,8 @@ goal.jdbc.ip.dlbuss=jdbc:mysql://172.16.11.201:3307/gusu_business?allowMultiQuer
goal.jdbc.ip.dlcom
=
jdbc:mysql://172.16.11.201:3307/gusu_common?allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
source.jdbc.ip.project
=
jdbc:mysql://172.16.11.201:3306
/amos_project?useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
goal.jdbc.ip.project
=
jdbc:mysql://172.16.11.201:3306/amos_project1
?useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
goal.jdbc.ip.project
=
jdbc:mysql://39.100.71.139:3307
/amos_project?useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
source.jdbc.ip.project
=
jdbc:mysql://39.100.71.139:3307/wh_project
?useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
yeejoin.user
=
root
yeejoin.pwd
=
ENC(9OWq6vJ9UzjgCfz8dAdzgMT5WkUTmyHkVdd3HoP80K9l5XOzu7dbmpgfXzvqANjJ)
\ No newline at end of file
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