This commit is contained in:
Mikhail Trofimov 2025-10-02 10:33:36 +03:00
parent ae18c5d568
commit ae7260d790

View file

@ -12,7 +12,10 @@ import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.entities.dto.PhoneFidMap;
import java.time.LocalDate;
import java.util.*;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
@ -66,17 +69,20 @@ public class PhoneService2 {
new FidsData(rs.getInt("fid"), rs.getString("number"), rs.getObject("file_since_dt", LocalDate.class))
);
Map<String, Integer> phoneToFidsMap = new HashMap<>();
for (FidsData fidsData : phonesByFid) {
if (!phoneToFidsMap.containsKey(fidsData.getPhone())) {
phoneToFidsMap.put(fidsData.getPhone(), fidsData.getFid());
}
}
log.debug("Start merging fids");
for (PhoneFidMap phoneFid : subjects) {
Iterator<FidsData> iterator = phonesByFid.iterator();
while (iterator.hasNext()) {
FidsData fidsData = iterator.next();
if (fidsData.getPhone().equals(9 + phoneFid.getPhone())) {
//fixme доступ по ссылке, страшно, придумать что-то еще
phoneFidMap.put(fidsData.getFid(), phoneFid);
iterator.remove();
break;
}
String phone = "9" + phoneFid.getPhone();
Integer fid = phoneToFidsMap.get(phone);
if (fid != null) {
phoneFidMap.put(fid, phoneFid);
phoneToFidsMap.remove(phone);
}
}
log.debug("End merging fids");