|
|
@ -281,88 +281,91 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao |
|
|
|
|
|
|
|
List<NatUserInfoResultDTO> dbResiList = null; |
|
|
|
|
|
|
|
List<DataSyncScopeDTO> orgListLast = new ArrayList<>();; |
|
|
|
|
|
|
|
for (DataSyncConfigDTO config : configData) { |
|
|
|
String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(",")); |
|
|
|
|
|
|
|
// 查询上一次定时任务 居民位置记录
|
|
|
|
LambdaQueryWrapper<IcResiUserTaskLogEntity> logEntityLambdaQueryWrapper = new LambdaQueryWrapper<IcResiUserTaskLogEntity>().eq(IcResiUserTaskLogEntity::getDataScope,scope).eq(IcResiUserTaskLogEntity::getType,"siwang").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); |
|
|
|
IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); |
|
|
|
|
|
|
|
List<NatUserInfoResultDTO> userInfoResultDTOS = new ArrayList<>(); |
|
|
|
boolean isNum = false; |
|
|
|
int start = 0; |
|
|
|
if (logEntity == null){ |
|
|
|
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); |
|
|
|
if (userInfoResultDTOS.size() < 50000){ |
|
|
|
isNum = true; |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if (logEntity.getDataType() == 1){ |
|
|
|
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); |
|
|
|
isNum = true; |
|
|
|
}else if (logEntity.getDataType() == 0){ |
|
|
|
start = logEntity.getDataCount(); |
|
|
|
} |
|
|
|
orgListLast.addAll(config.getScopeList()); |
|
|
|
// String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(","));
|
|
|
|
} |
|
|
|
// 查询上一次定时任务 居民位置记录 .eq(IcResiUserTaskLogEntity::getDataScope,scope)
|
|
|
|
LambdaQueryWrapper<IcResiUserTaskLogEntity> logEntityLambdaQueryWrapper = new LambdaQueryWrapper<IcResiUserTaskLogEntity>().eq(IcResiUserTaskLogEntity::getType,"siwang").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); |
|
|
|
IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); |
|
|
|
|
|
|
|
List<NatUserInfoResultDTO> userInfoResultDTOS = new ArrayList<>(); |
|
|
|
boolean isNum = false; |
|
|
|
int start = 0; |
|
|
|
if (logEntity == null){ |
|
|
|
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); |
|
|
|
if (userInfoResultDTOS.size() < 50000){ |
|
|
|
isNum = true; |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if (logEntity.getDataType() == 1){ |
|
|
|
userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); |
|
|
|
isNum = true; |
|
|
|
}else if (logEntity.getDataType() == 0){ |
|
|
|
start = logEntity.getDataCount(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity(); |
|
|
|
newLog.setCreatedTime(new Date()); |
|
|
|
// newLog.setDataScope(scope);
|
|
|
|
newLog.setType("siwang"); |
|
|
|
|
|
|
|
IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity(); |
|
|
|
newLog.setCreatedTime(new Date()); |
|
|
|
newLog.setDataScope(scope); |
|
|
|
newLog.setType("siwang"); |
|
|
|
|
|
|
|
// 设置查询数据范围
|
|
|
|
formDTO.setOrgList(config.getScopeList()); |
|
|
|
DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); |
|
|
|
if (isNum){ |
|
|
|
formDTO.setStart(start); |
|
|
|
formDTO.setEnd(50000-userInfoResultDTOS.size()); |
|
|
|
dbResiList = getNatUserInfoFromDbLimit(formDTO); |
|
|
|
// 设置查询数据范围
|
|
|
|
formDTO.setOrgList(orgListLast); |
|
|
|
DataSyncEnum anEnum = DataSyncEnum.getEnum(EpidemicConstant.DATA_CODE_DEATH); |
|
|
|
if (isNum){ |
|
|
|
formDTO.setStart(start); |
|
|
|
formDTO.setEnd(50000-userInfoResultDTOS.size()); |
|
|
|
dbResiList = getNatUserInfoFromDbLimit(formDTO); |
|
|
|
dbResiList.addAll(userInfoResultDTOS); |
|
|
|
newLog.setDataType(0); |
|
|
|
newLog.setDataCount(50000-dbResiList.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); |
|
|
|
newLog.setDataType(0); |
|
|
|
newLog.setDataCount(50000-dbResiList.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(50000-dbResiList.size()); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if (dbResiList.size() < 50000){ |
|
|
|
formDTO.setStart(0); |
|
|
|
formDTO.setEnd(50000-dbResiList.size()); |
|
|
|
dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO)); |
|
|
|
newLog.setDataType(0); |
|
|
|
newLog.setDataCount(start+50000); |
|
|
|
newLog.setDataCount(50000-dbResiList.size()); |
|
|
|
|
|
|
|
}else{ |
|
|
|
newLog.setDataType(1); |
|
|
|
newLog.setDataCount(50000-dbResiList.size()); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
newLog.setDataType(0); |
|
|
|
newLog.setDataCount(start+50000); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(dbResiList)) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
switch (anEnum) { |
|
|
|
case SI_WANG: |
|
|
|
try { |
|
|
|
//查询正常状态的居民
|
|
|
|
siWang(dbResiList); |
|
|
|
resiUserTaskLogDao.insert(newLog); |
|
|
|
log.info("======siWang信息拉取结束======"); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("death thread execute exception", e); |
|
|
|
} |
|
|
|
default: |
|
|
|
log.warn("没有要处理的数据"); |
|
|
|
} |
|
|
|
/* if (CollectionUtils.isEmpty(dbResiList)) { |
|
|
|
continue; |
|
|
|
}*/ |
|
|
|
switch (anEnum) { |
|
|
|
case SI_WANG: |
|
|
|
try { |
|
|
|
//查询正常状态的居民
|
|
|
|
siWang(dbResiList); |
|
|
|
resiUserTaskLogDao.insert(newLog); |
|
|
|
log.info("======siWang信息拉取结束======"); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("death thread execute exception", e); |
|
|
|
} |
|
|
|
default: |
|
|
|
log.warn("没有要处理的数据"); |
|
|
|
} |
|
|
|
// }
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|