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

Loading…
Cancel
Save