diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index d2ffd52..d7812df 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -163,6 +163,7 @@ public class ApplicationEvent { // pointService.syncPetitionDissatisfied(initDomain(List.of(128))); // pointService.syncIsSpecialPeople(initDomain(List.of(129))); // pointService.syncSpecialPeopleType(initDomain(List.of(130))); + pointService.syncParentsRelationship(initDomain(List.of(131))); // *********暂时不要********** // riskTaskService.heightFight(initDomain(List.of(42))); // pointService.syncKillSelf(initDomain(List.of(46))); diff --git a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java index dad3cd0..b336dff 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java @@ -143,4 +143,6 @@ public class Default { public static final String ISSPECIALPEOPLE = "是否特殊人群"; public static final String SPECIALPEOPLETYPE = "特殊人群类型"; + + public static final String PARENTSRELATIONSHIP = "父母关系状况"; } diff --git a/src/main/java/com/biutag/supervisiondata/service/PointService.java b/src/main/java/com/biutag/supervisiondata/service/PointService.java index 3e1d24b..62b2a98 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PointService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PointService.java @@ -125,4 +125,7 @@ public interface PointService { // 特殊人群类型 void syncSpecialPeopleType(TaskParamDomain domain); + + // 父母关系状况 + void syncParentsRelationship(TaskParamDomain domain); } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java index 77fc62c..55880db 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.utils.StreamUtil; import com.biutag.supervisiondata.config.cache.RedisDao; +import com.biutag.supervisiondata.mapper.dwd.ModelClueDataMapper; import com.biutag.supervisiondata.mapper.mine.SupDepartMapper; import com.biutag.supervisiondata.pojo.ClueData; import com.biutag.supervisiondata.pojo.constants.Default; @@ -86,6 +87,10 @@ public class PointServiceImpl implements PointService { private final WdpcXmsfryRepository xmsfryRepository; + private final ModelRepository modelRepository; + + private final ModelClueDataMapper modelClueDataMapper; + @Override public void personPullAndSave(LocalDateTime start, LocalDateTime end) { riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); @@ -964,6 +969,50 @@ public class PointServiceImpl implements PointService { taskRepository.updateById(updateTask); } + @Override + public void syncParentsRelationship(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 131); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + log.info("模型131开始查询"); + String sql = modelRepository.getById(131).getModelSql(); + List> list = modelClueDataMapper.selectByUniqueKeys(sql); + log.info("模型131查询结果数:{}", list.size()); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List toInsert = new ArrayList<>(); + for (Map domicileType : list) { + String gmsfhm = (String) domicileType.get("gmsfhm"); + RiskPersonal personal = personalMap.get(gmsfhm); + if (personal == null) continue; + if (idCode.get(gmsfhm) != null) continue; + if (oldMap.get(gmsfhm) != null) continue; + + idCode.put(gmsfhm, 1); + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("父母关系状况") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员父母关系状况不佳,关联接警单单号为" + domicileType.get("jjdbh") + ",增加风险分5分") + .build(); + toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + } + if (!toInsert.isEmpty()) { + modelTaskClueService.saveClues(toInsert, Default.PARENTSRELATIONSHIP); + } + 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); + } + @Override public void syncXIDU(TaskParamDomain domain) { RiskTask task = createTask(domain.getPersons().size(), 122);