From 7a4290ad0b99c117f4004f138970e7f9386bf114 Mon Sep 17 00:00:00 2001 From: Mikhail Trofimov Date: Tue, 17 Jun 2025 12:48:30 +0300 Subject: [PATCH] Fixed sending package to nbki service --- credit-tracker.properties | 2 +- .../ru/nbch/credit_tracker/facade/SignalFacade.java | 6 ++---- .../nbch/credit_tracker/service/SignalService.java | 11 ++++++++--- .../service/signal/SignalRestService.java | 13 +++++++------ 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/credit-tracker.properties b/credit-tracker.properties index 841f8fe..6e34729 100644 --- a/credit-tracker.properties +++ b/credit-tracker.properties @@ -28,6 +28,6 @@ ct.scoring-data-source-settings.password=tester ct.xsd-validation.monitoring-request-path=monitoring-request.xsd ct.xsd-validation.signal-package-path=signal-package.xsd -ct.signals-root-uri=http://reports.test-alfa.nbki.ru/signalRUalfa/ +ct.signals-root-uri=http://10.230.227.102:11094/signalRUalfa/ ct.signals-token=gttcHxwcGojoAvZK ct.signals-user=0001ZZ000001 \ No newline at end of file diff --git a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java index 547880b..e6cf453 100644 --- a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java +++ b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java @@ -229,16 +229,14 @@ public class SignalFacade { if (!phoneFidsData.isEmpty()) { Signals signals = signalService.buildSignals(packageId, phoneFidsData); // TODO validate xsd? - String response = null; -// response = signalRestService.update(signals); - if (response == null) { + if (signalRestService.update(signals)) { signalService.setPackageStatus(packageId, Status.ON_MONITORING); } else { signalService.setPackageStatus(packageId, Status.ERROR); } } } catch (Exception e) { - log.error("Ошибка при поиске фидов или расчете флагов просрочек", e); + log.error("Ошибка при поиске фидов или расчете флагов просрочек. Package_id {}", packageId, e); } }); } diff --git a/src/main/java/ru/nbch/credit_tracker/service/SignalService.java b/src/main/java/ru/nbch/credit_tracker/service/SignalService.java index d12e200..bdcfa7f 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/SignalService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/SignalService.java @@ -4,6 +4,7 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.entities.monitoring_request.MonitoringRequest; import ru.nbch.credit_tracker.entities.signal_package.Auth; import ru.nbch.credit_tracker.entities.signal_package.Person; @@ -27,14 +28,18 @@ public class SignalService { private final static DateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy"); + private final CreditTrackerSettings config; private final SignalMapper mapper; private final PhoneService phoneService; private final FlagsService flagsService; private final PersonService personService; - public SignalService(SignalMapper mapper, + public SignalService(CreditTrackerSettings config, + SignalMapper mapper, PhoneService phoneService, - FlagsService flagsService, PersonService personService) { + FlagsService flagsService, + PersonService personService) { + this.config = config; this.mapper = mapper; this.phoneService = phoneService; this.flagsService = flagsService; @@ -77,7 +82,7 @@ public class SignalService { signals.setOnline("2"); // Всегда=2 (только онлайн-сигналы) signals.setId(packageData.getUserId().substring(0, 6) + "_" + packageData.getPackageName()); // _ Auth auth = new Auth(); - auth.setUser("test_user"); // TODO from properties // Внутренний логин НБКИ + auth.setUser(config.getSignalsuser()); signals.setAuth(auth); for (PhoneService.FidsPhoneData fidData : fids) { Person person = findPerson(fidData.getFid(), fidData.getSubjectId()); diff --git a/src/main/java/ru/nbch/credit_tracker/service/signal/SignalRestService.java b/src/main/java/ru/nbch/credit_tracker/service/signal/SignalRestService.java index 3a5cd32..9403f94 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/signal/SignalRestService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/signal/SignalRestService.java @@ -43,28 +43,29 @@ public class SignalRestService { this.authToken = buildToken(config.getSignalsToken(), config.getSignalsuser()); } - public String update(Signals signals) throws Exception { + public boolean update(Signals signals) throws Exception { Resource request = compressFile(signals); - MultiValueMap body = new LinkedMultiValueMap<>(); + MultiValueMap body = new LinkedMultiValueMap<>(); body.add("file", request); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); headers.setBasicAuth(authToken); - HttpEntity> requestEntity = new HttpEntity<>(body, headers); + HttpEntity> requestEntity = new HttpEntity<>(body, headers); ResponseEntity response = restTemplate.postForEntity(UPDATE_URI, requestEntity, String.class); if (response.getStatusCode().value() == 302) { // good response - return null; + return true; } else if (response.getStatusCode().value() == 200 && response.getBody() != null) { // bad response - return response.getBody(); + log.error("Ошибка при постановке пакета на мониторинг в официальный сервис сигналов: {}", response.getBody()); + return false; } - return "Непредвиденная ошибка"; + return false; } private Resource compressFile(Signals signals) throws Exception {