diff --git a/nms_sync/src/com/nms/thread/SyncSlaveToMasterThread.java b/nms_sync/src/com/nms/thread/SyncSlaveToMasterThread.java index b655ccc..e092323 100644 --- a/nms_sync/src/com/nms/thread/SyncSlaveToMasterThread.java +++ b/nms_sync/src/com/nms/thread/SyncSlaveToMasterThread.java @@ -211,6 +211,7 @@ public class SyncSlaveToMasterThread implements Runnable{ }else{ Object lastInsertId = data.get(data.size() - 1).get("id"); Set set = SyncData.getThreadlocalLoopInsertMissionIds(); + Set loopUpdateSet = SyncData.getThreadlocalLoopUpdateMissionIds(); final List insertDatas2=new ArrayList(); final List updateDatas=new ArrayList(); for(Record entity:insertDatas) { @@ -218,11 +219,13 @@ public class SyncSlaveToMasterThread implements Runnable{ Record findFirst = Db.use("masterDataSource").findFirst("select * from " + record.getStr("table_name")+" where "+record.getStr("id_name")+"= ? ",entity.get(record.getStr("id_name"))); if(null!=findFirst) { updateDatas.add(entity); + loopUpdateSet.add(entity.getLong(record.getStr("id_name"))); }else { set.add(entity.getLong(record.getStr("id_name"))); insertDatas2.add(entity); } } + SyncData.setThreadlocalLoopUpdateMissionIds(loopUpdateSet); SyncData.setThreadlocalLoopInsertMissionIds(set); if(insertDatas2.size()>0) { Db.use("masterDataSource").batchSave(record.getStr("table_name"), insertDatas, record.getInt("batch_size"));