This commit is contained in:
default
2018-11-12 11:11:47 +08:00
parent 058a1c090b
commit 64afec59e1

View File

@@ -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"));