From 6767a8c2040fae759ae6a22b26c256cc71074aa1 Mon Sep 17 00:00:00 2001 From: Mikhail Trofimov Date: Tue, 30 Jun 2026 13:50:25 +0300 Subject: [PATCH] LP: added package registration --- .../entities/app/UserPackage.java | 8 ++-- .../credit_tracker/facade/SignalFacade.java | 9 ++-- .../service/UserPackageService.java | 42 ++++++++++--------- .../mapper/signal/UserPackageMapper.xml | 4 +- 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/main/java/ru/nbch/credit_tracker/entities/app/UserPackage.java b/src/main/java/ru/nbch/credit_tracker/entities/app/UserPackage.java index da3b5a7..df236fc 100644 --- a/src/main/java/ru/nbch/credit_tracker/entities/app/UserPackage.java +++ b/src/main/java/ru/nbch/credit_tracker/entities/app/UserPackage.java @@ -1,11 +1,8 @@ package ru.nbch.credit_tracker.entities.app; +import lombok.*; + import java.time.LocalDateTime; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; @Getter @Setter @@ -16,6 +13,7 @@ public class UserPackage { private Long id; private String userId; private String packageName; + private Integer subjectType; private String signalTypes; private LocalDateTime createdAt; private String status; 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 68980ec..99d2614 100644 --- a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java +++ b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java @@ -106,7 +106,7 @@ public class SignalFacade { validationResult = monitoringRequestValidator.readAndValidateMonitoringRequest(tmpReqFilePath); if (!validationResult.getValidationErrors().isEmpty()) { MonitoringValidationError firstError = validationResult.getValidationErrors().getFirst(); - userPackageService.rejectPackage(validationResult.getUserId(), validationResult.getPackageName(), validationResult.getSignalTypes()); + userPackageService.rejectPackage(validationResult.getUserId(), validationResult.getPackageName(), validationResult.getSubjectType(), validationResult.getSignalTypes()); Files.delete(tmpReqFilePath); throw firstError.getSignalException(); } @@ -123,6 +123,7 @@ public class SignalFacade { } String packageName = validationResult.getPackageName(); + Integer subjectType = validationResult.getSubjectType(); String userId = validationResult.getUserId(); String password = validationResult.getPassword(); List signalTypes = validationResult.getSignalTypes(); @@ -137,17 +138,17 @@ public class SignalFacade { // проверка авторизации AuthorizationService.AuthResult authResult = authorizationService.findAuthInfo(userId, password); if (!authResult.isSuccess()) { - userPackageService.rejectPackage(userId, packageName, signalTypes); + userPackageService.rejectPackage(userId, packageName, subjectType, signalTypes); throw clientExcp(authResult.getError(), XmlErrorFormat.MonitoringError); } // проверка на уникальность пакета if (userPackageService.isPackageNotUnique(userId, packageName)) { - userPackageService.rejectPackage(userId, packageName, signalTypes); + userPackageService.rejectPackage(userId, packageName, subjectType, signalTypes); throw clientExcp(SignalError.ERROR_007, XmlErrorFormat.MonitoringError); } - Long packageId = userPackageService.registerPackage(userId, packageName, signalTypes); + Long packageId = userPackageService.registerPackage(userId, packageName, subjectType, signalTypes); LogUtil.addMdcLogKey("%s %d".formatted(packageName, packageId)); log.info("Package registered. PackageId {}. Status: {}", packageId, Status.ACCEPTED.name()); Pipeline pipeline = pipelinePackageManager.build(new SetupParam(packageId, parsedFilePath, PipelineMode.DEFAULT)); diff --git a/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java b/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java index 56986af..b992d36 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java @@ -1,15 +1,16 @@ package ru.nbch.credit_tracker.service; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import ru.nbch.credit_tracker.entities.app.UserPackage; +import ru.nbch.credit_tracker.enums.Status; +import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper; + import java.time.LocalDateTime; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import ru.nbch.credit_tracker.entities.app.UserPackage; -import ru.nbch.credit_tracker.enums.Status; -import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper; @Slf4j @Service @@ -24,34 +25,36 @@ public class UserPackageService { return userPackageMapper.isPackageNotUnique(userId.substring(0, 6), packageName); } - public Long registerPackage(String userId, String packageName, List signalTypes) { + public Long registerPackage(String userId, String packageName, Integer subjectType, List signalTypes) { signalTypes.sort(Comparator.naturalOrder()); 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) - .signalTypes(types) - .createdAt(LocalDateTime.now()) - .status(Status.ACCEPTED.name()) - .build(); + .userId(userId) + .packageName(packageName) + .subjectType(subjectType) + .signalTypes(types) + .createdAt(LocalDateTime.now()) + .status(Status.ACCEPTED.name()) + .build(); return userPackageMapper.insertPackage(userPackage); } - public void rejectPackage(String userId, String packageName, List signalTypes) { + public void rejectPackage(String userId, String packageName, Integer subjectType, List signalTypes) { 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) - .signalTypes(types) - .createdAt(LocalDateTime.now()) - .status(Status.REJECTED.name()) - .build(); + .userId(userId) + .packageName(packageName) + .subjectType(subjectType) + .signalTypes(types) + .createdAt(LocalDateTime.now()) + .status(Status.REJECTED.name()) + .build(); userPackageMapper.insertPackage(userPackage); } @@ -66,6 +69,7 @@ public class UserPackageService { public void setFidChanged(List id) { userPackageMapper.setFidChanged(id); } + public List findAllPackages(String userId) { return userPackageMapper.findAllPackagesByUserId(userId.substring(0, 6)); } diff --git a/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml b/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml index 06df525..6418049 100644 --- a/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml +++ b/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml @@ -63,8 +63,8 @@