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 a985ff7..88da74f 100644 --- a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java +++ b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java @@ -285,10 +285,12 @@ public class SignalFacade { public ResponseEntity deletePackage(String username, String packageName) { try { - if(!signalService.isPackageExists(username, packageName)) { - throw new SignalErrorException(SignalError.ERROR_016, packageName, new MonitoringPackageDeleteError(), true); - } +// if(!signalService.isPackageExists(username, packageName)) { +// throw new SignalErrorException(SignalError.ERROR_016, packageName, new MonitoringPackageDeleteError(), true); +// } MonitoringPackageDeleteResponse response = signalService.deletePackage(username, packageName); + + signalRestService.deletePackage(username, packageName); return ResponseEntity.ok(response); } catch (Exception e) { if (e instanceof SignalErrorException) { 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 9403f94..c2fb164 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 @@ -5,10 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.Resource; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -23,6 +20,8 @@ import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.util.Base64; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.zip.GZIPOutputStream; @Slf4j @@ -30,6 +29,7 @@ import java.util.zip.GZIPOutputStream; public class SignalRestService { private static String UPDATE_URI = "update"; + private static String DELETE_URI = "delete"; private final RestTemplate restTemplate; private final XmlUtilService xmlUtilService; @@ -85,6 +85,37 @@ public class SignalRestService { }; } + public void deletePackage(String username, String packageName) { + String packCode = username.substring(0, 6) + "_" + packageName; + String url = DELETE_URI + "?packCode=" + packCode; + HttpHeaders headers = new HttpHeaders(); + headers.setBasicAuth(authToken); + + HttpEntity> requestEntity = new HttpEntity<>(headers); + + ResponseEntity response = restTemplate.exchange( + url, + HttpMethod.GET, + requestEntity, + String.class + ); + String answer = response.getBody(); + if (response.getStatusCode().value() == 200 && answer != null && answer.contains("")) { + if (answer.contains("")) { + Pattern pattern = Pattern.compile("(.*?)"); + Matcher matcher = pattern.matcher(answer); + if (matcher.find()) { + String description = matcher.group(1); + log.error("Ошибка при удалении пакета из сервиса НБКИ. packCode={}. Описание: {}", packCode, description); + } + } else { + log.error("Ошибка при удалении пакета из сервиса НБКИ. packCode={}", packCode); + } + } else if (response.getStatusCode().value() != 200) { + log.error("Ошибка при удалении пакета из сервиса НБКИ. Код ошибки: {} packCode={}", response.getStatusCode().value(), packCode); + } + } + private String buildToken(String signalsToken, String signalsuser) throws Exception { try { MessageDigest md = MessageDigest.getInstance("MD5");