Browse Source

fix:定时任务完善

master
lichao 2 years ago
parent
commit
2d8442046b
  1. 102
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java

102
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java

@ -306,8 +306,12 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
} }
}else{ }else{
if (logEntity.getDataType() == 1){ if (logEntity.getDataType() == 1){
// 从上次停止的数据开始获取
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000);
isNum = true; // 下面再从别的社区取 isNum = true 凑够50000
if (userInfoResultDTOS.size() < 50000){
isNum = true;
}
}else if (logEntity.getDataType() == 0){ }else if (logEntity.getDataType() == 0){
start = logEntity.getDataCount(); start = logEntity.getDataCount();
} }
@ -328,29 +332,36 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
dbResiList = getNatUserInfoFromDbLimit(formDTO); dbResiList = getNatUserInfoFromDbLimit(formDTO);
dbResiList.addAll(userInfoResultDTOS); dbResiList.addAll(userInfoResultDTOS);
newLog.setDataType(0); newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size()); newLog.setDataCount(50000-userInfoResultDTOS.size());
}else{ }else{
formDTO.setStart(start); if (userInfoResultDTOS.size()>=49999){
formDTO.setEnd(start+50000);
dbResiList = getNatUserInfoFromDbLimit(formDTO);
if (dbResiList.size()<50000){
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size());
dbResiList.addAll(userInfoResultDTOS); dbResiList.addAll(userInfoResultDTOS);
if (dbResiList.size() < 50000){ newLog.setDataType(1);
formDTO.setStart(0); newLog.setDataCount(logEntity.getDataCount()+userInfoResultDTOS.size());
formDTO.setEnd(50000-dbResiList.size()); }else {
dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO)); formDTO.setStart(start);
newLog.setDataType(0); formDTO.setEnd(start+50000);
newLog.setDataCount(50000-dbResiList.size()); dbResiList = getNatUserInfoFromDbLimit(formDTO);
if (dbResiList.size()<50000){
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size());
dbResiList.addAll(userInfoResultDTOS);
if (dbResiList.size() < 50000){
formDTO.setStart(0);
formDTO.setEnd(50000-dbResiList.size());
dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO));
newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size());
}else{
newLog.setDataType(1);
newLog.setDataCount(userInfoResultDTOS.size());
}
}else{ }else{
newLog.setDataType(1); newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size()); newLog.setDataCount(start+50000);
} }
}else{
newLog.setDataType(0);
newLog.setDataCount(start+50000);
} }
} }
@ -1739,7 +1750,9 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
// 从上次停止的数据开始获取 // 从上次停止的数据开始获取
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000);
// 下面再从别的社区取 isNum = true 凑够50000 // 下面再从别的社区取 isNum = true 凑够50000
isNum = true; if (userInfoResultDTOS.size() < 50000){
isNum = true;
}
}else if (logEntity.getDataType() == 0){ }else if (logEntity.getDataType() == 0){
// 如果是普通数据 直接从次停留在特殊数据获取 // 如果是普通数据 直接从次停留在特殊数据获取
start = logEntity.getDataCount(); start = logEntity.getDataCount();
@ -1762,33 +1775,40 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
dbResiList = getNatUserInfoFromDbLimit(formDTO); dbResiList = getNatUserInfoFromDbLimit(formDTO);
dbResiList.addAll(userInfoResultDTOS); dbResiList.addAll(userInfoResultDTOS);
newLog.setDataType(0); newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size()); newLog.setDataCount(50000-userInfoResultDTOS.size());
}else{ }else{
// false 说明之前没有获取过特殊数据了 // false 说明之前没有获取过特殊数据了
formDTO.setStart(start); if (userInfoResultDTOS.size()>=49999){
formDTO.setEnd(start+50000);
dbResiList = getNatUserInfoFromDbLimit(formDTO);
// 如果不够五万了 从头再来
if (dbResiList.size()<50000){
// 特殊数据
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size());
dbResiList.addAll(userInfoResultDTOS); dbResiList.addAll(userInfoResultDTOS);
// 特殊数据不够 在获取普通数据 newLog.setDataType(1);
if (dbResiList.size() < 50000){ newLog.setDataCount(logEntity.getDataCount()+userInfoResultDTOS.size());
formDTO.setStart(0); }else{
formDTO.setEnd(50000-dbResiList.size()); formDTO.setStart(start);
dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO)); formDTO.setEnd(start+50000);
newLog.setDataType(0); dbResiList = getNatUserInfoFromDbLimit(formDTO);
newLog.setDataCount(50000-dbResiList.size()); // 如果不够五万了 从头再来
if (dbResiList.size()<50000){
// 特殊数据
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size());
dbResiList.addAll(userInfoResultDTOS);
// 特殊数据不够 在获取普通数据
if (dbResiList.size() < 50000){
formDTO.setStart(0);
formDTO.setEnd(50000-dbResiList.size());
dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO));
newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size());
}else{
newLog.setDataType(1);
newLog.setDataCount(userInfoResultDTOS.size());
}
}else{ }else{
newLog.setDataType(1); newLog.setDataType(0);
newLog.setDataCount(50000-dbResiList.size()); newLog.setDataCount(start+50000);
} }
}else{
newLog.setDataType(0);
newLog.setDataCount(start+50000);
} }
} }

Loading…
Cancel
Save