From a0d1c3b5dec26f0efd6b0c471d83c5a2357b7fad Mon Sep 17 00:00:00 2001 From: sjh Date: Mon, 9 Dec 2024 17:13:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E8=AE=BF=E8=AF=89=E6=B1=82=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ApplicationEvent.java | 1 + .../mapper/wdpc2/WdpcXfsjCsDetailMapper.java | 50 ++++++++++ .../pojo/constants/Default.java | 2 + .../pojo/entity/wdpc2/WdpcXfsjCsDetail.java | 31 ++++++ .../WdpcXfsjCsDetailRepository.java | 15 +++ .../supervisiondata/service/PointService.java | 3 + .../service/impl/PointServiceImpl.java | 94 +++++++++++++++++++ 7 files changed, 196 insertions(+) create mode 100644 src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java create mode 100644 src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXfsjCsDetail.java create mode 100644 src/main/java/com/biutag/supervisiondata/repository/WdpcXfsjCsDetailRepository.java diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index 5477685..41db8d3 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -153,6 +153,7 @@ public class ApplicationEvent { pointService.syncChildNo(initDomain(List.of(121))); pointService.syncXIDU(initDomain(List.of(122))); pointService.syncFiliation(initDomain(List.of(123))); + pointService.syncPetitionContent(initDomain(List.of(124))); // *********暂时不要********** // riskTaskService.caseModelTask(initDomain(List.of(35))); diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java new file mode 100644 index 0000000..9d91cea --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java @@ -0,0 +1,50 @@ +package com.biutag.supervisiondata.mapper.wdpc2; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXfsjCsDetail; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author kami on 2024-12-06 10:23:13 + * @version 0.0.1 + * @since 1.8 + */ +public interface WdpcXfsjCsDetailMapper extends BaseMapper { + @Select("") + List selectPetitionContent5(List idNos); + + @Select("") + List selectPetitionContent3(List idNos); + + @Select("") + List selectPetitionContent2(List idNos); +} 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 376f651..ee3db83 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java @@ -130,4 +130,6 @@ public class Default { public static final String FILIATION = "与子女关系"; + public static final String PETITIONCONTENT = "上访诉求内容"; + } diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXfsjCsDetail.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXfsjCsDetail.java new file mode 100644 index 0000000..e544d52 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXfsjCsDetail.java @@ -0,0 +1,31 @@ +package com.biutag.supervisiondata.pojo.entity.wdpc2; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * 信访数据 长沙 详情 + * @author kami on 2024-12-06 10:20:42 + * @version 0.0.1 + * @since 1.8 + */ +@Data +@TableName("`wdpc_grjd_xfsj_cs_detail`") +public class WdpcXfsjCsDetail implements Serializable { + + /** + * 身份证号码 + */ + @TableField("`id_code`") + String idCode; + + @TableField("`count_num`") + Integer countNum; + + @TableField("`detail`") + String detail; + +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcXfsjCsDetailRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcXfsjCsDetailRepository.java new file mode 100644 index 0000000..428da4c --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcXfsjCsDetailRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.wdpc2.WdpcXfsjCsDetailMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXfsjCsDetail; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-12-04 16:18:26 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class WdpcXfsjCsDetailRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/service/PointService.java b/src/main/java/com/biutag/supervisiondata/service/PointService.java index 1bd6e76..ab69332 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PointService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PointService.java @@ -104,4 +104,7 @@ public interface PointService { // 与子女关系 void syncFiliation(TaskParamDomain domain); + + // 上访诉求内容 + void syncPetitionContent(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 3d85fea..c4403d7 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java @@ -17,6 +17,7 @@ import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcHZCRYXX; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXdry; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXfsjCsDetail; import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.PointService; import com.biutag.supervisiondata.service.RiskModelTaskClueService; @@ -74,6 +75,8 @@ public class PointServiceImpl implements PointService { private final GBaseJJDRepository jjdRepository; + private final WdpcXfsjCsDetailRepository xfsjCsDetailRepository; + @Override public void personPullAndSave(LocalDateTime start, LocalDateTime end) { riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); @@ -605,6 +608,97 @@ public class PointServiceImpl implements PointService { taskRepository.updateById(updateTask); } + @Override + public void syncPetitionContent(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 124); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + List list5 = new ArrayList<>(); + List list3 = new ArrayList<>(); + List list2 = new ArrayList<>(); + log.info("模型124开始查询"); + for (List idCard : domain.getIdCards()) { + list5.addAll(xfsjCsDetailRepository.getBaseMapper().selectPetitionContent5(idCard)); + list3.addAll(xfsjCsDetailRepository.getBaseMapper().selectPetitionContent3(idCard)); + list2.addAll(xfsjCsDetailRepository.getBaseMapper().selectPetitionContent2(idCard)); + } + log.info("模型124查询结果数:{}、{}、{}", list5.size(), list3.size(), list2.size()); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List toInsert = new ArrayList<>(); + for (WdpcXfsjCsDetail domicileType : list5) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.getIdCode(), 1); + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("上访诉求内容") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员上访过" + domicileType.getCountNum() + + "次,上访内容为" + domicileType.getDetail() + + ",为涉退、涉迁、涉军等重点管控群体,增加风险分5分") + .build(); + toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + } + for (WdpcXfsjCsDetail domicileType : list3) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.getIdCode(), 1); + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("上访诉求内容") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员上访过" + domicileType.getCountNum() + + "次,上访内容为" + domicileType.getDetail() + + ",为投诉、举报等诉求,增加风险分3分") + .build(); + toInsert.add(createClue(task.getModelId(), 3, task.getId(), data)); + } + for (WdpcXfsjCsDetail domicileType : list2) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.getIdCode(), 1); + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("上访诉求内容") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员上访过" + domicileType.getCountNum() + + "次,上访内容为" + domicileType.getDetail() + + ",为待遇不公、房屋交房等诉求,增加风险分2分") + .build(); + toInsert.add(createClue(task.getModelId(), 2, task.getId(), data)); + } + if (!toInsert.isEmpty()) { + modelTaskClueService.saveClues(toInsert, Default.PETITIONCONTENT); + } + 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 syncFiliation(TaskParamDomain domain) { RiskTask task = createTask(domain.getPersons().size(), 123);