http://jira.mfd.msk:8088/browse/BKI-3199 Moved findErrors into separate service
This commit is contained in:
parent
d4bef965c3
commit
0cc25b5a4b
4 changed files with 57 additions and 24 deletions
|
|
@ -1,7 +1,6 @@
|
||||||
package ru.nbch.credit_tracker.facade;
|
package ru.nbch.credit_tracker.facade;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.core.io.FileUrlResource;
|
import org.springframework.core.io.FileUrlResource;
|
||||||
import org.springframework.core.io.Resource;
|
import org.springframework.core.io.Resource;
|
||||||
|
|
@ -22,6 +21,7 @@ import ru.nbch.credit_tracker.enums.SignalError;
|
||||||
import ru.nbch.credit_tracker.enums.Status;
|
import ru.nbch.credit_tracker.enums.Status;
|
||||||
import ru.nbch.credit_tracker.enums.XmlErrorFormat;
|
import ru.nbch.credit_tracker.enums.XmlErrorFormat;
|
||||||
import ru.nbch.credit_tracker.exceptions.SignalClientException;
|
import ru.nbch.credit_tracker.exceptions.SignalClientException;
|
||||||
|
import ru.nbch.credit_tracker.service.MonitoringErrorProcesingService;
|
||||||
import ru.nbch.credit_tracker.service.SignalService;
|
import ru.nbch.credit_tracker.service.SignalService;
|
||||||
import ru.nbch.credit_tracker.service.scoring.AuthorizationService;
|
import ru.nbch.credit_tracker.service.scoring.AuthorizationService;
|
||||||
import ru.nbch.credit_tracker.service.signal.SignalRestService;
|
import ru.nbch.credit_tracker.service.signal.SignalRestService;
|
||||||
|
|
@ -55,6 +55,7 @@ public class SignalFacade {
|
||||||
private final AuthorizationService authorizationService;
|
private final AuthorizationService authorizationService;
|
||||||
private final SignalService signalService;
|
private final SignalService signalService;
|
||||||
private final SignalRestService signalRestService;
|
private final SignalRestService signalRestService;
|
||||||
|
private final MonitoringErrorProcesingService monitoringErrorProcesingService;
|
||||||
private final StaxXmlProcessor staxXmlProcessor;
|
private final StaxXmlProcessor staxXmlProcessor;
|
||||||
|
|
||||||
private final ExecutorService executor;
|
private final ExecutorService executor;
|
||||||
|
|
@ -65,12 +66,14 @@ public class SignalFacade {
|
||||||
AuthorizationService authorizationService,
|
AuthorizationService authorizationService,
|
||||||
SignalService signalService,
|
SignalService signalService,
|
||||||
SignalRestService signalRestService,
|
SignalRestService signalRestService,
|
||||||
|
MonitoringErrorProcesingService monitoringErrorProcesingService,
|
||||||
StaxXmlProcessor staxXmlProcessor,
|
StaxXmlProcessor staxXmlProcessor,
|
||||||
@Qualifier("executorService") ExecutorService executor) {
|
@Qualifier("executorService") ExecutorService executor) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
this.authorizationService = authorizationService;
|
this.authorizationService = authorizationService;
|
||||||
this.signalService = signalService;
|
this.signalService = signalService;
|
||||||
this.signalRestService = signalRestService;
|
this.signalRestService = signalRestService;
|
||||||
|
this.monitoringErrorProcesingService = monitoringErrorProcesingService;
|
||||||
this.staxXmlProcessor = staxXmlProcessor;
|
this.staxXmlProcessor = staxXmlProcessor;
|
||||||
this.executor = executor;
|
this.executor = executor;
|
||||||
this.maxXmlFileSize = config.getMaxXmlFileSize() * 1024 * 1024;
|
this.maxXmlFileSize = config.getMaxXmlFileSize() * 1024 * 1024;
|
||||||
|
|
@ -226,7 +229,7 @@ public class SignalFacade {
|
||||||
if (signalRestService.setupMonitoring(packageId)) {
|
if (signalRestService.setupMonitoring(packageId)) {
|
||||||
log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||||
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
||||||
findErrors(packageId);
|
monitoringErrorProcesingService.findErrors(packageId);
|
||||||
} else {
|
} else {
|
||||||
log.info("Package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
log.info("Package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||||
signalService.updatePackageStatus(packageId, Status.ERROR);
|
signalService.updatePackageStatus(packageId, Status.ERROR);
|
||||||
|
|
@ -239,27 +242,6 @@ public class SignalFacade {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void findErrors(Integer packageId) {
|
|
||||||
UserPackage userPackage = signalService.findPackage(packageId);
|
|
||||||
if (userPackage != null) {
|
|
||||||
String packCode = userPackage.getUserId().substring(0, 6) + "_" + userPackage.getPackageName();
|
|
||||||
log.info("Проверка на ошибки при постановке на мониторинг. packCode={}, packageId={}", packCode, packageId);
|
|
||||||
String fileName = signalRestService.getErrorFileName(packageId, packCode);
|
|
||||||
if (StringUtils.isNotBlank(fileName)) {
|
|
||||||
String filePath = signalRestService.loadErrorFile(packageId, fileName);
|
|
||||||
if (StringUtils.isNotBlank(filePath)) {
|
|
||||||
try {
|
|
||||||
signalService.updateSubjectsErrors(filePath, packageId);
|
|
||||||
CTUtil.removeFile(filePath);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Ошибка при записи сообщений об ошибках в сформированных субъектах для мониторинга. Файл ошибок не будет удален. filePath = {}, Package_id = {}",
|
|
||||||
fileName, packageId, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isZipFile(MultipartFile file) {
|
private boolean isZipFile(MultipartFile file) {
|
||||||
return file.getContentType() != null &&
|
return file.getContentType() != null &&
|
||||||
(file.getContentType().equals("application/zip") || file.getContentType().equals("application/x-zip-compressed")) ||
|
(file.getContentType().equals("application/zip") || file.getContentType().equals("application/x-zip-compressed")) ||
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package ru.nbch.credit_tracker.service;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.nbch.credit_tracker.entities.dto.UserPackage;
|
||||||
|
import ru.nbch.credit_tracker.service.signal.SignalRestService;
|
||||||
|
import ru.nbch.credit_tracker.utils.CTUtil;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class MonitoringErrorProcesingService {
|
||||||
|
|
||||||
|
private final SignalService signalService;
|
||||||
|
private final SignalRestService signalRestService;
|
||||||
|
|
||||||
|
public MonitoringErrorProcesingService(SignalService signalService, SignalRestService signalRestService) {
|
||||||
|
this.signalService = signalService;
|
||||||
|
this.signalRestService = signalRestService;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findErrors(Integer packageId) {
|
||||||
|
UserPackage userPackage = signalService.findPackage(packageId);
|
||||||
|
if (userPackage != null) {
|
||||||
|
String packCode = userPackage.getUserId().substring(0, 6) + "_" + userPackage.getPackageName();
|
||||||
|
log.info("Проверка на ошибки при постановке на мониторинг. packCode={}, packageId={}", packCode, packageId);
|
||||||
|
String fileName = signalRestService.getErrorFileName(packageId, packCode);
|
||||||
|
if (StringUtils.isNotBlank(fileName)) {
|
||||||
|
String filePath = signalRestService.loadErrorFile(packageId, fileName);
|
||||||
|
if (StringUtils.isNotBlank(filePath)) {
|
||||||
|
try {
|
||||||
|
signalService.updateSubjectsErrors(filePath, packageId);
|
||||||
|
CTUtil.removeFile(filePath);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Ошибка при записи сообщений об ошибках в сформированных субъектах для мониторинга. Файл ошибок не будет удален. filePath = {}, Package_id = {}",
|
||||||
|
fileName, packageId, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -18,10 +18,14 @@ public class UpdateProcessingPackagesService {
|
||||||
|
|
||||||
private final SignalService signalService;
|
private final SignalService signalService;
|
||||||
private final SignalRestService signalRestService;
|
private final SignalRestService signalRestService;
|
||||||
|
private final MonitoringErrorProcesingService monitoringErrorProcesingService;
|
||||||
|
|
||||||
public UpdateProcessingPackagesService(SignalService signalService, SignalRestService signalRestService) {
|
public UpdateProcessingPackagesService(SignalService signalService,
|
||||||
|
SignalRestService signalRestService,
|
||||||
|
MonitoringErrorProcesingService monitoringErrorProcesingService) {
|
||||||
this.signalService = signalService;
|
this.signalService = signalService;
|
||||||
this.signalRestService = signalRestService;
|
this.signalRestService = signalRestService;
|
||||||
|
this.monitoringErrorProcesingService = monitoringErrorProcesingService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
@ -45,6 +49,7 @@ public class UpdateProcessingPackagesService {
|
||||||
if (signalRestService.setupMonitoring(packageId)) {
|
if (signalRestService.setupMonitoring(packageId)) {
|
||||||
log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||||
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
||||||
|
monitoringErrorProcesingService.findErrors(packageId);
|
||||||
} else {
|
} else {
|
||||||
log.info("Package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
log.info("Package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||||
signalService.updatePackageStatus(packageId, Status.ERROR);
|
signalService.updatePackageStatus(packageId, Status.ERROR);
|
||||||
|
|
|
||||||
|
|
@ -27,14 +27,17 @@ public class UpdatingFlagsService {
|
||||||
|
|
||||||
private final SignalService signalService;
|
private final SignalService signalService;
|
||||||
private final SignalRestService signalRestService;
|
private final SignalRestService signalRestService;
|
||||||
|
private final MonitoringErrorProcesingService monitoringErrorProcesingService;
|
||||||
private final Long daysToUpdateFlags;
|
private final Long daysToUpdateFlags;
|
||||||
private final Long updateFlagsInterval;
|
private final Long updateFlagsInterval;
|
||||||
|
|
||||||
public UpdatingFlagsService(SignalService signalService,
|
public UpdatingFlagsService(SignalService signalService,
|
||||||
SignalRestService signalRestService,
|
SignalRestService signalRestService,
|
||||||
|
MonitoringErrorProcesingService monitoringErrorProcesingService,
|
||||||
CreditTrackerSettings config) {
|
CreditTrackerSettings config) {
|
||||||
this.signalService = signalService;
|
this.signalService = signalService;
|
||||||
this.signalRestService = signalRestService;
|
this.signalRestService = signalRestService;
|
||||||
|
this.monitoringErrorProcesingService = monitoringErrorProcesingService;
|
||||||
this.daysToUpdateFlags = config.getDaysToUpdateFlags() != null ? config.getDaysToUpdateFlags() : 1;
|
this.daysToUpdateFlags = config.getDaysToUpdateFlags() != null ? config.getDaysToUpdateFlags() : 1;
|
||||||
this.updateFlagsInterval = config.getUpdateFlagsInterval() != null ? config.getUpdateFlagsInterval() : 1;
|
this.updateFlagsInterval = config.getUpdateFlagsInterval() != null ? config.getUpdateFlagsInterval() : 1;
|
||||||
}
|
}
|
||||||
|
|
@ -63,6 +66,7 @@ public class UpdatingFlagsService {
|
||||||
if (signalRestService.setupMonitoring(packageId)) {
|
if (signalRestService.setupMonitoring(packageId)) {
|
||||||
log.info("Flags were updated successfully. PackageId: {} PackageName: {}. Package status changed to ON_MONITORING", packageId, packageName);
|
log.info("Flags were updated successfully. PackageId: {} PackageName: {}. Package status changed to ON_MONITORING", packageId, packageName);
|
||||||
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
||||||
|
monitoringErrorProcesingService.findErrors(packageId);
|
||||||
} else {
|
} else {
|
||||||
log.info("Updated package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
log.info("Updated package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||||
signalService.updatePackageStatus(packageId, Status.ERROR);
|
signalService.updatePackageStatus(packageId, Status.ERROR);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue