|
|
|
@ -1398,104 +1398,52 @@ public class PointServiceImpl implements PointService { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
|
|
|
|
List<GBaseCSCZRK> list = new ArrayList<>(); |
|
|
|
log.info("模型118开始查询"); |
|
|
|
log.info("模型118开始查询"); |
|
|
|
int pageSize = 100000; |
|
|
|
List<WdpcHZCRYXX> wdpcHZCRYXXS = hZCRYXXRepository.list(new LambdaQueryWrapper<WdpcHZCRYXX>().select(WdpcHZCRYXX::getIdCode)); |
|
|
|
int pageNumber1 = 1; |
|
|
|
// 切割 每次查10000条
|
|
|
|
List<GBaseCSCZRK> currentPageResults1; |
|
|
|
List<List<WdpcHZCRYXX>> wdpcHZCRYXXSParts = IntStream.range(0, (wdpcHZCRYXXS.size() + 9999) / 10000) |
|
|
|
do { |
|
|
|
.mapToObj(i -> wdpcHZCRYXXS.subList(i * 10000, Math.min((i + 1) * 10000, wdpcHZCRYXXS.size()))) |
|
|
|
int offset = (pageNumber1 - 1) * pageSize; |
|
|
|
.toList(); |
|
|
|
currentPageResults1 = cSCZRKRepository.getBaseMapper().selectFamilyPeople1(offset, pageSize); |
|
|
|
int i = 1; |
|
|
|
log.info("模型118第一部分查询size:{}", currentPageResults1.size()); |
|
|
|
for (List<WdpcHZCRYXX> wdpcHZCRYXXSPart : wdpcHZCRYXXSParts) { |
|
|
|
if (currentPageResults1.isEmpty()) break; |
|
|
|
List<String> ids = wdpcHZCRYXXSPart.stream().map(WdpcHZCRYXX::getIdCode).toList(); |
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults1); |
|
|
|
list.addAll(cSCZRKRepository.getBaseMapper().selectFamilyDiePeople(ids)); |
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
log.info("模型118查询完成{}", i); |
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
i++; |
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
} |
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
log.info("模型118查询结果数:{}", list.size()); |
|
|
|
log.info("模型118第一部分查询list:{}", list.size()); |
|
|
|
Map<String, RiskPersonal> personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); |
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
for (GBaseCSCZRK domicileType : list) { |
|
|
|
updateTask.setId(task.getId()); |
|
|
|
RiskPersonal personal = personalMap.get(domicileType.getGmsfhm()); |
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
if (personal == null) continue; |
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
if (idCode.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
updateTask.setState(1); |
|
|
|
if (oldMap.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
idCode.put(domicileType.getGmsfhm(), 1); |
|
|
|
pageNumber1++; |
|
|
|
ClueData data = ClueData.builder() |
|
|
|
} while (!currentPageResults1.isEmpty()); |
|
|
|
.name(personal.getName()) |
|
|
|
log.info("模型118查询familyPeople1完成"); |
|
|
|
.id(personal.getId().toString()) |
|
|
|
int pageNumber2 = 1; |
|
|
|
.idCode(personal.getIdCode()) |
|
|
|
List<GBaseCSCZRK> currentPageResults2; |
|
|
|
.tags(List.of("亲近家人死亡")) |
|
|
|
do { |
|
|
|
.score(5) |
|
|
|
int offset = (pageNumber2 - 1) * pageSize; |
|
|
|
.eventTime(LocalDateTime.now()) |
|
|
|
currentPageResults2 = cSCZRKRepository.getBaseMapper().selectFamilyPeople2(offset, pageSize); |
|
|
|
.personId(personal.getId()) |
|
|
|
log.info("模型118第二部分查询size:{}", currentPageResults2.size()); |
|
|
|
.sourceData("发现该人员亲近家人死亡") |
|
|
|
if (currentPageResults2.isEmpty()) break; |
|
|
|
.build(); |
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults2); |
|
|
|
toInsert.add(DataUtil.createClueData(task, data)); |
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
} |
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
if (!toInsert.isEmpty()) { |
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
modelTaskClueService.saveClues(toInsert, Default.FAMILYDIE); |
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
} |
|
|
|
log.info("模型118第二部分查询list:{}", list.size()); |
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
updateTask.setId(task.getId()); |
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
updateTask.setId(task.getId()); |
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
updateTask.setState(1); |
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
updateTask.setState(1); |
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
|
|
|
pageNumber2++; |
|
|
|
|
|
|
|
} while (!currentPageResults2.isEmpty()); |
|
|
|
|
|
|
|
log.info("模型118查询familyPeople2完成"); |
|
|
|
|
|
|
|
int pageNumber3 = 1; |
|
|
|
|
|
|
|
List<GBaseCSCZRK> currentPageResults3; |
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
int offset = (pageNumber3 - 1) * pageSize; |
|
|
|
|
|
|
|
currentPageResults3 = cSCZRKRepository.getBaseMapper().selectFamilyPeople3(offset, pageSize); |
|
|
|
|
|
|
|
log.info("模型118第三部分查询size:{}", currentPageResults3.size()); |
|
|
|
|
|
|
|
if (currentPageResults3.isEmpty()) break; |
|
|
|
|
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults3); |
|
|
|
|
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
|
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
|
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
|
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
|
|
|
|
log.info("模型118第三部分查询list:{}", list.size()); |
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
|
|
|
|
updateTask.setState(1); |
|
|
|
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
|
|
|
pageNumber3++; |
|
|
|
|
|
|
|
} while (!currentPageResults3.isEmpty()); |
|
|
|
|
|
|
|
log.info("模型118查询familyPeople3完成"); |
|
|
|
|
|
|
|
int pageNumber4 = 1; |
|
|
|
|
|
|
|
List<GBaseCSCZRK> currentPageResults4; |
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
int offset = (pageNumber4 - 1) * pageSize; |
|
|
|
|
|
|
|
currentPageResults4 = cSCZRKRepository.getBaseMapper().selectFamilyPeople3(offset, pageSize); |
|
|
|
|
|
|
|
log.info("模型118第四部分查询size:{}", currentPageResults4.size()); |
|
|
|
|
|
|
|
if (currentPageResults4.isEmpty()) break; |
|
|
|
|
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults4); |
|
|
|
|
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
|
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
|
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
|
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
|
|
|
|
log.info("模型118第四部分查询list:{}", list.size()); |
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
|
|
|
|
updateTask.setState(1); |
|
|
|
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
|
|
|
pageNumber4++; |
|
|
|
|
|
|
|
} while (!currentPageResults4.isEmpty()); |
|
|
|
|
|
|
|
log.info("模型118查询familyPeople4完成"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private @NotNull List<RiskModelTaskClue> getRiskModelTaskClues(TaskParamDomain domain, Map<String, List<String>> familyMap, List<String> list, Map<String, Integer> idCode, Map<String, RiskModelTaskClue> oldMap, RiskTask task) { |
|
|
|
private @NotNull List<RiskModelTaskClue> getRiskModelTaskClues(TaskParamDomain domain, Map<String, List<String>> familyMap, List<String> list, Map<String, Integer> idCode, Map<String, RiskModelTaskClue> oldMap, RiskTask task) { |
|
|
|
|