From e6720f333268682d11aedb3b3308fa2f2c3a40df Mon Sep 17 00:00:00 2001 From: 许鹏程 <1821349743@qq.com> Date: 星期二, 28 五月 2024 16:09:05 +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