Browse Source

修复118模型5

master
sjh 1 year ago
parent
commit
40b759fe36
  1. 128
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

128
src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

@ -1398,94 +1398,45 @@ 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());
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);
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(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size()); updateTask.setInsertSize(toInsert.size());
@ -1493,9 +1444,6 @@ public class PointServiceImpl implements PointService {
updateTask.setState(1); updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now()); updateTask.setEndTime(LocalDateTime.now());
taskRepository.updateById(updateTask); 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) {

Loading…
Cancel
Save