diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index 7995bab..1f4e5e8 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -116,7 +116,6 @@ public class ApplicationEvent { // pointService.personPullAndSave(start, end); // riskPersonalService.fixed(); // -// gBaseJJDService.pullPoliceInstance(start, end); // // // petitionService.petitionModelTask(initDomain(List.of(40))); @@ -136,6 +135,7 @@ public class ApplicationEvent { // pointService.syncDrug(initDomain(List.of(37))); // pointService.syncControlNoPower(initDomain(List.of(48))); // pointService.syncOilBuy(initDomain(List.of(52))); + gBaseJJDService.pullPoliceInstance(start, end, initDomain(List.of(55,56,57,58))); // jsbryService.syncPys(initDomain(List.of(59))); // gBaseSHRWFRService.combatCrime(initDomain(List.of(63))); // gBaseJJDService.syncPoliceAttack(initDomain(List.of(64))); @@ -154,14 +154,14 @@ public class ApplicationEvent { // pointService.syncDomicileType(initDomain(List.of(114))); // pointService.syncCriminalPunishment(initDomain(List.of(115))); // pointService.syncAdministrativePunishment(initDomain(List.of(116))); -// pointService.syncParentsDivorce(initDomain(List.of(117))); -// pointService.syncFamilyDie(initDomain(List.of(118))); -// pointService.syncFatherDie(initDomain(List.of(119))); -// pointService.syncMotherDie(initDomain(List.of(120))); -// pointService.syncChildNo(initDomain(List.of(121))); -// pointService.syncXIDU(initDomain(List.of(122))); -// pointService.syncFiliation(initDomain(List.of(123))); -// pointService.syncPetitionContent(initDomain(List.of(124))); + pointService.syncParentsDivorce(initDomain(List.of(117))); + pointService.syncFamilyDie(initDomain(List.of(118))); + pointService.syncFatherDie(initDomain(List.of(119))); + pointService.syncMotherDie(initDomain(List.of(120))); + 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/dwd/GBaseJJDMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java index efd8417..42ba277 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java @@ -91,11 +91,15 @@ public interface GBaseJJDMapper extends BaseMapper { " bjnr like '%和父亲%' or cjqk like '%和父亲%' or " + " bjnr like '%与爸爸%' or cjqk like '%与爸爸%' or " + " bjnr like '%和爸爸%' or cjqk like '%和爸爸%' or " + - " ((bjnr like '%和儿子%' or cjqk like '%和儿子%' or bjnr like '%与儿子%' or cjqk like '%与儿子%' or " + - " bjnr like '%和女儿%' or cjqk like '%和女儿%' or bjnr like '%与女儿%' or cjqk like '%与女儿%' or" + - " bjnr like '%和子女%' or cjqk like '%和子女%' or bjnr like '%与子女%' or cjqk like '%与子女%') and ( " + - " bjnr like '%系父亲%' or cjqk like '%系父亲%' or bjnr like '%系爸爸%' or cjqk like '%系爸爸%' or " + - " bjnr like '%是父亲%' or cjqk like '%是父亲%' or bjnr like '%是爸爸%' or cjqk like '%是爸爸%')) ") + " (" + + " (bjnr like '%和儿子%' or cjqk like '%和儿子%' or bjnr like '%与儿子%' or cjqk like '%与儿子%' or " + + " bjnr like '%和女儿%' or cjqk like '%和女儿%' or bjnr like '%与女儿%' or cjqk like '%与女儿%' or" + + " bjnr like '%和子女%' or cjqk like '%和子女%' or bjnr like '%与子女%' or cjqk like '%与子女%'" + + " ) and ( " + + " bjnr like '%系父亲%' or cjqk like '%系父亲%' or bjnr like '%系爸爸%' or cjqk like '%系爸爸%' or " + + " bjnr like '%是父亲%' or cjqk like '%是父亲%' or bjnr like '%是爸爸%' or cjqk like '%是爸爸%'" + + " )" + + ") )") List selectFatherRelation(@Param("start")String start); @Select(" select jjdbh, bjdh,bjrxm ,bjrzjhm, bjnr, cjqk, bjsj from dwd_asj_zhtx_jjd " + @@ -108,7 +112,7 @@ public interface GBaseJJDMapper extends BaseMapper { " bjnr like '%和女儿%' or cjqk like '%和女儿%' or bjnr like '%与女儿%' or cjqk like '%与女儿%' or" + " bjnr like '%和子女%' or cjqk like '%和子女%' or bjnr like '%与子女%' or cjqk like '%与子女%') and (" + " bjnr like '%系母亲%' or cjqk like '%系母亲%' or bjnr like '%系妈妈%' or cjqk like '%系妈妈%' or " + - " bjnr like '%是母亲%' or cjqk like '%是母亲%' or bjnr like '%是妈妈%' or cjqk like '%是妈妈%')) ") + " bjnr like '%是母亲%' or cjqk like '%是母亲%' or bjnr like '%是妈妈%' or cjqk like '%是妈妈%'))) ") List selectMotherRelation(@Param("start")String start); /** diff --git a/src/main/java/com/biutag/supervisiondata/service/GBaseJJDService.java b/src/main/java/com/biutag/supervisiondata/service/GBaseJJDService.java index e9f6538..09c6fc3 100644 --- a/src/main/java/com/biutag/supervisiondata/service/GBaseJJDService.java +++ b/src/main/java/com/biutag/supervisiondata/service/GBaseJJDService.java @@ -23,7 +23,7 @@ public interface GBaseJJDService { */ void pullDataAndSaveRedis(LocalDateTime start, LocalDateTime end); - void pullPoliceInstance(LocalDateTime start, LocalDateTime end); + void pullPoliceInstance(LocalDateTime start, LocalDateTime end,TaskParamDomain domain); /** * 攻击警察 * @param domain domain diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java index 1f39a88..d0f5178 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java @@ -303,16 +303,64 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } @Override - public void pullPoliceInstance(LocalDateTime start, LocalDateTime end) { + public void pullPoliceInstance(LocalDateTime start, LocalDateTime end, TaskParamDomain domain) { String startTime = start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); String endTime = end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + List list1 = new ArrayList<>(); + List list2 = new ArrayList<>(); + List list3 = new ArrayList<>(); + List list4 = new ArrayList<>(); + List tasks = new ArrayList<>(4); CompletableFuture.allOf( - CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectRevenge(startTime, endTime), RedisKey.REVENGE)), - CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectHater(startTime, endTime), RedisKey.HATER)), - CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectInjustice(startTime, endTime), RedisKey.INJUSTICE)), - CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectSuicide(startTime, endTime), RedisKey.SUICIDE)) + CompletableFutureUtil.runSyncObject(() -> { + List jjdList = gBaseJJDRepository.getBaseMapper().selectRevenge(startTime, endTime); + RiskTask task = taskRepository.create(jjdList.size(), 58); + list1.addAll(collectJJD(task, "表达报复社会", jjdList, domain)); + tasks.set(0, task.getId()); + }), + CompletableFutureUtil.runSyncObject(() -> { + List jjdList = gBaseJJDRepository.getBaseMapper().selectHater(startTime, endTime); + RiskTask task = taskRepository.create(jjdList.size(), 55); + list2.addAll(collectJJD(task, "表达厌世情绪", gBaseJJDRepository.getBaseMapper().selectHater(startTime, endTime), domain)); + tasks.set(1, task.getId()); + }), + CompletableFutureUtil.runSyncObject(() -> { + List jjdList = gBaseJJDRepository.getBaseMapper().selectInjustice(startTime, endTime); + RiskTask task = taskRepository.create(jjdList.size(), 57); + list3.addAll(collectJJD(task, "表达遭受不公", gBaseJJDRepository.getBaseMapper().selectInjustice(startTime, endTime), domain)); + tasks.set(2, task.getId()); + }), + CompletableFutureUtil.runSyncObject(() -> { + List jjdList = gBaseJJDRepository.getBaseMapper().selectSuicide(startTime, endTime); + RiskTask task = taskRepository.create(jjdList.size(), 56); + list4.addAll(collectJJD(task, "尝试自杀", gBaseJJDRepository.getBaseMapper().selectSuicide(startTime, endTime), domain)); + tasks.set(3, task.getId()); + }) ).join(); + + + if (!list1.isEmpty()) { + log.info("保存复仇者联盟:{}", list1.size()); + clueService.saveClues(list1, "表达报复社会"); + } + if (!list2.isEmpty()) { + log.info("厌世强者:{}", list2.size()); + clueService.saveClues(list2, "表达厌世情绪"); + } + if (!list3.isEmpty()) { + log.info("我命由我不由天:{}", list3.size()); + clueService.saveClues(list3, "表达遭受不公"); + } + if (!list4.isEmpty()) { + log.info("毁灭吧:{}", list4.size()); + clueService.saveClues(list4, "尝试自杀"); + } + taskRepository.updateTask(tasks.get(0), list1.size(), 0); + taskRepository.updateTask(tasks.get(1), list2.size(), 0); + taskRepository.updateTask(tasks.get(2), list3.size(), 0); + taskRepository.updateTask(tasks.get(3), list4.size(), 0); + } private final RiskTaskRepository taskRepository; @@ -500,15 +548,15 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { List toInsert2 = new ArrayList<>(); for (RiskPersonal person : domain.getPersons()) { // 被家暴 - toInsert.addAll(collectionClue(shIdCodeMap,shMobileMap, person, personOldMap, task, "被家暴")); - toInsert2.addAll(collectionClue(wfIdCodeMap,wfMobileMap, person, personOldMap2, task2, "家暴")); + toInsert.addAll(collectionClue(shIdCodeMap, shMobileMap, person, personOldMap, task, "被家暴")); + toInsert2.addAll(collectionClue(wfIdCodeMap, wfMobileMap, person, personOldMap2, task2, "家暴")); } List toUpdate = new ArrayList<>(); List toUpdate2 = new ArrayList<>(); List deleteIdCards = new ArrayList<>(); List deleteIdCards2 = new ArrayList<>(); for (RiskModelTaskClue clue : oldList) { - if(clue.getEventTime().isBefore(limit)) { + if (clue.getEventTime().isBefore(limit)) { RiskModelTaskClue update = new RiskModelTaskClue(); update.setId(update.getId()); update.setDel(1); @@ -518,7 +566,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } for (RiskModelTaskClue clue : oldList2) { - if(clue.getEventTime().isBefore(limit)) { + if (clue.getEventTime().isBefore(limit)) { RiskModelTaskClue update = new RiskModelTaskClue(); update.setId(update.getId()); update.setDel(1); @@ -566,11 +614,11 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { List toInsert2 = eachClue2Save(domain, task2, motherIdCodeMap, "母亲"); - if(!toInsert.isEmpty()) { + if (!toInsert.isEmpty()) { log.info("父亲矛盾增加 {}", toInsert.size()); clueService.saveClues(toInsert, "家庭、人际、两性关系"); } - if(!toInsert2.isEmpty()) { + if (!toInsert2.isEmpty()) { log.info("母亲矛盾增加 {}", toInsert2.size()); clueService.saveClues(toInsert2, "家庭、人际、两性关系"); } @@ -611,7 +659,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } } } - if(!mobileContinue) { + if (!mobileContinue) { continue; } } @@ -624,7 +672,8 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } List tmp = Arrays.stream(mobile.split(",")).toList(); switch (tmp.size()) { - case 0 -> {} + case 0 -> { + } case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); case 2 -> { mobilesMap.computeIfAbsent(tmp.get(0), k -> new ArrayList<>()).add(gBaseJJD); @@ -648,7 +697,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { List toUpdate = new ArrayList<>(); List deleteIdCards = new ArrayList<>(); for (RiskModelTaskClue clue : oldList) { - if(clue.getEventTime().isBefore(limit)) { + if (clue.getEventTime().isBefore(limit)) { RiskModelTaskClue update = new RiskModelTaskClue(); update.setId(update.getId()); update.setDel(1); @@ -699,7 +748,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } } } - if(!mobileContinue) { + if (!mobileContinue) { continue; } } @@ -712,7 +761,8 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } List tmp = Arrays.stream(mobile.split(",")).toList(); switch (tmp.size()) { - case 0 -> {} + case 0 -> { + } case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); case 2 -> { mobilesMap.computeIfAbsent(tmp.get(0), k -> new ArrayList<>()).add(gBaseJJD); @@ -736,7 +786,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { List toUpdate = new ArrayList<>(); List deleteIdCards = new ArrayList<>(); for (RiskModelTaskClue clue : oldList) { - if(clue.getEventTime().isBefore(limit)) { + if (clue.getEventTime().isBefore(limit)) { RiskModelTaskClue update = new RiskModelTaskClue(); update.setId(update.getId()); update.setDel(1); @@ -787,7 +837,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } } } - if(!mobileContinue) { + if (!mobileContinue) { continue; } } @@ -800,7 +850,8 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { } List tmp = Arrays.stream(mobile.split(",")).toList(); switch (tmp.size()) { - case 0 -> {} + case 0 -> { + } case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); case 2 -> { mobilesMap.computeIfAbsent(tmp.get(0), k -> new ArrayList<>()).add(gBaseJJD); @@ -824,7 +875,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { List toUpdate = new ArrayList<>(); List deleteIdCards = new ArrayList<>(); for (RiskModelTaskClue clue : oldList) { - if(clue.getEventTime().isBefore(limit)) { + if (clue.getEventTime().isBefore(limit)) { RiskModelTaskClue update = new RiskModelTaskClue(); update.setId(update.getId()); update.setDel(1); @@ -860,12 +911,12 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { if (idCard.isEmpty()) { idCard = PatternUtil.takeIdCard(gBaseJJD.getBjnr()); } - if(!idCard.isEmpty()) { + if (!idCard.isEmpty()) { List tmp = Arrays.stream(idCard.split(",")).toList(); // 年龄22岁以下才算 for (String s : tmp) { Integer age = IdCodeUtil.idCard2Age(s, today); - if(age != null && age <= 22) { + if (age != null && age <= 22) { idCodesMap.computeIfAbsent(s, k -> new ArrayList<>()).add(gBaseJJD); } } @@ -875,51 +926,53 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { if (idCard.isEmpty()) { mobile = PatternUtil.takeMobile(gBaseJJD.getBjnr()); } - if(idCard.isEmpty()) { + if (idCard.isEmpty()) { continue; } mobiles.addAll(Arrays.stream(mobile.split(",")).toList()); others.add(gBaseJJD); } - List xxList = gBaseSYRKXXRepository.list(new LambdaQueryWrapper() - .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getLxdh).in(GBaseSYRKXX::getLxdh, mobiles)); - Map> mobileRkMap = xxList.stream().collect(Collectors.groupingBy(GBaseSYRKXX::getLxdh)); - // 第二轮通过手机号找身份证 - for (GBaseJJD other : others) { - String mobile = PatternUtil.takeMobile(other.getCjqk()); - if (mobile.isEmpty()) { - mobile = PatternUtil.takeMobile(other.getBjnr()); - } - List tmp = Arrays.stream(mobile.split(",")).toList(); - List idCard = new ArrayList<>(); - for (String s : tmp) { - List arr = Optional.ofNullable(mobileRkMap.get(s)).orElse(new ArrayList<>()); - idCard.addAll(arr.stream().map(GBaseSYRKXX::getGmsfhm).filter(Objects::nonNull).filter(item -> { - Integer age = IdCodeUtil.idCard2Age(item, today); - return age != null && age <= 22; - }).toList()); - } - if(idCard.isEmpty()) { - continue; - } - for (String s : idCard) { - idCodesMap.computeIfAbsent(s, k -> new ArrayList<>()).add(other); + if (!mobiles.isEmpty()) { + List xxList = gBaseSYRKXXRepository.list(new LambdaQueryWrapper() + .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getLxdh).in(GBaseSYRKXX::getLxdh, mobiles)); + Map> mobileRkMap = xxList.stream().collect(Collectors.groupingBy(GBaseSYRKXX::getLxdh)); + // 第二轮通过手机号找身份证 + for (GBaseJJD other : others) { + String mobile = PatternUtil.takeMobile(other.getCjqk()); + if (mobile.isEmpty()) { + mobile = PatternUtil.takeMobile(other.getBjnr()); + } + List tmp = Arrays.stream(mobile.split(",")).toList(); + List idCard = new ArrayList<>(); + for (String s : tmp) { + List arr = Optional.ofNullable(mobileRkMap.get(s)).orElse(new ArrayList<>()); + idCard.addAll(arr.stream().map(GBaseSYRKXX::getGmsfhm).filter(Objects::nonNull).filter(item -> { + Integer age = IdCodeUtil.idCard2Age(item, today); + return age != null && age <= 22; + }).toList()); + } + if (idCard.isEmpty()) { + continue; + } + for (String s : idCard) { + idCodesMap.computeIfAbsent(s, k -> new ArrayList<>()).add(other); + } } } - List oldList = domain.getMap().get(task.getModelId()); + List oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); Map> personMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); List toInsert = new ArrayList<>(); for (RiskPersonal person : domain.getPersons()) { - List jjdList = idCodesMap.get(person.getIdCode()); + List jjdList = Optional.ofNullable(idCodesMap.get(person.getIdCode())).orElse(new ArrayList<>()); jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList(); - if(jjdList == null) { + if (jjdList == null) { continue; } List olds = Optional.ofNullable(personMap.get(person.getIdCode())).orElse(new ArrayList<>()); Map oldMap = olds.stream().collect(Collectors.toMap(RiskModelTaskClue::getCaseIds, Function.identity(), (val, old) -> val)); for (GBaseJJD jjd : jjdList) { - if(oldMap.get(BhUtil.jjdBh(jjd.getJjdbh())) != null) { + if (oldMap.get(BhUtil.jjdBh(jjd.getJjdbh())) != null) { continue; } ClueData data = ClueData.builder() @@ -982,6 +1035,70 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { // } } + /** + * 遍历接警单 + * + * @param modelId 模型id + * @param tag 标签 + * @param result 接警单数据 + * @param domain domain + * @return 要新增的结果 + */ + List collectJJD(RiskTask task, String tag, List result, TaskParamDomain domain) { + Map> idCodesMap = new WeakHashMap<>(); + Map> mobilesMap = new WeakHashMap<>(); + + for (GBaseJJD gBaseJJD : result) { + String idCard = PatternUtil.takeIdCard(gBaseJJD.getCjqk()); + if (idCard.isEmpty()) { + idCard = PatternUtil.takeIdCard(gBaseJJD.getBjnr()); + } + boolean mobileContinue = false; + if (!idCard.isEmpty()) { + List tmp = Arrays.stream(idCard.split(",")).toList(); + switch (tmp.size()) { + case 0 -> mobileContinue = true; + case 1 -> idCodesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); + default -> { + for (int i = 1; i < tmp.size(); i++) { + idCodesMap.computeIfAbsent(tmp.get(i), k -> new ArrayList<>()).add(gBaseJJD); + } + } + } + if (!mobileContinue) { + continue; + } + } + String mobile = PatternUtil.takeMobile(gBaseJJD.getCjqk()); + if (mobile.isEmpty()) { + mobile = PatternUtil.takeMobile(gBaseJJD.getBjnr()); + } + if (mobile.isEmpty()) { + continue; + } + List tmp = Arrays.stream(mobile.split(",")).toList(); + switch (tmp.size()) { + case 0 -> { + } + case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); + default -> { + for (int i = 1; i < tmp.size(); i++) { + mobilesMap.computeIfAbsent(tmp.get(i), k -> new ArrayList<>()).add(gBaseJJD); + } + } + } + } + List oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); + // 按人分 + Map> personOldMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); + + List toInsert = new ArrayList<>(); + for (RiskPersonal person : domain.getPersons()) { + toInsert.addAll(collectionClue(idCodesMap, mobilesMap, person, personOldMap, task, tag)); + } + return toInsert; + } + Map> findTargetJJD(List jjdList) { Map> fatherIdCodeMap = new WeakHashMap<>(); @@ -1003,7 +1120,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { case 1 -> fatherIdCodeMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); default -> fatherIdCodeMap.computeIfAbsent(findSmallOne(tmp), k -> new ArrayList<>()).add(gBaseJJD); } - if(!continueMobile) { + if (!continueMobile) { continue; } } @@ -1019,6 +1136,9 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { others.add(gBaseJJD); } } + if (mobiles.isEmpty()) { + return fatherIdCodeMap; + } List xxList = gBaseSYRKXXRepository.list(new LambdaQueryWrapper() .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getLxdh).in(GBaseSYRKXX::getLxdh, mobiles)); @@ -1035,7 +1155,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { List arr = Optional.ofNullable(mobileRkMap.get(s)).orElse(new ArrayList<>()); idCard.addAll(arr.stream().map(GBaseSYRKXX::getGmsfhm).filter(Objects::nonNull).toList()); } - if(idCard.isEmpty()) { + if (idCard.isEmpty()) { continue; } fatherIdCodeMap.computeIfAbsent(findSmallOne(idCard), k -> new ArrayList<>()).add(other); @@ -1043,30 +1163,30 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { return fatherIdCodeMap; } - List eachClue2Save(TaskParamDomain domain, RiskTask task,Map> fatherIdCodeMap, String tag) { - List oldList = domain.getMap().get(task.getModelId()); + List eachClue2Save(TaskParamDomain domain, RiskTask task, Map> fatherIdCodeMap, String tag) { + List oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); Map> personMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); List toInsert = new ArrayList<>(); for (RiskPersonal person : domain.getPersons()) { - List jjdList = fatherIdCodeMap.get(person.getIdCode()); + List jjdList = Optional.ofNullable(fatherIdCodeMap.get(person.getIdCode())).orElse(new ArrayList<>()); jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList(); - if(jjdList == null) { + if (jjdList == null) { continue; } List olds = Optional.ofNullable(personMap.get(person.getIdCode())).orElse(new ArrayList<>()); Map oldMap = olds.stream().collect(Collectors.toMap(RiskModelTaskClue::getCaseIds, Function.identity(), (val, old) -> val)); for (GBaseJJD jjd : jjdList) { - if(oldMap.get(BhUtil.jjdBh(jjd.getJjdbh())) != null) { + if (oldMap.get(BhUtil.jjdBh(jjd.getJjdbh())) != null) { continue; } ClueData data = ClueData.builder() .name(person.getName()) .id(BhUtil.jjdBh(jjd.getJjdbh())) .idCode(person.getIdCode()) - .tag("与"+tag+"存在矛盾") + .tag("与" + tag + "存在矛盾") .personId(person.getId()) .build(); - StringBuilder sb = new StringBuilder("该人员与"+tag+"存在矛盾,接警单编号:" + jjd.getJjdbh()); + StringBuilder sb = new StringBuilder("该人员与" + tag + "存在矛盾,接警单编号:" + jjd.getJjdbh()); if (jjd.getBjnr() != null && !jjd.getBjnr().isEmpty()) { sb.append(",报警内容;" + jjd.getBjnr()); } @@ -1091,13 +1211,13 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { String idCode = null; int age = 0; for (String s : list) { - if(idCode == null){ + if (idCode == null) { idCode = s; age = Optional.ofNullable(IdCodeUtil.idCard2Age(s, today)).orElse(0); continue; } int tmp = Optional.ofNullable(IdCodeUtil.idCard2Age(s, today)).orElse(0); - if(tmp < age) { + if (tmp < age) { age = tmp; idCode = s; } @@ -1107,15 +1227,16 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { /** * 手机要搜索的clue数据 - * @param idCode 身份证Map - * @param mobile 手机号map - * @param personal 人员 + * + * @param idCode 身份证Map + * @param mobile 手机号map + * @param personal 人员 * @param personOldMap 人员的旧clue - * @param task 任务 - * @param tag 标签 + * @param task 任务 + * @param tag 标签 * @return 要新增的clue */ - List collectionClue(Map> idCode, Map> mobile,RiskPersonal personal,Map> personOldMap, RiskTask task, String tag) { + List collectionClue(Map> idCode, Map> mobile, RiskPersonal personal, Map> personOldMap, RiskTask task, String tag) { List jjdList = Optional.ofNullable(idCode.get(personal.getIdCode())).orElse(new ArrayList<>()); jjdList.addAll(Optional.ofNullable(mobile.get(personal.getMobileNumber())).orElse(new ArrayList<>())); if (jjdList.isEmpty()) { @@ -1136,7 +1257,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { .tag(tag) .personId(personal.getId()) .build(); - StringBuilder sb = new StringBuilder("该人员存在"+tag+"警情,接警单编号:" + gBaseJJD.getJjdbh()); + StringBuilder sb = new StringBuilder("该人员存在" + tag + "警情,接警单编号:" + gBaseJJD.getJjdbh()); if (gBaseJJD.getBjnr() != null && !gBaseJJD.getBjnr().isEmpty()) { sb.append(",报警内容;" + gBaseJJD.getBjnr()); } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java index 04c53dd..61e535a 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java @@ -8,6 +8,7 @@ import com.biutag.supervisiondata.pojo.database.PointOrg; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX; +import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseSHRXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; @@ -356,7 +357,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { } if (!toInsert.isEmpty()) { - clueService.saveClues(toInsert, "B24是否被打击处理"); + clueService.saveClues(toInsert, "B24被打击处理"); } taskRepository.updateTask(task.getId(), toInsert.size(), 0); } @@ -393,7 +394,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { continue; } WdpcGrjdZblx zblx = map.get(xx.getSxzmdm()); - if(zblx == null) { + if (zblx == null) { continue; } ClueData data = ClueData.builder() @@ -402,7 +403,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { .idCode(person.getIdCode()) .tag(zblx.getDmmc()) .personId(person.getId()) - .sourceData("该人员有犯罪前科,刑事处罚罪名:" + zblx.getDmmc() + ",案件编号:" + xx.getAjbh() + ",增加风险"+zblx.getScore().intValue()+"5分") + .sourceData("该人员有犯罪前科,刑事处罚罪名:" + zblx.getDmmc() + ",案件编号:" + xx.getAjbh() + ",增加风险" + zblx.getScore().intValue() + "5分") .build(); try { data.setEventTime(xx.getLrsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); @@ -517,6 +518,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { log.info("实有人口进度{}", count); xxList.addAll(gBaseSYRKXXRepository.list(new LambdaQueryWrapper() .select(GBaseSYRKXX::getZydm, GBaseSYRKXX::getGmsfhm) + .isNotNull(GBaseSYRKXX::getZydm) .in(GBaseSYRKXX::getGmsfhm, srIdCode))); } @@ -525,7 +527,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { String zydm = syMap.get(person.getIdCode()); if (zydm == null) continue; WdpcGrjdZblx zblx = wfzyMap.get(zydm); - if(zblx == null) continue; + if (zblx == null) continue; ClueData data = ClueData.builder() .name(person.getName()) .id("zy") @@ -552,11 +554,11 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { toInsert.add(createClue(task.getModelId(), zblx.getScore().intValue(), task.getId(), data)); } - if(!toInsert.isEmpty()) { + if (!toInsert.isEmpty()) { log.info("保存职业类型: {}", toInsert.size()); clueService.saveClues(toInsert, Default.IMPORT_IG); } - if(!toInsert2.isEmpty()) { + if (!toInsert2.isEmpty()) { log.info("保存无职业: {}", toInsert2.size()); clueService.saveClues(toInsert2, Default.IMPORT_IG); }