Browse Source

12月内离婚算感情失意12月外离婚算基础因素

master
kami 1 year ago
parent
commit
d79cbc6871
  1. 75
      src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java

75
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<GBaseHY> 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<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));
// 旧线索
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<RiskModelTaskClue> toUpdateData = new ArrayList<>();
List<ClueData> toInsertData2 = new ArrayList<>();
List<RiskModelTaskClue> toUpdateData2 = new ArrayList<>();
long targetTime = System.currentTimeMillis() - 31536000000l;
for (RiskPersonal person : domain.getPersons()) {
List<GBaseHY> 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<RiskModelTaskClue> toInsert = new ArrayList<>();
log.info("插入数据条数: {}", toInsertData.size());
List<RiskModelTaskClue> 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());

Loading…
Cancel
Save