diff --git a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java index cf36a9c..54d6b40 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java @@ -27,7 +27,5 @@ public interface PersonalService { void pullPetition(LocalDateTime start); - void syncOrg(); - void init(); } 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 cbbb84e..cc6155f 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.database.Contradiction; -import com.biutag.supervisiondata.pojo.database.PointOrg; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseTbDZdrylb; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseZDRY; import com.biutag.supervisiondata.pojo.entity.mine.*; import com.biutag.supervisiondata.pojo.enums.DepartType; @@ -18,7 +16,6 @@ import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.PatternUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.cglib.core.Local; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -79,10 +76,7 @@ public class PersonalServiceImpl implements PersonalService { } jjdList.add(item); if (!idCards.isEmpty()) { - String[] strs = idCards.split(","); - for (String s : strs) { - idCodes1.add(s); - } + idCodes1.addAll(Arrays.asList(idCards.split(","))); } else { jjdMMap.computeIfAbsent(item.getBjrlxdh(), k -> new ArrayList<>()).add(item); mobiles1.add(item.getBjrlxdh()); @@ -118,28 +112,24 @@ public class PersonalServiceImpl implements PersonalService { Map cache = new WeakHashMap<>(); LocalDate now = LocalDate.now(); for (GBaseJJD item : jjdList) { - GBaseSYRKXX syrkxx = null; + GBaseSYRKXX syrkxx; // 接警单证件号不为空并没入过库 if (item.getBjrzjhm() != null && cache.get(item.getBjrzjhm()) == null) { syrkxx = idCodeMap.get(item.getBjrzjhm()); cache.put(item.getBjrzjhm(), new Byte[0]); if (syrkxx != null) { - personals.add(createPerson(syrkxx, item.getBjsj(), now, end,Default.BIG_TAG_JJD)); + personals.add(createPerson(syrkxx, item.getBjsj(), now, end, Default.BIG_TAG_JJD)); } continue; } String idCards = PatternUtil.takeIdCard(item.getCjqk()); if (!idCards.isEmpty()) { - String[] strs = idCards.split(","); - for (String s : strs) { - if (cache.get(s) == null) { - syrkxx = idCodeMap.get(s); - cache.put(s, new Byte[0]); - if (syrkxx != null) { - personals.add(createPerson(syrkxx, item.getBjsj(), now, end, Default.BIG_TAG_JJD)); - } - } - } + String[] arr = idCards.split(","); + Arrays.stream(arr).filter(s -> cache.get(s) == null).map(idCodeMap::get) + .filter(Objects::nonNull).forEach(obj -> { + personals.add(createPerson(obj, item.getBjsj(), now, end, Default.BIG_TAG_JJD)); + cache.put(obj.getGmsfhm(), new Byte[0]); + }); continue; } List xxList = Optional.ofNullable(mobileMap.get(item.getBjdh())).orElse(new ArrayList<>()); @@ -196,7 +186,7 @@ public class PersonalServiceImpl implements PersonalService { } mobiles.append(s).append(","); } - personal.setMobileNumber(mobiles.length() == 0 ? "" : mobiles.substring(0, mobiles.length() - 1)); + personal.setMobileNumber(mobiles.isEmpty() ? "" : mobiles.substring(0, mobiles.length() - 1)); } personals.add(personal); } @@ -244,8 +234,8 @@ public class PersonalServiceImpl implements PersonalService { // 捞数据 CompletableFuture.allOf( CompletableFutureUtil.runSyncObject(() -> pList1.addAll(petition12337Repository.list(new LambdaQueryWrapper() - .select(DataPetition12337::getName, DataPetition12337::getIdCode, DataPetition12337::getPhone, DataPetition12337::getThirdDepartId, DataPetition12337::getThirdDepartName) - .ge(DataPetition12337::getDiscoverTime, start)))), + .select(DataPetition12337::getName, DataPetition12337::getIdCode, DataPetition12337::getPhone, DataPetition12337::getThirdDepartId, DataPetition12337::getThirdDepartName) + .ge(DataPetition12337::getDiscoverTime, start)))), CompletableFutureUtil.runSyncObject(() -> pList2.addAll(complaintRepository.list(new LambdaQueryWrapper() .select(DataPetitionComplaint::getResponderName, DataPetitionComplaint::getResponderPhone, DataPetitionComplaint::getResponderName, DataPetitionComplaint::getThirdDepartId, DataPetitionComplaint::getThirdDepartName) .ge(DataPetitionComplaint::getDiscoveryTime, start)))), @@ -255,14 +245,11 @@ public class PersonalServiceImpl implements PersonalService { ).join(); List idCards = new ArrayList<>(); - List mobiles = new ArrayList<>(); idCards.addAll(pList1.stream().map(DataPetition12337::getIdCode).toList()); idCards.addAll(pList2.stream().map(DataPetitionComplaint::getResponderIdCode).toList()); - mobiles.addAll(pList3.stream().map(DataCaseVerif::getResponderPhone).toList()); + List mobiles2 = new ArrayList<>(pList3.stream().map(DataCaseVerif::getResponderPhone).distinct().toList()); List idCards2 = idCards.stream().distinct().toList(); - List mobiles2 = mobiles.stream().distinct().toList(); - List xxList = new ArrayList<>(); // 实有人口数据整合 CompletableFuture.allOf(CompletableFutureUtil.runSyncObject(() -> xxList.addAll(getByIdCode(IntStream.range(0, (idCards2.size() + 9999) / 10000) @@ -277,7 +264,7 @@ public class PersonalServiceImpl implements PersonalService { LocalDate today = now.toLocalDate(); Date nowDate = new Date(); for (GBaseSYRKXX xx : xxList) { - if(map.get(xx.getGmsfhm()) == null) { + if (map.get(xx.getGmsfhm()) == null) { personals.add(createPerson(xx, nowDate, today, now, Default.BIG_TAG_PETITION)); map.put(xx.getGmsfhm(), new Byte[0]); } @@ -285,34 +272,6 @@ public class PersonalServiceImpl implements PersonalService { riskPersonalService.saveDistinct(personals); } - private final SupExternalDepartRepository supExternalDepartRepository; - - @Override - public void syncOrg() { - List xxInfo = gBaseSYRKXXRepository.getBaseMapper().selectOrg(); - List orgs = zdryRepository.getBaseMapper().selectOrg(); - - Map orgIdMap = new WeakHashMap<>(); - Map orgCodeMap = new WeakHashMap<>(); - for (PointOrg org : orgs) { - orgIdMap.put(org.getId(), org); - orgCodeMap.put(org.getDm(), org); - } - int a = 0; - int b = 0; - for (GBaseSYRKXX syrkxx : xxInfo) { - PointOrg org = orgCodeMap.get(syrkxx.getSspcsdm()); - org = findOrg(org, orgIdMap); - if(org== null) { - a++; - continue; - } - b++; - } - log.info("ok{} | notOk{}", b, a); - - } - private final RiskTestRepository riskTestRepository; @Override @@ -325,16 +284,6 @@ public class PersonalServiceImpl implements PersonalService { riskTestRepository.getBaseMapper().truncateTable(); } - PointOrg findOrg(PointOrg org, Map orgIdMap) { - if(org == null) { - return null; - } - if(org.getPcs() == null || !org.getPcs().equals("1")) { - return findOrg(orgIdMap.get(org.getPid()), orgIdMap); - } - return org; - } - /** * 通过身份证号查询实有人口 * @@ -342,14 +291,7 @@ public class PersonalServiceImpl implements PersonalService { * @return 实有人口信息 */ List getByIdCode(List> idCodes) { - List tmp = new ArrayList<>(); - for (int i = 0, len = idCodes.size(); i < len; i++) { - tmp.addAll(gBaseSYRKXXRepository.list(new LambdaQueryWrapper() - .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm, GBaseSYRKXX::getSspcsmc) - .in(GBaseSYRKXX::getGmsfhm, idCodes.get(i)))); - log.info("证件查询进度:{}", i); - } - return tmp; + return getXXInfo(idCodes,1); } /** @@ -359,12 +301,23 @@ public class PersonalServiceImpl implements PersonalService { * @return 查到的实有人口数据 */ List getByMobiles(List> mobiles) { + return getXXInfo(mobiles,2); + } + + List getXXInfo(List> strList, int type) { List tmp = new ArrayList<>(); - for (int i = 0, len = mobiles.size(); i < len; i++) { - tmp.addAll(gBaseSYRKXXRepository.list(new LambdaQueryWrapper() - .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getXlmc, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm, GBaseSYRKXX::getSspcsmc) - .in(GBaseSYRKXX::getLxdh, mobiles.get(i)))); - log.info("手机号查询进度:{}", i); + LambdaQueryWrapper wrapper; + for (int i = 0, len = strList.size(); i < len; i++) { + wrapper = new LambdaQueryWrapper() + .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getXlmc, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm, GBaseSYRKXX::getSspcsmc); + if (type == 1) { + log.info("身份证查询进度:{}", i); + wrapper.in(GBaseSYRKXX::getGmsfhm, strList.get(i)); + } else { + log.info("手机号查询进度:{}", i); + wrapper.in(GBaseSYRKXX::getLxdh, strList.get(i)); + } + tmp.addAll(gBaseSYRKXXRepository.list(wrapper)); } return tmp; }