From 927c17d48ce19dbf30e0d29ffdf48fd86e9c0bd4 Mon Sep 17 00:00:00 2001 From: kami <605128600@qq.com> Date: Thu, 12 Dec 2024 16:52:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AD=A6=E5=8E=86=E5=92=8C?= =?UTF-8?q?=E5=9C=B0=E5=8C=BA=E7=9A=84=E6=9F=A5=E8=AF=A2=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ApplicationEvent.java | 2 +- .../mapper/ads/GBaseSYRKXXMapper.java | 8 +- .../mapper/wdpc/WdpcPersonMapper.java | 1 + .../repository/WdpcPersonRepository.java | 3 - .../service/RiskTaskService.java | 2 + .../service/impl/MarriageServiceImpl.java | 2 +- .../service/impl/PersonalServiceImpl.java | 7 +- .../service/impl/RiskTaskServiceImpl.java | 168 ++++++++++++------ 8 files changed, 133 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index d55f3ff..cf46bfd 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -114,7 +114,7 @@ public class ApplicationEvent { // personalService.syncPerson(); // // petitionService.petitionModelTask(initDomain(List.of(40))); -// riskTaskService.eduModelTask(initDomain(List.of(34))); +// riskTaskService.eduModelTask(initDomain(List.of(34,41))); // riskTaskService.infoModelTask(initDomain(List.of(32,33))); // marriageService.marriageModelTask(initDomain(List.of(39,51))); // pointService.syncSecurity(initDomain(List.of(37))); diff --git a/src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java index 62f6cde..3439cda 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java @@ -63,7 +63,11 @@ public interface GBaseSYRKXXMapper extends BaseMapper { "") List selectListByIdCode(@Param("list")List list); - @Select("select distinct sspcsdm from ads_ssxx_syrkxx where sspcsdm is not null") - List selectOrg(); + /** + * 风险人员的学历和职业 + * @return + */ + @Select(" select a.gmsfhm as gmsfhm, a.xlmc as xlmc, a.csdxzqhdm as csdxzqhdm, a.csdxzqhmc as csdxzqhmc from csga_ads.ads_ssxx_syrkxx as a inner join csga_wdpcdb.wdpc_person as b on a.gmsfhm = b.id_code ") + List selectEduAndArea(); } diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java index 8460492..9189b73 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java @@ -27,4 +27,5 @@ public interface WdpcPersonMapper extends BaseMapper { @Select(" select a.GMSFHM as idCode,a.sdxp as image from csga_dwd.dwd_ry_qbpt_sfzzzxx as a inner join csga_wdpcdb.wdpc_person as b " + "on a.GMSFHM = b.id_code limit #{pageNo}, #{pageSize}") List selectPersonImagePage(@Param("pageNo")Integer pageNo, @Param("pageSize")Integer pageSize); + } diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java index 572671c..733a1bd 100644 --- a/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java @@ -13,7 +13,4 @@ import org.springframework.stereotype.Service; @Service public class WdpcPersonRepository extends ServiceImpl { - void selectAndSave(int pageNo, int pageSize) { - - } } diff --git a/src/main/java/com/biutag/supervisiondata/service/RiskTaskService.java b/src/main/java/com/biutag/supervisiondata/service/RiskTaskService.java index 439f849..bc8b04b 100644 --- a/src/main/java/com/biutag/supervisiondata/service/RiskTaskService.java +++ b/src/main/java/com/biutag/supervisiondata/service/RiskTaskService.java @@ -20,6 +20,8 @@ public interface RiskTaskService { */ void eduModelTask(TaskParamDomain domain); + void eduAndAreaModelTask(TaskParamDomain domain); + /** * (三)行为因素 * @param domain 参数 diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java index 23ed0f2..9f256fa 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java @@ -58,7 +58,7 @@ public class MarriageServiceImpl implements MarriageService { RiskTask task2 = riskTaskRepository.create(data.size(), 51); Map dataMap = data.stream().collect(Collectors.toMap(WdpcGrjdHyqkb::getIdCode, Function.identity(), (val, old) -> val)); - log.info("开始查询结婚数据:{}", domain.getIdCards().size()); + log.info("开始查询结婚数据:{}", dataMap.size()); Map old1 = domain.getOldMap(39, true); Map old2 = domain.getOldMap(51, true); diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java index 5fb11d2..0303514 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java @@ -519,6 +519,7 @@ public class PersonalServiceImpl implements PersonalService { log.info("有效头像共:{}", total); List infoList; List infos; + Map p = new WeakHashMap<>(); for (int page = 1;; page++) { log.info("{}", page); int pageNo = (page- 1) * 10000; @@ -527,12 +528,16 @@ public class PersonalServiceImpl implements PersonalService { infos = new ArrayList<>(); log.info("图像转base64开始:{}",infoList.size()); for (PersonImageInfo item : infoList) { + if(p.get(item.getIdCode().toUpperCase()) != null) { + continue; + } + p.put(item.getIdCode().toUpperCase(), new Byte[0]); RiskPersonInfo info = new RiskPersonInfo(); info.setIdCode(item.getIdCode()); info.setImageBase64(Media.JPEG.concat(Base64.getEncoder().encodeToString(item.getImage()))); infos.add(info); } - infoRepository.saveBatch(infos, 1000); + infoRepository.saveOrUpdateBatch(infos, 1000); if(pageNo + pageSize >= total) { break; } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java index b7a1edb..efdf312 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java @@ -56,22 +56,12 @@ public class RiskTaskServiceImpl implements RiskTaskService { private final GBaseSYRKXXRepository syrkxxRepository; - private final GBaseWFRXXRepository wfrxxRepository; - - private final GBaseAJJBXXRepository ajjbxxRepository; - - private final RiskPersonalRepository riskPersonalRepository; - - private final RiskPersonalControlRecordService controlRecordRepository; - private final RiskModelTaskClueRepository clueRepository; private final RiskModelTaskClueService riskModelTaskClueService; private final RiskPersonalService riskPersonalService; - private final RiskPersonalControlRecordService controlRecordService; - @Override public void infoModelTask(TaskParamDomain domain) { RiskTask genderTask = riskTaskRepository.create(domain.getPersons().size(), 32); @@ -116,9 +106,11 @@ public class RiskTaskServiceImpl implements RiskTaskService { String edu = switch (xx.getXlmc()) { case "小学教育", "文盲", "小学毕业", "小学肄业", "其他" -> "小学及以下"; case "初中毕业", "初级中等教育", "初中肄业" -> "初中"; - case "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业","中等专科结业", "中等专科教育", "中等专业毕业", "技工学校肄业" -> "高中/中专"; - case "大学专科毕业", "大学专科结业", "大学本科/专科教育", "大学生本科结业", "大学生普通班毕业","大学生本科肄业","大学生本科毕业" -> "大学"; - case "硕士研究生毕业", "研究生教育","研究生班肄业" -> "大学以上"; + case "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业", "中等专科结业", "中等专科教育", "中等专业毕业", "技工学校肄业" -> + "高中/中专"; + case "大学专科毕业", "大学专科结业", "大学本科/专科教育", "大学生本科结业", "大学生普通班毕业", "大学生本科肄业", "大学生本科毕业" -> + "大学"; + case "硕士研究生毕业", "研究生教育", "研究生班肄业" -> "大学以上"; default -> null; }; @@ -136,16 +128,16 @@ public class RiskTaskServiceImpl implements RiskTaskService { .name(person.getName()) .idCode(person.getIdCode()) .tag(edu) - .sourceData("该人员的学历为"+xx.getXlmc()+",属于"+edu) + .sourceData("该人员的学历为" + xx.getXlmc() + ",属于" + edu) .eventTime(LocalDateTime.now()) .personId(person.getId()) - .build(), "edu"+person.getId().toString())); + .build(), "edu" + person.getId().toString())); continue; } RiskModelTaskClue tmp = new RiskModelTaskClue(); tmp.setId(old.getId()); tmp.setRiskReason(edu); - tmp.setData("该人员的学历为"+xx.getXlmc()+",属于"+edu); + tmp.setData("该人员的学历为" + xx.getXlmc() + ",属于" + edu); tmp.setScore(Edu.contains(edu)); toUpdate.add(tmp); } @@ -160,6 +152,78 @@ public class RiskTaskServiceImpl implements RiskTaskService { riskTaskRepository.updateTask(eduTask.getId(), toInsert.size(), toUpdate.size()); } + @Override + public void eduAndAreaModelTask(TaskParamDomain domain) { + // 学历 + RiskTask eduTask = riskTaskRepository.create(domain.getPersons().size(), 34); + // 区域 + RiskTask areaTask = riskTaskRepository.create(domain.getPersons().size(), 41); + + List xxList = syrkxxRepository.getBaseMapper().selectEduAndArea(); + Map oldEduMap = domain.getOldMap(34, true); + Map oldAreaMap = domain.getOldMap(41, true); + + Map xxMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); + List toInsert1 = new ArrayList<>(); + List toInsert2 = new ArrayList<>(); + + String areCode = "431122,431322,433127,431382,430525,430722"; + for (RiskPersonal person : domain.getPersons()) { + GBaseSYRKXX xx = xxMap.get(person.getIdCode()); + if (xx == null) { + continue; + } + if (xx.getXlmc() != null && oldEduMap.get(person.getIdCode()) == null) { + String edu = switch (xx.getXlmc()) { + case "小学教育", "文盲", "小学毕业", "小学肄业", "其他" -> "小学及以下"; + case "初中毕业", "初级中等教育", "初中肄业" -> "初中"; + case "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业", "中等专科结业", "中等专科教育", "中等专业毕业", "技工学校肄业" -> + "高中/中专"; + case "大学专科毕业", "大学专科结业", "大学本科/专科教育", "大学生本科结业", "大学生普通班毕业", "大学生本科肄业", "大学生本科毕业" -> + "大学"; + case "硕士研究生毕业", "研究生教育", "研究生班肄业" -> "大学以上"; + default -> null; + }; + if (edu != null) { + Integer score = Edu.contains(edu); + //创建新的 + toInsert1.add(createClue(eduTask.getModelId(), score, eduTask.getId(), ClueData.builder() + .name(person.getName()) + .idCode(person.getIdCode()) + .tag(edu) + .sourceData("该人员的学历为" + xx.getXlmc() + ",属于" + edu) + .eventTime(LocalDateTime.now()) + .personId(person.getId()) + .build(), "edu" + person.getId().toString())); + } + } + if(xx.getCsdxzqhdm() != null && oldAreaMap.get(person.getIdCode()) == null) { + if(!areCode.contains(xx.getCsdxzqhdm())) { + continue; + } + toInsert2.add(createClue(areaTask.getModelId(), 5, areaTask.getId(), ClueData.builder() + .id(BhUtil.sfBh(person.getId().toString())) + .name(person.getName()) + .idCode(person.getIdCode()) + .personId(person.getId()) + .eventTime(LocalDateTime.now()) + .sourceData("发现该人员在" + xx.getCsdxzqhmc() + "成长,该地区暴力警情情况较多") + .tag(xx.getCsdxzqhmc()) + .build(), "area___" + person.getId().toString())); + } + } + if(!toInsert1.isEmpty()) { + log.info("保存学历:{}", toInsert1.size()); + riskModelTaskClueService.saveClues(toInsert1, Default.EDU_IG); + } + riskTaskRepository.updateTask(eduTask.getId(), toInsert1.size(), 0); + if(!toInsert2.isEmpty()) { + log.info("保存风险区域:{}", toInsert2.size()); + riskModelTaskClueService.saveClues(toInsert2, Default.FIGHT_IG); + } + riskTaskRepository.updateTask(areaTask.getId(), toInsert2.size(), 0); + } + @Override public void behavior(TaskParamDomain domain) { RiskTask task = riskTaskRepository.create(domain.getPersons().size(), 20); @@ -275,17 +339,17 @@ public class RiskTaskServiceImpl implements RiskTaskService { Map personMap = new HashMap<>(); // 将旧clue的人剔除出去,一个人的出生地一般不会变 for (RiskPersonal person : domain.getPersons()) { - if(map.get(person.getIdCode()) != null) { + if (map.get(person.getIdCode()) != null) { continue; } - if(idCards.isEmpty() || idCards.getLast().size() >= 10000) { + if (idCards.isEmpty() || idCards.getLast().size() >= 10000) { idCards.add(new ArrayList<>()); } idCards.getLast().add(person.getIdCode()); personMap.put(person.getIdCode(), person); } - if(idCards.isEmpty()) { - riskTaskRepository.updateTask(task.getId(), 0,0); + if (idCards.isEmpty()) { + riskTaskRepository.updateTask(task.getId(), 0, 0); return; } @@ -301,8 +365,8 @@ public class RiskTaskServiceImpl implements RiskTaskService { log.info("地区进度 | {}", count); } - if(xxList.isEmpty()) { - riskTaskRepository.updateTask(task.getId(), 0,0); + if (xxList.isEmpty()) { + riskTaskRepository.updateTask(task.getId(), 0, 0); return; } @@ -316,11 +380,11 @@ public class RiskTaskServiceImpl implements RiskTaskService { .idCode(person.getIdCode()) .personId(person.getId()) .eventTime(LocalDateTime.now()) - .sourceData("发现该人员在"+gBaseSYRKXX.getCsdxzqhmc()+"成长,该地区暴力警情情况较多,增加风险分5分") + .sourceData("发现该人员在" + gBaseSYRKXX.getCsdxzqhmc() + "成长,该地区暴力警情情况较多,增加风险分5分") .tag(gBaseSYRKXX.getCsdxzqhmc()) - .build(), "area___"+person.getId().toString())); + .build(), "area___" + person.getId().toString())); } - if(!toInsert.isEmpty()) { + if (!toInsert.isEmpty()) { log.info("开始操作新增项:{}", toInsert.size()); riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_IG); } @@ -371,26 +435,26 @@ public class RiskTaskServiceImpl implements RiskTaskService { List manList = new ArrayList<>(); int count = 0; for (FightMan fightMan : fightMans) { - if(fightMan.getFightCount() < 5) { + if (fightMan.getFightCount() < 5) { continue; } count++; RiskModelTaskClue old = oldMap.get(fightMan.getGmsfhm()); - if(old != null) { + if (old != null) { RiskModelTaskClue update = new RiskModelTaskClue(); update.setId(old.getId()); - update.setData("该人员在近期发生"+fightMan.getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); + update.setData("该人员在近期发生" + fightMan.getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); toUpdates.add(update); continue; } // 看看人员信息是否存在,决定需要增加人员不 RiskPersonal person = personalMap.get(fightMan.getGmsfhm()); - if(person == null) { + if (person == null) { fightManMap.put(fightMan.getGmsfhm(), fightMan); manList.add(fightMan.getGmsfhm()); continue; } - RiskModelTaskClue clue = createClue(task.getModelId(),3, person,task.getId(), fightMan.getFightCount()+"起纠纷", "该人员在近期发生"+fightMan.getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); + RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), fightMan.getFightCount() + "起纠纷", "该人员在近期发生" + fightMan.getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); toInsert.add(clue); person.setId(null); person.setTags(Default.FIGHT_MUCH); @@ -400,35 +464,35 @@ public class RiskTaskServiceImpl implements RiskTaskService { List list = syrkxxRepository.list(new LambdaQueryWrapper() - .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm) + .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm) .in(GBaseSYRKXX::getGmsfhm, manList)); - Map map = list.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); + Map map = list.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); for (Map.Entry s : fightManMap.entrySet()) { GBaseSYRKXX xx = map.get(s.getKey()); - if(xx == null) { + if (xx == null) { xx = syrkxxMap.get(s.getKey()); } - if(xx == null) { + if (xx == null) { continue; } - RiskPersonal personal = createPerson(xx, Default.FIGHT_MUCH,orgCodeMap,orgIdMap, jqExternalDepart); + RiskPersonal personal = createPerson(xx, Default.FIGHT_MUCH, orgCodeMap, orgIdMap, jqExternalDepart); toInsertPeople.add(personal); - RiskModelTaskClue clue = createClue(task.getModelId(),3, personal,task.getId(), s.getValue().getFightCount()+"起纠纷", "该人员在近期发生"+s.getValue().getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); + RiskModelTaskClue clue = createClue(task.getModelId(), 3, personal, task.getId(), s.getValue().getFightCount() + "起纠纷", "该人员在近期发生" + s.getValue().getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); toInsert.add(clue); } - if(!toInsertPeople.isEmpty()) { + if (!toInsertPeople.isEmpty()) { log.info("新增人员 | {}", toInsertPeople.size()); riskPersonalService.formatAndSave(toInsertPeople, Default.FIGHT_MUCH); } - if(!toUpdates.isEmpty()) { + if (!toUpdates.isEmpty()) { log.info("修改线索 | {}", toUpdates.size()); clueRepository.updateBatchById(toUpdates); } - if(!toInsert.isEmpty()) { + if (!toInsert.isEmpty()) { log.info("新增线索 | {}", toInsert.size()); riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_MUCH_IG); } @@ -464,32 +528,32 @@ public class RiskTaskServiceImpl implements RiskTaskService { } // 符合条件但是又没有旧数据 | 新增 if (age >= 16 && age <= 24) { - RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于16岁至24岁之间", "该人员年龄为"+age+",属于16岁至24岁之间,增加风险分1分"); + RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于16岁至24岁之间", "该人员年龄为" + age + ",属于16岁至24岁之间,增加风险分1分"); taskClue.add(clue); continue; } if (age >= 25 && age <= 34) { - RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于25岁至34岁之间", "该人员年龄为"+age+",属于25岁至34岁之间,增加风险分3分"); + RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于25岁至34岁之间", "该人员年龄为" + age + ",属于25岁至34岁之间,增加风险分3分"); taskClue.add(clue); continue; } if (age >= 35 && age <= 55) { - RiskModelTaskClue clue = createClue(task.getModelId(), 5, person, task.getId(), "年龄处于35岁至55岁之间", "该人员年龄为"+age+",属于35岁至55岁之间,增加风险分5分"); + RiskModelTaskClue clue = createClue(task.getModelId(), 5, person, task.getId(), "年龄处于35岁至55岁之间", "该人员年龄为" + age + ",属于35岁至55岁之间,增加风险分5分"); taskClue.add(clue); continue; } if (age >= 56 && age <= 65) { - RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于56岁至66岁之间", "该人员年龄为"+age+",属于56岁至66岁之间,增加风险分3分"); + RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于56岁至66岁之间", "该人员年龄为" + age + ",属于56岁至66岁之间,增加风险分3分"); taskClue.add(clue); continue; } if (age >= 66 && age <= 75) { - RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于66岁至75岁之间", "该人员年龄为"+age+",属于66岁至75岁之间,增加风险分1分"); + RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于66岁至75岁之间", "该人员年龄为" + age + ",属于66岁至75岁之间,增加风险分1分"); taskClue.add(clue); } } riskModelTaskClueService.saveClues(taskClue, Default.AGE_IG); - if(!toHidden.isEmpty()) { + if (!toHidden.isEmpty()) { clueRepository.updateBatchById(toHidden); } riskTaskRepository.updateTask(task.getId(), taskClue.size(), toHidden.size()); @@ -552,13 +616,13 @@ public class RiskTaskServiceImpl implements RiskTaskService { return clue; } - RiskPersonal createPerson(GBaseSYRKXX xx, String tag, Map orgCodeMap, Map orgIdMap,Map jqExternalDepart) { + RiskPersonal createPerson(GBaseSYRKXX xx, String tag, Map orgCodeMap, Map orgIdMap, Map jqExternalDepart) { RiskPersonal person = new RiskPersonal(); person.setName(xx.getXm()); person.setMobileNumber(xx.getLxdh()); person.setIdCode(xx.getGmsfhm()); - if(xx.getSspcsdm()!= null) { + if (xx.getSspcsdm() != null) { PointOrg org = orgCodeMap.get(xx.getSspcsdm()); org = findOrg(org, orgIdMap); SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null); @@ -570,20 +634,20 @@ public class RiskTaskServiceImpl implements RiskTaskService { } } - try{ + try { int age = IdCodeUtil.idCard2Age(person.getIdCode(), LocalDate.now()); - if(age <= 6) { + if (age <= 6) { return null; } person.setAge(age); } catch (Exception e) { return null; } - if(person.getGender() == null) { - try{ + if (person.getGender() == null) { + try { int gender = person.getIdCode().length() == 18 ? Integer.valueOf(person.getIdCode().substring(16, 17)) : Integer.valueOf(person.getIdCode().substring(14, 15)); // 结果0男1女 余数偶女奇男 - person.setGender(gender % 2 == 0 ?"2":"1"); + person.setGender(gender % 2 == 0 ? "2" : "1"); } catch (Exception e) { return null; }