summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <default@DESKTOP-7FEGRP2>2018-11-12 11:11:47 +0800
committerdefault <default@DESKTOP-7FEGRP2>2018-11-12 11:11:47 +0800
commit64afec59e1b535adb7956e737546f2fb2b351017 (patch)
tree54b40b645f88fd278edf9cc463686cbe03175678
parent058a1c090b3190441f9b4822d53df51d804d1516 (diff)
update
-rw-r--r--nms_sync/src/com/nms/thread/SyncSlaveToMasterThread.java3
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"));