From 41305ce1aed1820b96b22d6d9d8db4f1f6c05823 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期一, 30 十二月 2024 15:00:31 +0800
Subject: [PATCH] commit
---
product-server-data-sync/src/main/java/com/product/data/sync/service/SyFeDataService.java | 63 ++++++++++++++++++++++++-------
1 files changed, 49 insertions(+), 14 deletions(-)
diff --git a/product-server-data-sync/src/main/java/com/product/data/sync/service/SyFeDataService.java b/product-server-data-sync/src/main/java/com/product/data/sync/service/SyFeDataService.java
index 1b806e4..4a62f39 100644
--- a/product-server-data-sync/src/main/java/com/product/data/sync/service/SyFeDataService.java
+++ b/product-server-data-sync/src/main/java/com/product/data/sync/service/SyFeDataService.java
@@ -23,6 +23,7 @@
import com.product.data.sync.config.SystemCode;
import com.product.data.sync.service.ide.ISyFeDataService;
import com.product.data.sync.service.media.GdMediaUtil;
+import com.product.data.sync.util.BatchAddData;
import com.product.data.sync.util.BusinessDataSync;
import com.product.data.sync.util.DataManipulationUtils;
import com.product.file.service.FileManagerService;
@@ -101,6 +102,8 @@
//宸插悓姝ヨ〃缁撴瀯
private JSONObject dataTableObject = new JSONObject();
+ @Autowired
+ private BatchAddData batchAddData;
public Boolean isStr(String str) {
boolean a = false;
@@ -112,22 +115,28 @@
return a;
}
+
+ private Set<String> clearTable = new HashSet<>();
+
//鍏憡绠$悊1 绯荤粺鍙傛暟 闂嵎绠$悊 鑰冨嫟绠$悊 杞﹁締绠$悊 鍗忓悓鍔炲叕
@Override
public String saveSyncFedata(FieldSetEntity fs) throws SQLException, ClassNotFoundException {
//鍚屾缁勭粐鏋舵瀯
DataTableEntity dataTableEntity = baseDao.listTable("product_sys_users");
- String clientUUID = "remark";
- if (dataTableEntity.getRows() < 10) {
+ String clientUUID = "4d4679ed-c4c3-41b8-abfe-451a66fd4043";
+// if (dataTableEntity.getRows() < 10) {
// //杩佺Щ缁勭粐鏋舵瀯
-// String uuid = feDataDSService.FEDataMigration();
-// if (!BaseUtil.strIsNull(uuid)) {
-// clientUUID = uuid;
-// }
+ String uuid = feDataDSService.FEDataMigration();
+ if (!BaseUtil.strIsNull(uuid)) {
+ clientUUID = uuid;
}
+// }
//灏佽涓よ竟浜哄憳鍏宠仈鍜岄儴闂ㄥ叧鑱�
-// packageDepartmentPersonnel();
+ packageDepartmentPersonnel();
String tricode_fun = Global.getSystemConfig("data.synchronism.function", "").replaceAll(" ", "");
+ if (StringUtils.isEmpty(tricode_fun)) {
+ tricode_fun = fs.getString("function_code");
+ }
if (BaseUtil.strIsNull(tricode_fun)) {
return null;
}
@@ -227,8 +236,8 @@
//杩囨护arr涓殑null骞惰浆涓哄瓧绗︿覆鐢ㄩ�楀彿鍒嗛殧
defaultPosts = Arrays.stream(arr).filter(Objects::nonNull).collect(Collectors.joining(","));
}
- if(!StringUtils.isEmpty(defaultUsers)){
- arr=defaultUsers.split(",");
+ if (!StringUtils.isEmpty(defaultUsers)) {
+ arr = defaultUsers.split(",");
for (int j = 0; j < arr.length; j++) {
String uid = arr[j];
String uuid = userMapping.get(uid);
@@ -246,6 +255,7 @@
node.setValue("default_depts", defaultDepts);
}
+
baseDao.update(nodes);
}
@@ -254,18 +264,25 @@
// String[] tricode_funs = fs.getString("tricode_fun").split(",");
//灏佽鏈骇鍝侀渶璧嬫潈闄愮殑鎸夐挳uuid
// this.packageButton();
-// Connection conn = functionSynchrService.getConnection(fs);
+// ConnectionInterface conn = functionSynchrService.getConnection(fs);
//閫氳繃绾跨▼寰幆娣诲姞鍔熻兘淇℃伅
ExecutorService exec = Executors.newCachedThreadPool();
+ List<Set<String>> clearAttachmentSets = new ArrayList<>();
for (int i = 0; i < tricode_funs.length; i++) {
//鑾峰彇jdbc杩炴帴
BusinessDataSync async = new BusinessDataSync(tricode_funs[i]);
async.setBaseDao(baseDao);
+ async.setClearTable(clearTable);
async.setFileManagerService(fileManagerService);
async.setSystemMenusService(systemMenusService);
async.setFeDataDSService(feDataDSService);
async.setGdMediaUtil(gdMediaUtil);
async.setClientUUID(clientUUID);
+ async.setBatchAddData(batchAddData);
+ Set<String> clearAttachment = async.getClearAttachment();
+ if (clearAttachment != null) {
+ clearAttachmentSets.add(clearAttachment);
+ }
Thread t = new Thread(async);
//璋冪敤绾跨▼run鏂规硶
exec.submit(t);
@@ -310,6 +327,7 @@
}
}
systemMenusService.initSystemMenu();
+ //鍚屾
System.out.println("=================鍚屾鎴愬姛===============");
return "OK";
@@ -2424,7 +2442,7 @@
//鍚屾娑堟伅
try {
this.synchronizingProcessMessages(conn, tricode_funs, stateMap);
- } catch (BaseException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
//婧愭暟鎹甶d 涓� 鏈暟鎹畊uid 鍏宠仈
@@ -2779,7 +2797,7 @@
/**
* 鍚屾娴佺▼娑堟伅琛�
*/
- public void synchronizingProcessMessages(Connection conn, String tricode_funs, Map<String, String> stateMap) throws SQLException {
+ public void synchronizingProcessMessages(Connection conn, String tricode_funs, Map<String, String> stateMap) throws Exception {
DataTableEntity OrlDt = null;
try {
StringBuffer sql = new StringBuffer();
@@ -2795,6 +2813,8 @@
String id = null;
String message_uuid = null;
String state = null;
+ DataTableEntity dt = new DataTableEntity();
+ DataTableEntity dt1 = new DataTableEntity();
for (int i = 0; i < OrlDt.getRows(); i++) {
FieldSetEntity fs = OrlDt.getFieldSetEntity(i);
//娴佺▼鑺傜偣id
@@ -2853,7 +2873,10 @@
} else if ("2".equals(state)) {
message.setValue("url", "1621321824686868oKWL726?uuid=" + source_uuid);
}
- message_uuid = baseDao.add(message);
+
+ message_uuid = UUID.randomUUID().toString();
+ message.setValue("uuid", message_uuid);
+ dt1.addFieldSetEntity(message);
}
FieldSetEntity message_user = new FieldSetEntity();
@@ -2884,8 +2907,20 @@
}
}
message_user.setValue("user_id", user_id);
- baseDao.add(message_user);
+// baseDao.add(message_user);
+ dt.addFieldSetEntity(message_user);
+
+ if (dt1.getRows() > 50000) {
+ batchAddData.add(dt1);
+ dt1 = new DataTableEntity();
+ }
+ if (dt.getRows() > 50000) {
+ batchAddData.add(dt);
+ dt = new DataTableEntity();
+ }
}
+ batchAddData.add(dt1);
+ batchAddData.add(dt);
}
--
Gitblit v1.9.2