diff options
| -rw-r--r-- | nms_sync/src/com/nms/thread/SyncSlaveToMasterThread.java | 3 |
1 files changed, 3 insertions, 0 deletions
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<Long> set = SyncData.getThreadlocalLoopInsertMissionIds(); + Set<Long> loopUpdateSet = SyncData.getThreadlocalLoopUpdateMissionIds(); final List<Record> insertDatas2=new ArrayList<Record>(); final List<Record> updateDatas=new ArrayList<Record>(); 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")); |
