diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserTaskLogEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserTaskLogEntity.java index 19cf239e21..ab9dec6ba5 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserTaskLogEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserTaskLogEntity.java @@ -41,4 +41,6 @@ public class IcResiUserTaskLogEntity extends BaseEpmetEntity { */ private String type; + private String dataScope; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 727fbbbb6a..75bce0d45a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -278,32 +278,39 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl logEntityLambdaQueryWrapper = new LambdaQueryWrapper().orderByDesc(IcResiUserDeadTaskLogEntity::getCreatedTime).last("limit 1"); - IcResiUserDeadTaskLogEntity logEntity = icResiUserDeadTaskLogDao.selectOne(logEntityLambdaQueryWrapper); - - List 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(); - } - - } - IcResiUserDeadTaskLogEntity newLog = new IcResiUserDeadTaskLogEntity(); - newLog.setCreatedTime(new Date()); List dbResiList = null; for (DataSyncConfigDTO config : configData) { + String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(",")); + + // 查询上一次定时任务 居民位置记录 + LambdaQueryWrapper logEntityLambdaQueryWrapper = new LambdaQueryWrapper().eq(IcResiUserTaskLogEntity::getDataScope,scope).eq(IcResiUserTaskLogEntity::getType,"siwang").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); + IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); + + List 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"); + // 设置查询数据范围 formDTO.setOrgList(config.getScopeList()); DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); @@ -347,7 +354,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl logEntityLambdaQueryWrapper = new LambdaQueryWrapper().eq(IcResiUserTaskLogEntity::getType,"hunyin").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); - IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); - // userInfoResultDTOS 待处理的数据存放 - List userInfoResultDTOS = new ArrayList<>(); - - boolean isNum = false; - int start = 0; - // 如果没有log数据 说明第一次进入循环 - if (logEntity == null){ - // 从0开始 优先获取规定的几个社区 - userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); - // 如果不满5000条数据 下面再从别的社区取 isNum = true - if (userInfoResultDTOS.size() < 50000){ - isNum = true; - } - }else{ - // 如果有log数据 判断一下上次停留在特殊数据还是普通数据 1是特殊数据(优先的几个社区) - if (logEntity.getDataType() == 1){ - // 从上次停止的数据开始获取 - userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); - // 下面再从别的社区取 isNum = true 凑够50000 - isNum = true; - }else if (logEntity.getDataType() == 0){ - // 如果是普通数据 直接从次停留在特殊数据获取 - start = logEntity.getDataCount(); - } - } - // 建立一个最后插入log的标志 - IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity(); - newLog.setCreatedTime(new Date()); - newLog.setType("hunyin"); List dbResiList = null; for (DataSyncConfigDTO config : configData) { + + String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(",")); + + // 查询上一次定时任务 居民位置记录 + LambdaQueryWrapper logEntityLambdaQueryWrapper = new LambdaQueryWrapper().eq(IcResiUserTaskLogEntity::getDataScope,scope).eq(IcResiUserTaskLogEntity::getType,"hunyin").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); + IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); + // userInfoResultDTOS 待处理的数据存放 + List userInfoResultDTOS = new ArrayList<>(); + + boolean isNum = false; + int start = 0; + // 如果没有log数据 说明第一次进入循环 + if (logEntity == null){ + // 从0开始 优先获取规定的几个社区 + userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); + // 如果不满5000条数据 下面再从别的社区取 isNum = true + if (userInfoResultDTOS.size() < 50000){ + isNum = true; + } + }else{ + // 如果有log数据 判断一下上次停留在特殊数据还是普通数据 1是特殊数据(优先的几个社区) + if (logEntity.getDataType() == 1){ + // 从上次停止的数据开始获取 + userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); + // 下面再从别的社区取 isNum = true 凑够50000 + isNum = true; + }else if (logEntity.getDataType() == 0){ + // 如果是普通数据 直接从次停留在特殊数据获取 + start = logEntity.getDataCount(); + } + + } + // 建立一个最后插入log的标志 + IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity(); + newLog.setCreatedTime(new Date()); + newLog.setType("hunyin"); + newLog.setDataScope(scope); + // 设置查询数据范围 formDTO.setOrgList(config.getScopeList()); DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserTaskLogDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserTaskLogDao.xml index 2700f6a9f2..c1385adc4a 100755 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserTaskLogDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserTaskLogDao.xml @@ -8,6 +8,7 @@ +