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 dabf226..96cc145 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 @@ -1,11 +1,5 @@ package ru.nbch.credit_tracker.service.indic; -import java.time.LocalDate; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -18,6 +12,9 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.entities.dto.PhoneFidMap; +import java.time.LocalDate; +import java.util.*; + @Slf4j @Service public class PhoneService2 { @@ -78,14 +75,15 @@ public class PhoneService2 { } log.debug("Start merging fids"); - for (PhoneFidMap phoneFid : subjects) { - String phone = "9" + phoneFid.getPhone(); - Integer fid = phoneToFidsMap.get(phone); - if (fid != null) { - phoneFidMap.put(fid, phoneFid); - phoneToFidsMap.remove(phone); - } - } +// for (PhoneFidMap phoneFid : subjects) { +// String phone = "9" + phoneFid.getPhone(); +// Integer fid = phoneToFidsMap.get(phone); +// if (fid != null) { +// phoneFidMap.put(fid, phoneFid); +// phoneToFidsMap.remove(phone); +// } +// } + phoneFidMap = merger(subjects, phonesByFid); log.debug("End merging fids"); return phoneFidMap; diff --git a/src/test/java/ru/nbch/credit_tracker/service/PhoneService2Test.java b/src/test/java/ru/nbch/credit_tracker/service/PhoneService2Test.java index a8f14c0..b57542d 100644 --- a/src/test/java/ru/nbch/credit_tracker/service/PhoneService2Test.java +++ b/src/test/java/ru/nbch/credit_tracker/service/PhoneService2Test.java @@ -39,12 +39,14 @@ public class PhoneService2Test { phoneFidMap.add(PhoneFidMap.builder().phone("1112").build()); phoneFidMap.add(PhoneFidMap.builder().phone("1113").build()); phoneFidMap.add(PhoneFidMap.builder().phone("1114").build()); + phoneFidMap.add(PhoneFidMap.builder().phone("1115").build()); Map res = phoneService.defineFidByPhone(phoneFidMap); - Assertions.assertEquals(3, res.size()); + Assertions.assertEquals(4, res.size()); Assertions.assertEquals("1111", res.get(124).getPhone()); Assertions.assertEquals("1112", res.get(125).getPhone()); Assertions.assertEquals("1114", res.get(126).getPhone()); + Assertions.assertEquals("1115", res.get(127).getPhone()); } private final List fidsDataWithEqualSinceDt = new ArrayList<>( @@ -52,7 +54,9 @@ public class PhoneService2Test { new PhoneService2.FidsData(123, "91111", LocalDate.of(2025, 9, 10)), new PhoneService2.FidsData(124, "91111", LocalDate.of(2025, 9, 10)), new PhoneService2.FidsData(125, "91112", LocalDate.of(2024, 10, 10)), - new PhoneService2.FidsData(126, "91114", LocalDate.of(2024, 10, 11)) + new PhoneService2.FidsData(126, "91114", LocalDate.of(2024, 10, 11)), + new PhoneService2.FidsData(127, "91115", LocalDate.of(2025, 9, 11)), + new PhoneService2.FidsData(128, "91115", LocalDate.of(2025, 9, 10)) ) ); diff --git a/src/test/java/ru/nbch/credit_tracker/service/PhoneServiceTest.java b/src/test/java/ru/nbch/credit_tracker/service/PhoneServiceTest.java index b3973e6..dabbddb 100644 --- a/src/test/java/ru/nbch/credit_tracker/service/PhoneServiceTest.java +++ b/src/test/java/ru/nbch/credit_tracker/service/PhoneServiceTest.java @@ -36,21 +36,25 @@ public class PhoneServiceTest { phoneFidMap.add(PhoneFidMap.builder().phone("1112").build()); phoneFidMap.add(PhoneFidMap.builder().phone("1113").build()); phoneFidMap.add(PhoneFidMap.builder().phone("1114").build()); + phoneFidMap.add(PhoneFidMap.builder().phone("1115").build()); Map res = phoneService.defineFidByPhone(phoneFidMap); - Assertions.assertEquals(3, res.size()); + Assertions.assertEquals(4, res.size()); Assertions.assertEquals("1111", res.get(124).getPhone()); Assertions.assertEquals("1112", res.get(125).getPhone()); Assertions.assertEquals("1114", res.get(126).getPhone()); + Assertions.assertEquals("1115", res.get(127).getPhone()); } private final List fidsDataWithEqualSinceDt = new ArrayList<>( - List.of( - new PhoneService.FidsData(123, "91111", LocalDate.of(2025, 9, 10)), - new PhoneService.FidsData(124, "91111", LocalDate.of(2025, 9, 10)), - new PhoneService.FidsData(125, "91112", LocalDate.of(2024, 10, 10)), - new PhoneService.FidsData(126, "91114", LocalDate.of(2024, 10, 11)) - ) + List.of( + new PhoneService.FidsData(123, "91111", LocalDate.of(2025, 9, 10)), + new PhoneService.FidsData(124, "91111", LocalDate.of(2025, 9, 10)), + new PhoneService.FidsData(125, "91112", LocalDate.of(2024, 10, 10)), + new PhoneService.FidsData(126, "91114", LocalDate.of(2024, 10, 11)), + new PhoneService.FidsData(127, "91115", LocalDate.of(2025, 9, 11)), + new PhoneService.FidsData(128, "91115", LocalDate.of(2025, 9, 10)) + ) ); Comparator byDbOrder =