Refactored findActivePackages and deletePackage methods

This commit is contained in:
Mikhail Trofimov 2025-07-02 13:41:03 +03:00
parent bd2ad04a65
commit 8a7a313c1d
2 changed files with 29 additions and 32 deletions

View file

@ -8,9 +8,12 @@ import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; 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.active_packages.MonitoringActivePackagesRequest;
import ru.nbch.credit_tracker.entities.request.monitoring_request.MonitoringRequest; 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.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.MonitoringPackageDeleteResponse;
import ru.nbch.credit_tracker.entities.response.success.MonitoringReportListResponse; import ru.nbch.credit_tracker.entities.response.success.MonitoringReportListResponse;
import ru.nbch.credit_tracker.entities.response.success.MonitoringResponse; 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.File;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
@ -180,8 +184,20 @@ public class SignalFacade {
if (!authResult.isSuccess()) { if (!authResult.isSuccess()) {
throw clientExcp(authResult.getError(), XmlErrorFormat.MonitoringActivePackagesError); throw clientExcp(authResult.getError(), XmlErrorFormat.MonitoringActivePackagesError);
} }
MonitoringActivePackagesResponse response = signalService.findActivePackages(activePackagesRequest.getUserId()); List<UserPackage> activePackages = signalService.findActivePackages(activePackagesRequest.getUserId());
if (response != null) {
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); return ResponseEntity.ok(response);
} else { } else {
throw clientExcp(SignalError.ERROR_015, XmlErrorFormat.MonitoringActivePackagesError); throw clientExcp(SignalError.ERROR_015, XmlErrorFormat.MonitoringActivePackagesError);
@ -200,7 +216,14 @@ public class SignalFacade {
if (!signalService.isPackageExists(username, packageName)) { if (!signalService.isPackageExists(username, packageName)) {
throw clientExcp(SignalError.ERROR_016, XmlErrorFormat.MonitoringPackageDeleteError, 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); signalRestService.deletePackage(username, packageName);
log.info("Package {} deleted", packageName); log.info("Package {} deleted", packageName);

View file

@ -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.dto.UserPackage;
import ru.nbch.credit_tracker.entities.request.monitoring_request.MonitoringRequest; 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.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.Auth;
import ru.nbch.credit_tracker.entities.signal_package.Person; import ru.nbch.credit_tracker.entities.signal_package.Person;
import ru.nbch.credit_tracker.entities.signal_package.Signals; import ru.nbch.credit_tracker.entities.signal_package.Signals;
@ -218,38 +214,16 @@ public class SignalService {
} }
public MonitoringActivePackagesResponse findActivePackages(String userId) { public List<UserPackage> findActivePackages(String userId) {
MonitoringActivePackagesResponse activePackages = new MonitoringActivePackagesResponse(); return userPackageService.findUserPackages(userId, Status.ON_MONITORING);
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 boolean isPackageExists(String username, String packageName) { public boolean isPackageExists(String username, String packageName) {
return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING); return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING);
} }
public MonitoringPackageDeleteResponse deletePackage(String username, String packageName) { public void deletePackage(String username, String packageName, LocalDateTime deactivatedAt) {
LocalDateTime deactivatedAt = LocalDateTime.now();
userPackageService.deletePackage(username, packageName, Status.DELETED, Status.ON_MONITORING, 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<UserPackage> findPackagesOnMonitoring() { public List<UserPackage> findPackagesOnMonitoring() {