diff --git a/src/main/java/ru/nbch/credit_tracker/service/indic/PhoneService2.java b/src/main/java/ru/nbch/credit_tracker/service/indic/PhoneService2.java index 461feba..0d5daba 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/indic/PhoneService2.java +++ b/src/main/java/ru/nbch/credit_tracker/service/indic/PhoneService2.java @@ -86,20 +86,20 @@ public class PhoneService2 { Map> fidFidsDataMap = phonesByFid.stream() .collect(Collectors.groupingBy(PhoneRepository.FidsDataWithName::getFid)); - Map phoneToFidsMap = new HashMap<>(); + Map phoneToFidsMap = new HashMap<>(); for (PhoneRepository.FidsDataWithName fidsData : phonesByFid) { if (!phoneToFidsMap.containsKey(fidsData.getPhone())) { - phoneToFidsMap.put(fidsData.getPhone(), fidsData); + phoneToFidsMap.put(fidsData.getPhone(), fidsData.getFid()); } } for (PhoneFidMap phoneFid : subjects) { String phone = "9" + phoneFid.getPhone(); - PhoneRepository.FidsDataWithName fidsData = phoneToFidsMap.get(phone); - if (fidsData != null) { - phoneFid.setFid(fidsData.getFid()); + Integer fid = phoneToFidsMap.get(phone); + if (fid != null) { + phoneFid.setFid(fid); - List fidsDataWithNames = fidFidsDataMap.get(fidsData.getFid()); + List fidsDataWithNames = fidFidsDataMap.get(fid); if (fidsDataWithNames != null) { PhoneRepository.FidsDataWithName nameData = defineNameData(fidsDataWithNames); @@ -111,10 +111,10 @@ public class PhoneService2 { phoneFid.setFileSinceDate(nameData.getFileSinceDateName()); } - phoneFidMap.put(fidsData.getFid(), phoneFid); - phoneToFidsMap.remove(phone); - fidFidsDataMap.remove(fidsData.getFid()); + fidFidsDataMap.remove(fid); } + phoneFidMap.put(fid, phoneFid); // TODO можно перезатереть запись если у разных phone нашлись одинаковые фиды + phoneToFidsMap.remove(phone); } } log.debug("End merging fids and names");