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