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 e4ca4ce..bc17fdc 100644 --- a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java +++ b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java @@ -8,9 +8,12 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; +import ru.nbch.credit_tracker.entities.dto.UserPackage; import ru.nbch.credit_tracker.entities.request.active_packages.MonitoringActivePackagesRequest; import ru.nbch.credit_tracker.entities.request.monitoring_request.MonitoringRequest; import ru.nbch.credit_tracker.entities.response.active_packages.MonitoringActivePackagesResponse; +import ru.nbch.credit_tracker.entities.response.active_packages.Package; +import ru.nbch.credit_tracker.entities.response.active_packages.Packages; import ru.nbch.credit_tracker.entities.response.success.MonitoringPackageDeleteResponse; import ru.nbch.credit_tracker.entities.response.success.MonitoringReportListResponse; import ru.nbch.credit_tracker.entities.response.success.MonitoringResponse; @@ -30,6 +33,7 @@ import ru.nbch.credit_tracker.utils.ZipUtils; import java.io.File; import java.io.IOException; +import java.time.LocalDateTime; import java.util.List; import java.util.Optional; import java.util.concurrent.ExecutorService; @@ -180,8 +184,20 @@ public class SignalFacade { if (!authResult.isSuccess()) { throw clientExcp(authResult.getError(), XmlErrorFormat.MonitoringActivePackagesError); } - MonitoringActivePackagesResponse response = signalService.findActivePackages(activePackagesRequest.getUserId()); - if (response != null) { + List activePackages = signalService.findActivePackages(activePackagesRequest.getUserId()); + + if (!activePackages.isEmpty()) { + MonitoringActivePackagesResponse response = new MonitoringActivePackagesResponse(); + response.setStatus("OK"); + response.setMembercode(activePackagesRequest.getUserId().substring(0, 6)); + Packages packages = new Packages(); + activePackages.forEach(data -> { + Package pack = new Package(); + pack.setPackageName(data.getPackageName()); + pack.setCreatedAt(data.getCreatedAt() != null ? data.getCreatedAt().toString() : null); + packages.getPackages().add(pack); + }); + response.setPackages(packages); return ResponseEntity.ok(response); } else { throw clientExcp(SignalError.ERROR_015, XmlErrorFormat.MonitoringActivePackagesError); @@ -200,7 +216,14 @@ public class SignalFacade { if (!signalService.isPackageExists(username, packageName)) { throw clientExcp(SignalError.ERROR_016, XmlErrorFormat.MonitoringPackageDeleteError, packageName); } - MonitoringPackageDeleteResponse response = signalService.deletePackage(username, packageName); + + LocalDateTime deactivatedAt = LocalDateTime.now(); + signalService.deletePackage(username, packageName, deactivatedAt); + + MonitoringPackageDeleteResponse response = new MonitoringPackageDeleteResponse(); + response.setStatus("Deleted"); + response.setPackageName(packageName); + response.setDeactivatedAt(deactivatedAt.toString()); signalRestService.deletePackage(username, packageName); log.info("Package {} deleted", packageName); 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 b020607..f12367f 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/SignalService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/SignalService.java @@ -9,10 +9,6 @@ import ru.nbch.credit_tracker.entities.dto.PhoneFidMap; import ru.nbch.credit_tracker.entities.dto.UserPackage; import ru.nbch.credit_tracker.entities.request.monitoring_request.MonitoringRequest; import ru.nbch.credit_tracker.entities.request.monitoring_request.Subject; -import ru.nbch.credit_tracker.entities.response.active_packages.MonitoringActivePackagesResponse; -import ru.nbch.credit_tracker.entities.response.active_packages.Package; -import ru.nbch.credit_tracker.entities.response.active_packages.Packages; -import ru.nbch.credit_tracker.entities.response.success.MonitoringPackageDeleteResponse; import ru.nbch.credit_tracker.entities.signal_package.Auth; import ru.nbch.credit_tracker.entities.signal_package.Person; import ru.nbch.credit_tracker.entities.signal_package.Signals; @@ -218,38 +214,16 @@ public class SignalService { } - public MonitoringActivePackagesResponse findActivePackages(String userId) { - MonitoringActivePackagesResponse activePackages = new MonitoringActivePackagesResponse(); - activePackages.setStatus("OK"); - activePackages.setMembercode(userId.substring(0, 6)); - Packages packages = new Packages(); - userPackageService.findUserPackages(userId, Status.ON_MONITORING).forEach(data -> { - Package pack = new Package(); - pack.setPackageName(data.getPackageName()); - pack.setCreatedAt(data.getCreatedAt() != null ? data.getCreatedAt().toString() : null); - packages.getPackages().add(pack); - }); - activePackages.setPackages(packages); - - if (packages.getPackages() == null || packages.getPackages().isEmpty()) { - return null; - } - return activePackages; + public List findActivePackages(String userId) { + return userPackageService.findUserPackages(userId, Status.ON_MONITORING); } public boolean isPackageExists(String username, String packageName) { return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING); } - public MonitoringPackageDeleteResponse deletePackage(String username, String packageName) { - LocalDateTime deactivatedAt = LocalDateTime.now(); + public void deletePackage(String username, String packageName, LocalDateTime deactivatedAt) { userPackageService.deletePackage(username, packageName, Status.DELETED, Status.ON_MONITORING, deactivatedAt); - - MonitoringPackageDeleteResponse deleteResponse = new MonitoringPackageDeleteResponse(); - deleteResponse.setStatus("Deleted"); - deleteResponse.setPackageName(packageName); - deleteResponse.setDeactivatedAt(deactivatedAt.toString()); - return deleteResponse; } public List findPackagesOnMonitoring() {