From 3c607f075990d6d3238daa7db1c68eaae8126424 Mon Sep 17 00:00:00 2001
From: zhongrj <123456>
Date: Mon, 22 Aug 2022 15:05:47 +0800
Subject: [PATCH] 新增数据同步方式及配置,当选择为sql时则为数据库直连同步,全局替换所有的同步方法,用户修改,离职,注销修改调整,文件上传去除同步推送上传
---
src/main/java/org/springblade/modules/system/service/MyAsyncService.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/service/MyAsyncService.java b/src/main/java/org/springblade/modules/system/service/MyAsyncService.java
index 2081bfb..f60c365 100644
--- a/src/main/java/org/springblade/modules/system/service/MyAsyncService.java
+++ b/src/main/java/org/springblade/modules/system/service/MyAsyncService.java
@@ -1,8 +1,10 @@
package org.springblade.modules.system.service;
import net.sf.json.JSONObject;
+import org.springblade.common.config.DataSyncConfig;
import org.springblade.common.utils.HttpClientUtils;
import org.springblade.modules.FTP.FtpUtil;
+import org.springblade.modules.dataSync.MysqlCenlint;
import org.springblade.modules.system.dto.UserDTO;
import org.springblade.modules.system.entity.User;
import org.springframework.scheduling.annotation.Async;
@@ -158,4 +160,51 @@
}
}
}
+
+ /**
+ * 数据同步
+ * @param sql
+ */
+ @Async
+ public void dataSync(String sql) {
+ //判断同步类型
+ //sql 直连处理
+ if (DataSyncConfig.type.equals("sql")) {
+ sqlDataHandler(sql);
+ }
+
+ //ftp 连接同步
+ if (DataSyncConfig.type.equals("ftp")){
+ FTP(sql);
+ }
+ }
+
+ /**
+ * sql 直连处理
+ * @param sql sql
+ */
+ @Async
+ public void sqlDataHandler(String sql) {
+ //以逗号分割
+ String[] split = sql.split(";");
+ if (null!=split && split.length>0) {
+ for (String sqls : split) {
+ //判断是否是新增,删除,修改
+ String substring = sqls.substring(0, 2);
+ //新增
+ if (substring.equals("in")) {
+ //运行sql语句
+ MysqlCenlint.inster(sqls);
+ }
+ //修改
+ else if (substring.equals("up")) {
+ MysqlCenlint.update(sqls);
+ }
+ //删除
+ else {
+ MysqlCenlint.delete(sqls);
+ }
+ }
+ }
+ }
}
--
Gitblit v1.9.3