Added code for compare 2 algorithms for fids finding

This commit is contained in:
Mikhail Trofimov 2025-10-02 17:58:29 +03:00
parent c31d515c84
commit fcca92e6a5
3 changed files with 16 additions and 18 deletions

View file

@ -3,21 +3,18 @@ package ru.nbch.credit_tracker;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import ru.nbch.credit_tracker.service.MonitoringService;
import ru.nbch.credit_tracker.service.UpdateProcessingPackagesService;
import ru.nbch.credit_tracker.service.UpdatingFlagsService;
@SpringBootApplication
public class CreditTrackerApplication {
public static void main(String[] args) {
ConfigurableApplicationContext ctx = SpringApplication.run(CreditTrackerApplication.class, args);
UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class);
MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
UpdatingFlagsService updatingFlagsService = ctx.getBean(UpdatingFlagsService.class);
updateProcessingPackagesService.run();
monitoringService.run();
updatingFlagsService.run();
// UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class);
// MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
// UpdatingFlagsService updatingFlagsService = ctx.getBean(UpdatingFlagsService.class);
// updateProcessingPackagesService.run();
// monitoringService.run();
// updatingFlagsService.run();
}
}

View file

@ -15,10 +15,7 @@ import ru.nbch.credit_tracker.entities.external_request.signals.Signals;
import ru.nbch.credit_tracker.entities.external_response.monitoring_report_error.MonitoringReportErrors;
import ru.nbch.credit_tracker.entities.user_request.monitoring_request.MonitoringRequest;
import ru.nbch.credit_tracker.enums.Status;
import ru.nbch.credit_tracker.service.indic.FlagsService;
import ru.nbch.credit_tracker.service.indic.FlagsService2;
import ru.nbch.credit_tracker.service.indic.PersonService;
import ru.nbch.credit_tracker.service.indic.PhoneService2;
import ru.nbch.credit_tracker.service.indic.*;
import ru.nbch.credit_tracker.service.signal.HitsService;
import ru.nbch.credit_tracker.service.signal.PhoneFidMapService;
import ru.nbch.credit_tracker.service.signal.UserPackageService;
@ -44,7 +41,8 @@ public class SignalService {
private final HitsService hitsService;
private final UserPackageService userPackageService;
private final PhoneFidMapService phoneFidMapService;
private final PhoneService2 phoneService;
private final PhoneService2 phoneService2;
private final PhoneService phoneService;
private final FlagsService2 flagsService;
private final PersonService personService;
private final StaxXmlProcessor staxXmlProcessor;
@ -55,7 +53,8 @@ public class SignalService {
HitsService hitsService,
UserPackageService userPackageService,
PhoneFidMapService phoneFidMapService,
PhoneService2 phoneService,
PhoneService2 phoneService2,
PhoneService phoneService,
FlagsService2 flagsService,
PersonService personService,
StaxXmlProcessor staxXmlProcessor) {
@ -63,6 +62,7 @@ public class SignalService {
this.hitsService = hitsService;
this.userPackageService = userPackageService;
this.phoneFidMapService = phoneFidMapService;
this.phoneService2 = phoneService2;
this.phoneService = phoneService;
this.flagsService = flagsService;
this.personService = personService;
@ -127,7 +127,8 @@ public class SignalService {
}
if (!filteredItems.isEmpty()) {
Map<Integer, PhoneFidMap> fidsMapByBatch = phoneService.defineFidByPhone(filteredItems);
Map<Integer, PhoneFidMap> fidsMapByBatch = phoneService2.defineFidByPhone(filteredItems);
phoneService.defineFidByPhone(filteredItems);
log.debug("Actual fids size by phone's batch: {}", fidsMapByBatch.size());
if (fidsMapByBatch.size() + phonesByFidToProcessing.size() <= batchSize) {

View file

@ -39,6 +39,7 @@ public class PhoneService2 {
List<PhoneRepository.FidsData> phonesByFid = phoneRepository.findFids(phones);
log.debug("Start merging fids 2");
Map<String, Integer> phoneToFidsMap = new HashMap<>();
for (PhoneRepository.FidsData fidsData : phonesByFid) {
if (!phoneToFidsMap.containsKey(fidsData.getPhone())) {
@ -46,7 +47,6 @@ public class PhoneService2 {
}
}
log.debug("Start merging fids");
for (PhoneFidMap phoneFid : subjects) {
String phone = "9" + phoneFid.getPhone();
Integer fid = phoneToFidsMap.get(phone);
@ -55,7 +55,7 @@ public class PhoneService2 {
phoneToFidsMap.remove(phone);
}
}
log.debug("End merging fids");
log.debug("End merging fids 2");
return phoneFidMap;
}