From d79cbc6871af0c6d2e00ab00e61bb724f5b0c8b4 Mon Sep 17 00:00:00 2001 From: kami <605128600@qq.com> Date: Tue, 26 Nov 2024 16:38:48 +0800 Subject: [PATCH] =?UTF-8?q?12=E6=9C=88=E5=86=85=E7=A6=BB=E5=A9=9A=E7=AE=97?= =?UTF-8?q?=E6=84=9F=E6=83=85=E5=A4=B1=E6=84=8F12=E6=9C=88=E5=A4=96?= =?UTF-8?q?=E7=A6=BB=E5=A9=9A=E7=AE=97=E5=9F=BA=E7=A1=80=E5=9B=A0=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MarriageServiceImpl.java | 75 ++++++++++++++++--- 1 file changed, 66 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java index 8240ef3..94a37f4 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java @@ -49,7 +49,9 @@ public class MarriageServiceImpl implements MarriageService { // 婚姻不用管管控 // clue 应该要看结婚状态 RiskTask task = createTask(domain.getPersons().size(), 39); - riskTaskRepository.save(task); + RiskTask task2 = createTask(domain.getPersons().size(), 51); + riskTaskRepository.saveBatch(List.of(task,task2)); + List hyList = new ArrayList<>(); log.info("开始查询结婚数据:{}", domain.getIdCards().size()); int count = 0; @@ -82,11 +84,19 @@ public class MarriageServiceImpl implements MarriageService { log.info("男性数据:{}", manMap.size()); log.info("女性数据:{}", femanMap.size()); // 旧线索 - List oldClues = Optional.ofNullable(domain.getMap().get(39)).orElse(new ArrayList<>()); + List oldClues = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); Map oldClueMap = oldClues.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue)); + // 旧线索 + List oldClues2 = Optional.ofNullable(domain.getMap().get(task2.getModelId())).orElse(new ArrayList<>()); + Map oldClueMap2 = oldClues2.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue)); + // 遍历了 List toInsertData = new ArrayList<>(); List toUpdateData = new ArrayList<>(); + List toInsertData2 = new ArrayList<>(); + List toUpdateData2 = new ArrayList<>(); + + long targetTime = System.currentTimeMillis() - 31536000000l; for (RiskPersonal person : domain.getPersons()) { List tmpList = manMap.get(person.getIdCode()); if(tmpList == null) { @@ -117,8 +127,12 @@ public class MarriageServiceImpl implements MarriageService { } if(last.getYwlxdmdm().toUpperCase().contains("IB") || last.getYwlxdmdm().toUpperCase().contains("ICB")) { // 离婚 如果旧数据不存在就要新增 - RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); - if(clue == null) { + if(last.getDjrq().getTime() > targetTime) { + // 近365天的离婚 + RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); + if(clue != null) { + continue; + } ClueData data = ClueData.builder() .personId(person.getId()) .tag(last.getYwlxdmmc()) @@ -129,32 +143,75 @@ public class MarriageServiceImpl implements MarriageService { .build(); data.setEventTime(last.getDjrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); toInsertData.add(data); + } else { + // 365天之前的离婚,进基础因素 + RiskModelTaskClue clue = oldClueMap2.get(person.getIdCode()); + if(clue != null) { + continue; + } + ClueData data = ClueData.builder() + .personId(person.getId()) + .tag(last.getYwlxdmmc()) + .id(last.getXlzjdjzh()) + .idCode(person.getIdCode()) + .name(person.getName()) + .sourceData("根据该人员最新的婚姻登记信息,发现该人员登记为离婚,存在感情失意的可能,增加风险分3分") + .build(); + data.setEventTime(last.getDjrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); + toInsertData2.add(data); } + } else if(last.getYwlxdmdm().toUpperCase().contains("IA") || last.getYwlxdmdm().toUpperCase().contains("ICA")) { // 结婚 如果旧数据存在就要修改为0 - RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); - if(clue != null) { + // 近365天的离婚 + if(last.getDjrq().getTime() > targetTime) { + RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); + if(clue == null) { + continue; + } RiskModelTaskClue update = new RiskModelTaskClue(); update.setId(clue.getId()); update.setDel(1); toUpdateData.add(update); + } else { + RiskModelTaskClue clue = oldClueMap2.get(person.getIdCode()); + if(clue == null) { + continue; + } + RiskModelTaskClue update = new RiskModelTaskClue(); + update.setId(clue.getId()); + update.setDel(1); + toUpdateData2.add(update); } + } } List toInsert = new ArrayList<>(); - log.info("插入数据条数: {}", toInsertData.size()); + List toInsert2 = new ArrayList<>(); + log.info("插入数据条数: {} | {}", toInsertData.size(), toInsertData2.size()); for (ClueData toInsertDatum : toInsertData) { toInsert.add(createClue(task.getModelId(), 3, task.getId(), toInsertDatum)); } + for (ClueData toInsertDatum : toInsertData2) { + toInsert2.add(createClue(task2.getModelId(), 1, task2.getId(), toInsertDatum)); + } - if(!toInsertData.isEmpty()) { - riskModelTaskClueService.saveClues(toInsert, Default.MARRAY); + if(!toInsert.isEmpty()) { + riskModelTaskClueService.saveClues(toInsert, Default.NO_LOVE_IG); + } + if(!toInsert2.isEmpty()) { + riskModelTaskClueService.saveClues(toInsert2, Default.MARRAY_IG); } if(!toUpdateData.isEmpty()) { log.info("修改线索 | {}", toUpdateData.size()); clueRepository.updateBatchById(toUpdateData); } + if(!toUpdateData2.isEmpty()) { + log.info("修改线索2 | {}", toUpdateData2.size()); + clueRepository.updateBatchById(toUpdateData2); + } + RiskTask updateTask = new RiskTask(); updateTask.setId(task.getId()); updateTask.setInsertSize(toInsert.size());