|
|
|
@ -49,7 +49,9 @@ public class MarriageServiceImpl implements MarriageService { |
|
|
|
// 婚姻不用管管控
|
|
|
|
// 婚姻不用管管控
|
|
|
|
// clue 应该要看结婚状态
|
|
|
|
// clue 应该要看结婚状态
|
|
|
|
RiskTask task = createTask(domain.getPersons().size(), 39); |
|
|
|
RiskTask task = createTask(domain.getPersons().size(), 39); |
|
|
|
riskTaskRepository.save(task); |
|
|
|
RiskTask task2 = createTask(domain.getPersons().size(), 51); |
|
|
|
|
|
|
|
riskTaskRepository.saveBatch(List.of(task,task2)); |
|
|
|
|
|
|
|
|
|
|
|
List<GBaseHY> hyList = new ArrayList<>(); |
|
|
|
List<GBaseHY> hyList = new ArrayList<>(); |
|
|
|
log.info("开始查询结婚数据:{}", domain.getIdCards().size()); |
|
|
|
log.info("开始查询结婚数据:{}", domain.getIdCards().size()); |
|
|
|
int count = 0; |
|
|
|
int count = 0; |
|
|
|
@ -82,11 +84,19 @@ public class MarriageServiceImpl implements MarriageService { |
|
|
|
log.info("男性数据:{}", manMap.size()); |
|
|
|
log.info("男性数据:{}", manMap.size()); |
|
|
|
log.info("女性数据:{}", femanMap.size()); |
|
|
|
log.info("女性数据:{}", femanMap.size()); |
|
|
|
// 旧线索
|
|
|
|
// 旧线索
|
|
|
|
List<RiskModelTaskClue> oldClues = Optional.ofNullable(domain.getMap().get(39)).orElse(new ArrayList<>()); |
|
|
|
List<RiskModelTaskClue> oldClues = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); |
|
|
|
Map<String, RiskModelTaskClue> oldClueMap = oldClues.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue)); |
|
|
|
Map<String, RiskModelTaskClue> oldClueMap = oldClues.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue)); |
|
|
|
|
|
|
|
// 旧线索
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> oldClues2 = Optional.ofNullable(domain.getMap().get(task2.getModelId())).orElse(new ArrayList<>()); |
|
|
|
|
|
|
|
Map<String, RiskModelTaskClue> oldClueMap2 = oldClues2.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue)); |
|
|
|
|
|
|
|
|
|
|
|
// 遍历了
|
|
|
|
// 遍历了
|
|
|
|
List<ClueData> toInsertData = new ArrayList<>(); |
|
|
|
List<ClueData> toInsertData = new ArrayList<>(); |
|
|
|
List<RiskModelTaskClue> toUpdateData = new ArrayList<>(); |
|
|
|
List<RiskModelTaskClue> toUpdateData = new ArrayList<>(); |
|
|
|
|
|
|
|
List<ClueData> toInsertData2 = new ArrayList<>(); |
|
|
|
|
|
|
|
List<RiskModelTaskClue> toUpdateData2 = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long targetTime = System.currentTimeMillis() - 31536000000l; |
|
|
|
for (RiskPersonal person : domain.getPersons()) { |
|
|
|
for (RiskPersonal person : domain.getPersons()) { |
|
|
|
List<GBaseHY> tmpList = manMap.get(person.getIdCode()); |
|
|
|
List<GBaseHY> tmpList = manMap.get(person.getIdCode()); |
|
|
|
if(tmpList == null) { |
|
|
|
if(tmpList == null) { |
|
|
|
@ -117,8 +127,12 @@ public class MarriageServiceImpl implements MarriageService { |
|
|
|
} |
|
|
|
} |
|
|
|
if(last.getYwlxdmdm().toUpperCase().contains("IB") || last.getYwlxdmdm().toUpperCase().contains("ICB")) { |
|
|
|
if(last.getYwlxdmdm().toUpperCase().contains("IB") || last.getYwlxdmdm().toUpperCase().contains("ICB")) { |
|
|
|
// 离婚 如果旧数据不存在就要新增
|
|
|
|
// 离婚 如果旧数据不存在就要新增
|
|
|
|
|
|
|
|
if(last.getDjrq().getTime() > targetTime) { |
|
|
|
|
|
|
|
// 近365天的离婚
|
|
|
|
RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); |
|
|
|
RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); |
|
|
|
if(clue == null) { |
|
|
|
if(clue != null) { |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
ClueData data = ClueData.builder() |
|
|
|
ClueData data = ClueData.builder() |
|
|
|
.personId(person.getId()) |
|
|
|
.personId(person.getId()) |
|
|
|
.tag(last.getYwlxdmmc()) |
|
|
|
.tag(last.getYwlxdmmc()) |
|
|
|
@ -129,32 +143,75 @@ public class MarriageServiceImpl implements MarriageService { |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
data.setEventTime(last.getDjrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); |
|
|
|
data.setEventTime(last.getDjrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); |
|
|
|
toInsertData.add(data); |
|
|
|
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")) { |
|
|
|
} else if(last.getYwlxdmdm().toUpperCase().contains("IA") || last.getYwlxdmdm().toUpperCase().contains("ICA")) { |
|
|
|
// 结婚 如果旧数据存在就要修改为0
|
|
|
|
// 结婚 如果旧数据存在就要修改为0
|
|
|
|
|
|
|
|
// 近365天的离婚
|
|
|
|
|
|
|
|
if(last.getDjrq().getTime() > targetTime) { |
|
|
|
RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); |
|
|
|
RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); |
|
|
|
if(clue != null) { |
|
|
|
if(clue == null) { |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
RiskModelTaskClue update = new RiskModelTaskClue(); |
|
|
|
RiskModelTaskClue update = new RiskModelTaskClue(); |
|
|
|
update.setId(clue.getId()); |
|
|
|
update.setId(clue.getId()); |
|
|
|
update.setDel(1); |
|
|
|
update.setDel(1); |
|
|
|
toUpdateData.add(update); |
|
|
|
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<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
log.info("插入数据条数: {}", toInsertData.size()); |
|
|
|
List<RiskModelTaskClue> toInsert2 = new ArrayList<>(); |
|
|
|
|
|
|
|
log.info("插入数据条数: {} | {}", toInsertData.size(), toInsertData2.size()); |
|
|
|
for (ClueData toInsertDatum : toInsertData) { |
|
|
|
for (ClueData toInsertDatum : toInsertData) { |
|
|
|
toInsert.add(createClue(task.getModelId(), 3, task.getId(), toInsertDatum)); |
|
|
|
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()) { |
|
|
|
if(!toInsert.isEmpty()) { |
|
|
|
riskModelTaskClueService.saveClues(toInsert, Default.MARRAY); |
|
|
|
riskModelTaskClueService.saveClues(toInsert, Default.NO_LOVE_IG); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(!toInsert2.isEmpty()) { |
|
|
|
|
|
|
|
riskModelTaskClueService.saveClues(toInsert2, Default.MARRAY_IG); |
|
|
|
} |
|
|
|
} |
|
|
|
if(!toUpdateData.isEmpty()) { |
|
|
|
if(!toUpdateData.isEmpty()) { |
|
|
|
log.info("修改线索 | {}", toUpdateData.size()); |
|
|
|
log.info("修改线索 | {}", toUpdateData.size()); |
|
|
|
clueRepository.updateBatchById(toUpdateData); |
|
|
|
clueRepository.updateBatchById(toUpdateData); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!toUpdateData2.isEmpty()) { |
|
|
|
|
|
|
|
log.info("修改线索2 | {}", toUpdateData2.size()); |
|
|
|
|
|
|
|
clueRepository.updateBatchById(toUpdateData2); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
updateTask.setId(task.getId()); |
|
|
|
updateTask.setId(task.getId()); |
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|