http://jira.mfd.msk:8088/browse/BKI-3241
This commit is contained in:
parent
b79a2d982f
commit
c7d22ae3d1
12 changed files with 46 additions and 21 deletions
|
|
@ -13,8 +13,8 @@ public class CreditTrackerApplication {
|
|||
ConfigurableApplicationContext ctx = SpringApplication.run(CreditTrackerApplication.class, args);
|
||||
UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class);
|
||||
MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
|
||||
// updateProcessingPackagesService.run();
|
||||
// monitoringService.run();
|
||||
updateProcessingPackagesService.run();
|
||||
monitoringService.run();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,7 +79,8 @@ public class MonitoringRequestValidator {
|
|||
if (request.getPassword() != null && validationResult.getPassword() == null) {
|
||||
validationResult.setPassword(request.getPassword());
|
||||
}
|
||||
if (!request.getSignalTypes().isEmpty() && validationResult.getSignalTypes().isEmpty()) {
|
||||
if (request.getSignalTypes() != null && !request.getSignalTypes().isEmpty()
|
||||
&& validationResult.getSignalTypes().isEmpty()) {
|
||||
validationResult.setSignalTypes(request.getSignalTypes());
|
||||
}
|
||||
request.getSubjects().getSubject().clear();
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class MonitoringRequest {
|
|||
protected String packageName;
|
||||
@XmlElement(name = "Subjects", required = true)
|
||||
protected Subjects subjects;
|
||||
protected List<Integer> signalTypes = new ArrayList<>();
|
||||
protected List<Integer> signalTypes = null;
|
||||
|
||||
public Subjects getSubjects() {
|
||||
if (subjects == null) {
|
||||
|
|
@ -47,6 +47,10 @@ public class MonitoringRequest {
|
|||
currentSubject = new Subject();
|
||||
}
|
||||
|
||||
public void createSignalTypes() {
|
||||
signalTypes = new ArrayList<>();
|
||||
}
|
||||
|
||||
public Subject getCurrentSubject() {
|
||||
return currentSubject;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public enum SignalError implements IEnumKeyCode {
|
|||
ERROR_024("024", "Пакет {} отклонен или при его установке произошла ошибка. Удаление невозможно."),
|
||||
ERROR_025("025", "Пакет {} уже был удален ранее, удаление невозможно."),
|
||||
ERROR_026("026", "Пакет {} обновляется. Удаление невозможно. Дождитесь завершения обновления и повторите попытку."),
|
||||
ERROR_027("027", "Недопустимое значение в элементе SignalTypes"),
|
||||
;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -144,10 +144,10 @@ public class SignalFacadeV3 {
|
|||
}
|
||||
|
||||
// проверка на уникальность пакета
|
||||
// if (userPackageService.isPackageNotUnique(userId, packageName)) {
|
||||
// userPackageService.rejectPackage(userId, packageName, signalTypes);
|
||||
// throw clientExcp(SignalError.ERROR_007, XmlErrorFormat.MonitoringError);
|
||||
// }
|
||||
if (userPackageService.isPackageNotUnique(userId, packageName)) {
|
||||
userPackageService.rejectPackage(userId, packageName, signalTypes);
|
||||
throw clientExcp(SignalError.ERROR_007, XmlErrorFormat.MonitoringError);
|
||||
}
|
||||
|
||||
Long packageId = userPackageService.registerPackage(userId, packageName, signalTypes);
|
||||
LogUtil.addMdcLogKey("%s %d".formatted(packageName, packageId));
|
||||
|
|
|
|||
|
|
@ -31,7 +31,10 @@ public class UserPackageService {
|
|||
|
||||
public Long registerPackage(String userId, String packageName, List<Integer> signalTypes) {
|
||||
signalTypes.sort(Comparator.naturalOrder());
|
||||
String types = signalTypes.stream().map(Object::toString).collect(Collectors.joining(","));
|
||||
String types = "1,2";
|
||||
if (!signalTypes.isEmpty()) {
|
||||
types = signalTypes.stream().map(Object::toString).distinct().collect(Collectors.joining(","));
|
||||
}
|
||||
UserPackage userPackage = UserPackage.builder()
|
||||
.userId(userId)
|
||||
.packageName(packageName)
|
||||
|
|
@ -43,7 +46,10 @@ public class UserPackageService {
|
|||
}
|
||||
|
||||
public void rejectPackage(String userId, String packageName, List<Integer> signalTypes) {
|
||||
String types = signalTypes.stream().map(Object::toString).collect(Collectors.joining(","));
|
||||
String types = "1,2";
|
||||
if (!signalTypes.isEmpty()) {
|
||||
types = signalTypes.stream().map(Object::toString).distinct().collect(Collectors.joining(","));
|
||||
}
|
||||
UserPackage userPackage = UserPackage.builder()
|
||||
.userId(userId)
|
||||
.packageName(packageName)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package ru.nbch.credit_tracker.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
|
@ -51,9 +52,12 @@ public class ValidationService {
|
|||
throw clientExcp(SignalError.ERROR_002, packageName, XmlErrorFormat.MonitoringError, "Subject");
|
||||
}
|
||||
|
||||
boolean validValues = request.getSignalTypes().stream().allMatch(integer -> integer == 1 || integer == 2);
|
||||
if (!validValues) {
|
||||
throw clientExcp(SignalError.ERROR_010, packageName, XmlErrorFormat.MonitoringError, "SignalTypes");
|
||||
List<Integer> signalTypes = request.getSignalTypes();
|
||||
if (signalTypes != null) {
|
||||
boolean validValues = !signalTypes.isEmpty() && signalTypes.stream().allMatch(integer -> integer == 1 || integer == 2);
|
||||
if (!validValues) {
|
||||
throw clientExcp(SignalError.ERROR_027, packageName, XmlErrorFormat.MonitoringError);
|
||||
}
|
||||
}
|
||||
|
||||
for (Subject subject : request.getSubjects().getSubject()) {
|
||||
|
|
|
|||
|
|
@ -94,7 +94,10 @@ public class PersonServiceV2 {
|
|||
} catch (NumberFormatException e) {
|
||||
idType2 = null;
|
||||
}
|
||||
return (idType != null && idType <= 30 && idType != 12) || (idType2 != null && (idType2 >= 1 || idType2 <= 999));
|
||||
String serNum = CTUtil.normalizePassport(p);
|
||||
return serNum.length() == 10 &&
|
||||
((idType != null && idType <= 30 && idType != 12) ||
|
||||
(idType2 != null && (idType2 >= 1 && idType2 <= 999)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,8 +118,7 @@ public class PipelinePackageOrchestrator {
|
|||
}
|
||||
userPackageMapper.setLastSearchedDt(packageId);
|
||||
log.trace("Signal file by path: {} is completed", res.signalXmlFilePath());
|
||||
boolean success = true;
|
||||
// signalRestService.setupMonitoring(res.signalXmlFilePath());
|
||||
boolean success = signalRestService.setupMonitoring(res.signalXmlFilePath());
|
||||
if (success) {
|
||||
userPackageMapper.updatePackageOnMonitoringSuccess(packageId, LocalDateTime.now());
|
||||
monitoringErrorProcesingService.findErrors(packageId);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import java.util.Map;
|
|||
import java.util.UUID;
|
||||
import java.util.stream.Stream;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.builder.PersonFactoryBuilderV2;
|
||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||
|
|
@ -62,11 +61,10 @@ public class FidIdEnricher implements Handler<SubjectPayload, PartFilePayload> {
|
|||
if (subjectProfile.getIdData() == null) {
|
||||
Id id = idByFid.get(subjectProfile.getFid());
|
||||
if (id == null) {
|
||||
log.warn("Id not found for fid: {}", subjectProfile.getFid());
|
||||
return Stream.empty();
|
||||
}
|
||||
String normSerNum = CTUtil.normalize(id.getSerNum());
|
||||
String normIdNum = CTUtil.normalize(id.getIdNum());
|
||||
String serNum = StringUtils.isNotBlank(normSerNum) ? normSerNum + normIdNum : normIdNum;
|
||||
String serNum = CTUtil.normalizePassport(id);
|
||||
IdData idData = IdData.builder()
|
||||
.serNum(serNum)
|
||||
.idType(defineIdType(id.getIdType(), id.getIdType2()))
|
||||
|
|
|
|||
|
|
@ -41,7 +41,9 @@ public class MonitoringRequestStaxReader extends BaseStaxReader<MonitoringReques
|
|||
|
||||
switch (currPath) {
|
||||
case "/MonitoringRequest/Subjects/Subject" ->
|
||||
obj.createCurrentSubject();
|
||||
obj.createCurrentSubject();
|
||||
case "/MonitoringRequest/SignalTypes" ->
|
||||
obj.createSignalTypes();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import java.util.regex.Pattern;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import ru.nbch.credit_tracker.entities.app.UserPackage;
|
||||
import ru.nbch.credit_tracker.entities.indic.Id;
|
||||
|
||||
@Slf4j
|
||||
public class CTUtil {
|
||||
|
|
@ -79,6 +80,12 @@ public class CTUtil {
|
|||
return value.replaceAll("[^А-Яа-яA-Za-z0-9]", "");
|
||||
}
|
||||
|
||||
public static String normalizePassport(Id id) {
|
||||
String normSerNum = normalize(id.getSerNum());
|
||||
String normIdNum = normalize(id.getIdNum());
|
||||
return StringUtils.isNotBlank(normSerNum) ? normSerNum + normIdNum : normIdNum;
|
||||
}
|
||||
|
||||
public static void createFolder(String folderPath) {
|
||||
File folder = new File(folderPath);
|
||||
if (!folder.exists()) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue