diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index 534cc24..8f1af79 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -133,11 +133,12 @@ public class ApplicationEvent { // pointService.syncControlNoPower(initDomain(List.of(48))); // pointService.syncPointCall(initDomain(List.of(50))); // pointService.syncOilBuy(initDomain(List.of(52))); -// pointService.syncIsPetition(initDomain(List.of(101))); -// pointService.syncFatherEducation(initDomain(List.of(102))); -// pointService.syncMotherEducation(initDomain(List.of(103))); -// pointService.syncDomicileType(initDomain(List.of(104))); - pointService.syncDomicileType(initDomain(List.of(105))); +// pointService.syncIsPetition(initDomain(List.of(111))); +// pointService.syncFatherEducation(initDomain(List.of(112))); +// pointService.syncMotherEducation(initDomain(List.of(113))); + pointService.syncDomicileType(initDomain(List.of(114))); + pointService.syncCriminalPunishment(initDomain(List.of(115))); + pointService.syncAdministrativePunishment(initDomain(List.of(116))); }); } diff --git a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseCSCZRKMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseCSCZRKMapper.java index f655cf1..6aa6d69 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseCSCZRKMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseCSCZRKMapper.java @@ -17,6 +17,11 @@ public interface GBaseCSCZRKMapper extends BaseMapper { List selectMotherEducation(); // 户籍类型 - @Select("select gmsfhm, hlxmc from dwd_ry_kxgxzyk_csczrk where hlxmc is not null") - List selectDomicileType(); + @Select("") + List selectDomicileType(List idNos); } diff --git a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseGAXZCFJDSMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseGAXZCFJDSMapper.java new file mode 100644 index 0000000..832953c --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseGAXZCFJDSMapper.java @@ -0,0 +1,17 @@ +package com.biutag.supervisiondata.mapper.dwd; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.dwd.GBaseGAXZCFJDS; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author kami on 2024-11-10 15:14:34 + * @version 0.0.1 + * @since 1.8 + */ +public interface GBaseGAXZCFJDSMapper extends BaseMapper { + @Select("select ajbh, ajmc, zjhm, cfms1 from dwd_wp_zfba_gaxzcfjds;") + List selectAdministrativePunishment(); +} diff --git a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseWFRWFXXMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseWFRWFXXMapper.java new file mode 100644 index 0000000..ebcc27a --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseWFRWFXXMapper.java @@ -0,0 +1,18 @@ +package com.biutag.supervisiondata.mapper.dwd; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRWFXX; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author kami on 2024-11-10 15:14:34 + * @version 0.0.1 + * @since 1.8 + */ +public interface GBaseWFRWFXXMapper extends BaseMapper { + @Select("select a.ajbh, b.zjhm, b.ajmc, b.yjsm, b.djrq from dwd_asj_zfba_ajjbxx a " + + "join dwd_asj_zfba_wfrwfxx b on a.ajbh = b.ajbh where ajbzdm = 1;") + List selectCriminalPunishment(); +} 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 a81b1fd..7299914 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java @@ -97,4 +97,8 @@ public class Default { public static final String MOTHER_EDUCATION = "母亲文化程度"; public static final String DOMICILETYPE = "户籍类型"; + + public static final String CRIMINALPUNISHMENT = "受到刑事处罚"; + + public static final String ADMINISTRATIVEPUNISHMENT = "受到行政处罚"; } diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseGAXZCFJDS.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseGAXZCFJDS.java new file mode 100644 index 0000000..a70d0b4 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseGAXZCFJDS.java @@ -0,0 +1,43 @@ +package com.biutag.supervisiondata.pojo.entity.dwd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 公安行政处罚决定书 + * @author kami on 2024-11-10 14:47:22 + * @version 0.0.1 + * @since 1.8 + */ +@Data +@TableName("dwd_wp_zfba_gaxzcfjds") +public class GBaseGAXZCFJDS implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + /** + * 案件编号 + */ + @TableField("ajbh") + String ajbh; + /** + * 证件号码 + */ + @TableField("zjhm") + String zjhm; + /** + * 案件名称 + */ + @TableField("ajmc") + String ajmc; + /** + * 处罚描述 + */ + @TableField("cfms1") + String cfms1; + +} diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseWFRWFXX.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseWFRWFXX.java new file mode 100644 index 0000000..b101ed6 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseWFRWFXX.java @@ -0,0 +1,49 @@ +package com.biutag.supervisiondata.pojo.entity.dwd; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * 违法人违法信息 + * @author kami on 2024-11-10 14:47:22 + * @version 0.0.1 + * @since 1.8 + */ +@Data +@TableName("dwd_asj_zfba_wfrwfxx") +public class GBaseWFRWFXX implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + /** + * 案件编号 + */ + @TableField("ajbh") + String ajbh; + /** + * 证件号码 + */ + @TableField("zjhm") + String zjhm; + /** + * 案件名称 + */ + @TableField("ajmc") + String ajmc; + /** + * 简要说明 + */ + @TableField("jysm") + String jysm; + /** + * 登记日期 + */ + @TableField("djrq") + Date djrq; + +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/GBaseGAXZCFJDSRepository.java b/src/main/java/com/biutag/supervisiondata/repository/GBaseGAXZCFJDSRepository.java new file mode 100644 index 0000000..2d8076c --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/GBaseGAXZCFJDSRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.dwd.GBaseGAXZCFJDSMapper; +import com.biutag.supervisiondata.pojo.entity.dwd.GBaseGAXZCFJDS; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-11-10 15:21:56 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class GBaseGAXZCFJDSRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/GBaseWFRWFXXRepository.java b/src/main/java/com/biutag/supervisiondata/repository/GBaseWFRWFXXRepository.java new file mode 100644 index 0000000..c2564c1 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/GBaseWFRWFXXRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.dwd.GBaseWFRWFXXMapper; +import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRWFXX; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-11-10 15:21:56 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class GBaseWFRWFXXRepository 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 a79d166..9e2dfa1 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PointService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PointService.java @@ -54,4 +54,10 @@ public interface PointService { * @param domain domain */ void syncCarUser(TaskParamDomain domain); + + // 刑事处罚 + void syncCriminalPunishment(TaskParamDomain domain); + + // 行政处罚 + void syncAdministrativePunishment(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 f56d35d..a30b39b 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java @@ -11,10 +11,7 @@ import com.biutag.supervisiondata.pojo.database.MuchCall; import com.biutag.supervisiondata.pojo.database.PointOrg; import com.biutag.supervisiondata.pojo.database.SecurityMan; import com.biutag.supervisiondata.pojo.domain.*; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseCSCZRK; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseOilBuy; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseTbDZdrylb; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseZDRY; +import com.biutag.supervisiondata.pojo.entity.dwd.*; import com.biutag.supervisiondata.pojo.entity.mine.*; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; import com.biutag.supervisiondata.repository.*; @@ -64,6 +61,10 @@ public class PointServiceImpl implements PointService { private final GBaseCSCZRKRepository cSCZRKRepository; + private final GBaseWFRWFXXRepository wFRWFXXRepository; + + private final GBaseGAXZCFJDSRepository gAXZCFJDSRepository; + @Override public void personPullAndSave(LocalDateTime start, LocalDateTime end) { riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); @@ -237,16 +238,102 @@ public class PointServiceImpl implements PointService { taskRepository.updateById(updateTask); } + @Override + public void syncAdministrativePunishment(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 116); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + List list = gAXZCFJDSRepository.getBaseMapper().selectAdministrativePunishment(); + log.info("模型116查询结果数:{}", list.size()); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List toInsert = new ArrayList<>(); + for (GBaseGAXZCFJDS domicileType : list) { + RiskPersonal personal = personalMap.get(domicileType.getZjhm()); + if (personal == null) continue; + if (idCode.get(domicileType.getZjhm()) != null) continue; + if (oldMap.get(domicileType.getZjhm()) != null) continue; + + idCode.put(domicileType.getZjhm(), 1); + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("受到行政处罚") + .personId(personal.getId()) + .sourceData("发现该人员涉及案件“" + domicileType.getAjmc() + "”,案件编号:" + + domicileType.getAjbh() + ",处罚内容为“" + domicileType.getCfms1() + + "”。因受到行政处罚,增加风险分5分") + .build(); + toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + } + if (!toInsert.isEmpty()) { + modelTaskClueService.saveClues(toInsert, Default.ADMINISTRATIVEPUNISHMENT); + } + 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 syncCriminalPunishment(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 115); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + List list = wFRWFXXRepository.getBaseMapper().selectCriminalPunishment(); + log.info("模型115查询结果数:{}", list.size()); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List toInsert = new ArrayList<>(); + for (GBaseWFRWFXX domicileType : list) { + RiskPersonal personal = personalMap.get(domicileType.getZjhm()); + if (personal == null) continue; + if (idCode.get(domicileType.getZjhm()) != null) continue; + if (oldMap.get(domicileType.getZjhm()) != null) continue; + + idCode.put(domicileType.getZjhm(), 1); + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("受到刑事处罚") + .personId(personal.getId()) + .sourceData("发现该人员" + domicileType.getJysm() + "案件编号:" + domicileType.getAjbh() + + ",因受到刑事处罚,增加风险分5分") + .build(); + toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + } + if (!toInsert.isEmpty()) { + modelTaskClueService.saveClues(toInsert, Default.CRIMINALPUNISHMENT); + } + 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 syncDomicileType(TaskParamDomain domain) { - RiskTask task = createTask(domain.getPersons().size(), 104); + RiskTask task = createTask(domain.getPersons().size(), 114); taskRepository.save(task); Map oldMap = domain.getOldMap(task.getModelId(), true); Map idCode = new HashMap<>(); - List list = cSCZRKRepository.getBaseMapper().selectDomicileType(); - log.info("模型104查询结果数:{}", list.size()); + List list = new ArrayList<>(); + log.info("模型114开始查询"); + for (List idCard : domain.getIdCards()) { + list.addAll(cSCZRKRepository.getBaseMapper().selectDomicileType(idCard)); + } + log.info("模型114查询结果数:{}", list.size()); Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); List toInsert = new ArrayList<>(); for (GBaseCSCZRK domicileType : list) { @@ -285,13 +372,13 @@ public class PointServiceImpl implements PointService { @Override public void syncFatherEducation(TaskParamDomain domain) { - RiskTask task = createTask(domain.getPersons().size(), 102); + RiskTask task = createTask(domain.getPersons().size(), 112); taskRepository.save(task); Map oldMap = domain.getOldMap(task.getModelId(), true); Map idCode = new HashMap<>(); List list = cSCZRKRepository.getBaseMapper().selectFatherEducation(); - log.info("模型102查询结果数:{}", list.size()); + log.info("模型112查询结果数:{}", list.size()); Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); List toInsert = new ArrayList<>(); for (GBaseCSCZRK fatherEducation : list) { @@ -326,13 +413,13 @@ public class PointServiceImpl implements PointService { @Override public void syncMotherEducation(TaskParamDomain domain) { - RiskTask task = createTask(domain.getPersons().size(), 103); + RiskTask task = createTask(domain.getPersons().size(), 113); taskRepository.save(task); Map oldMap = domain.getOldMap(task.getModelId(), true); Map idCode = new HashMap<>(); List list = cSCZRKRepository.getBaseMapper().selectMotherEducation(); - log.info("模型103查询结果数:{}", list.size()); + log.info("模型113查询结果数:{}", list.size()); Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); List toInsert = new ArrayList<>(); for (GBaseCSCZRK motherEducation : list) { @@ -386,15 +473,15 @@ public class PointServiceImpl implements PointService { @Override public void syncIsPetition(TaskParamDomain domain) { - RiskTask task = createTask(domain.getPersons().size(), 101); + RiskTask task = createTask(domain.getPersons().size(), 111); taskRepository.save(task); Map oldMap = domain.getOldMap(task.getModelId(), true); Map idCode = new HashMap<>(); List list = wdpcGrjdXfsjRepository.getBaseMapper().selectXfMan(); - log.info("模型101第一次查询结果数:{}", list.size()); + log.info("模型111第一次查询结果数:{}", list.size()); list.addAll(wdpcGrjdXfsjCsRepository.getBaseMapper().selectXfMan()); - log.info("模型101第二次查询后总结果数:{}", list.size()); + log.info("模型111第二次查询后总结果数:{}", list.size()); Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); List toInsert = new ArrayList<>(); for (WdpcGrjdXfsj xfMan : list) {