get rid of external_package_name, FID_CHANGED, PROCESSING_REPEATED, NO_FID
This commit is contained in:
parent
0cfe976670
commit
7004a1b7e3
17 changed files with 23 additions and 180 deletions
|
|
@ -1,9 +1,10 @@
|
||||||
package ru.nbch.credit_tracker.component.comparator;
|
package ru.nbch.credit_tracker.component.comparator;
|
||||||
|
|
||||||
|
import ru.nbch.credit_tracker.entities.app.UserPackage;
|
||||||
|
import ru.nbch.credit_tracker.enums.Status;
|
||||||
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.function.ToIntFunction;
|
import java.util.function.ToIntFunction;
|
||||||
import ru.nbch.credit_tracker.entities.app.UserPackage;
|
|
||||||
import ru.nbch.credit_tracker.enums.Status;
|
|
||||||
|
|
||||||
public class DeletePackageStatusComparator {
|
public class DeletePackageStatusComparator {
|
||||||
|
|
||||||
|
|
@ -15,7 +16,7 @@ public class DeletePackageStatusComparator {
|
||||||
try {
|
try {
|
||||||
Status status = Status.valueOf(str);
|
Status status = Status.valueOf(str);
|
||||||
return switch (status) {
|
return switch (status) {
|
||||||
case ON_MONITORING, PROCESSING_REPEATED, NO_FID -> 1;
|
case ON_MONITORING -> 1;
|
||||||
case DELETED -> 0;
|
case DELETED -> 0;
|
||||||
default -> -1;
|
default -> -1;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
package ru.nbch.credit_tracker.component.comparator;
|
package ru.nbch.credit_tracker.component.comparator;
|
||||||
|
|
||||||
|
import ru.nbch.credit_tracker.entities.app.UserPackage;
|
||||||
|
import ru.nbch.credit_tracker.enums.Status;
|
||||||
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.function.ToIntFunction;
|
import java.util.function.ToIntFunction;
|
||||||
import ru.nbch.credit_tracker.entities.app.UserPackage;
|
|
||||||
import ru.nbch.credit_tracker.enums.Status;
|
|
||||||
|
|
||||||
public class ReportListPackageStatusComparator {
|
public class ReportListPackageStatusComparator {
|
||||||
|
|
||||||
public static final EnumSet<Status> reportedStatuses = EnumSet.of(
|
public static final EnumSet<Status> reportedStatuses = EnumSet.of(
|
||||||
Status.ON_MONITORING, Status.PROCESSING_REPEATED
|
Status.ON_MONITORING
|
||||||
);
|
);
|
||||||
|
|
||||||
public static Comparator<UserPackage> INSTANCE = Comparator
|
public static Comparator<UserPackage> INSTANCE = Comparator
|
||||||
|
|
@ -24,7 +25,7 @@ public class ReportListPackageStatusComparator {
|
||||||
try {
|
try {
|
||||||
Status status = Status.valueOf(str);
|
Status status = Status.valueOf(str);
|
||||||
return switch (status) {
|
return switch (status) {
|
||||||
case ON_MONITORING, PROCESSING_REPEATED -> 1;
|
case ON_MONITORING -> 1;
|
||||||
default -> -1;
|
default -> -1;
|
||||||
};
|
};
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,8 @@ package ru.nbch.credit_tracker.enums;
|
||||||
|
|
||||||
public enum Status {
|
public enum Status {
|
||||||
ON_MONITORING, // пакет стоит на мониторинге в оф. сервисе
|
ON_MONITORING, // пакет стоит на мониторинге в оф. сервисе
|
||||||
NO_FID,
|
|
||||||
REJECTED, // отклонен на стороне НБКИ
|
REJECTED, // отклонен на стороне НБКИ
|
||||||
PROCESSING, // идет поиск телефона и расчет флагов по пакету
|
PROCESSING, // идет поиск телефона и расчет флагов по пакету
|
||||||
PROCESSING_REPEATED,
|
|
||||||
ACCEPTED,
|
ACCEPTED,
|
||||||
DELETED, // пакет удален
|
DELETED, // пакет удален
|
||||||
ERROR; // произошла ошибка при постановке пакета на мониторинг в оф. сервис
|
ERROR; // произошла ошибка при постановке пакета на мониторинг в оф. сервис
|
||||||
|
|
|
||||||
|
|
@ -223,8 +223,7 @@ public class SignalFacade {
|
||||||
pack.setPackageName(data.getPackageName());
|
pack.setPackageName(data.getPackageName());
|
||||||
pack.setCreatedAt(data.getCreatedAt() != null ? data.getCreatedAt().toString() : null);
|
pack.setCreatedAt(data.getCreatedAt() != null ? data.getCreatedAt().toString() : null);
|
||||||
Status packageStatus = EnumUtil.getEnum(Status.class, data.getStatus());
|
Status packageStatus = EnumUtil.getEnum(Status.class, data.getStatus());
|
||||||
Status statusForClient = packageStatus == Status.ACCEPTED ? Status.PROCESSING :
|
Status statusForClient = packageStatus == Status.ACCEPTED ? Status.PROCESSING : packageStatus;
|
||||||
Arrays.asList(Status.PROCESSING_REPEATED, Status.NO_FID).contains(packageStatus) ? Status.ON_MONITORING : packageStatus;
|
|
||||||
assert statusForClient != null;
|
assert statusForClient != null;
|
||||||
pack.setStatus(statusForClient.name());
|
pack.setStatus(statusForClient.name());
|
||||||
if (packageStatus == Status.DELETED) {
|
if (packageStatus == Status.DELETED) {
|
||||||
|
|
@ -244,7 +243,7 @@ public class SignalFacade {
|
||||||
-> clientExcp(SignalError.ERROR_016, XmlErrorFormat.MonitoringPackageDeleteError, packageName));
|
-> clientExcp(SignalError.ERROR_016, XmlErrorFormat.MonitoringPackageDeleteError, packageName));
|
||||||
|
|
||||||
Status status = EnumUtil.getEnum(Status.class, packageToDelete.getStatus());
|
Status status = EnumUtil.getEnum(Status.class, packageToDelete.getStatus());
|
||||||
if (!Arrays.asList(Status.ON_MONITORING, Status.NO_FID).contains(status)) {
|
if (Status.ON_MONITORING != status) {
|
||||||
throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName);
|
throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -266,7 +265,6 @@ public class SignalFacade {
|
||||||
case PROCESSING, ACCEPTED -> SignalError.ERROR_023;
|
case PROCESSING, ACCEPTED -> SignalError.ERROR_023;
|
||||||
case REJECTED, ERROR -> SignalError.ERROR_024;
|
case REJECTED, ERROR -> SignalError.ERROR_024;
|
||||||
case DELETED -> SignalError.ERROR_025;
|
case DELETED -> SignalError.ERROR_025;
|
||||||
case PROCESSING_REPEATED -> SignalError.ERROR_026;
|
|
||||||
default -> throw new IllegalStateException("Unexpected value: " + status);
|
default -> throw new IllegalStateException("Unexpected value: " + status);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,6 @@ public interface PackagesRecordsMapper {
|
||||||
@Param("limit") int limit,
|
@Param("limit") int limit,
|
||||||
@Param("offset") int offset);
|
@Param("offset") int offset);
|
||||||
|
|
||||||
List<Long> uniquePackageIdByPhones(@Param("json") String json);
|
|
||||||
|
|
||||||
List<Long> uniquePackageIdByInnAndRegNum(@Param("json") String json);
|
|
||||||
|
|
||||||
List<UserPackagePhoneData> selectUserPackagePhoneData(@Param("json") String json);
|
List<UserPackagePhoneData> selectUserPackagePhoneData(@Param("json") String json);
|
||||||
|
|
||||||
List<UserPackageLegalData> selectUserPackageLegalData(@Param("json") String json);
|
List<UserPackageLegalData> selectUserPackageLegalData(@Param("json") String json);
|
||||||
|
|
|
||||||
|
|
@ -25,14 +25,8 @@ public interface UserPackageMapper {
|
||||||
void updatePackageOnMonitoringSuccess(@Param("id") Long id,
|
void updatePackageOnMonitoringSuccess(@Param("id") Long id,
|
||||||
@Param("monitoringAt") LocalDateTime monitoringAt);
|
@Param("monitoringAt") LocalDateTime monitoringAt);
|
||||||
|
|
||||||
void updateNoFidMonitoring(@Param("id") Long id);
|
|
||||||
|
|
||||||
void setFidChanged(@Param("packageIds") List<Long> id);
|
|
||||||
|
|
||||||
UserPackage findPackage(@Param("id") Long id);
|
UserPackage findPackage(@Param("id") Long id);
|
||||||
|
|
||||||
List<UserPackage> findForRepeatedPackages();
|
|
||||||
|
|
||||||
List<UserPackage> findUserPackages(@Param("userId") String userId,
|
List<UserPackage> findUserPackages(@Param("userId") String userId,
|
||||||
@Param("statuses") List<String> status);
|
@Param("statuses") List<String> status);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,17 +59,13 @@ public class UserPackageService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<UserPackage> findActivePackages(String userId) {
|
public List<UserPackage> findActivePackages(String userId) {
|
||||||
return userPackageMapper.findUserPackages(userId.substring(0, 6), Arrays.asList(Status.ON_MONITORING.name(), Status.NO_FID.name()));
|
return userPackageMapper.findUserPackages(userId.substring(0, 6), Arrays.asList(Status.ON_MONITORING.name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserPackage findByPackageName(String packageName) {
|
public UserPackage findByPackageName(String packageName) {
|
||||||
return userPackageMapper.findByPackageName(packageName);
|
return userPackageMapper.findByPackageName(packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFidChanged(List<Long> id) {
|
|
||||||
userPackageMapper.setFidChanged(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<UserPackage> findAllPackages(String userId) {
|
public List<UserPackage> findAllPackages(String userId) {
|
||||||
return userPackageMapper.findAllPackagesByUserId(userId.substring(0, 6));
|
return userPackageMapper.findAllPackagesByUserId(userId.substring(0, 6));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ public class StartupRestoreService {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processingRestore() {
|
private void processingRestore() {
|
||||||
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.name(), Status.PROCESSING_REPEATED.name());
|
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.name());
|
||||||
log.debug("Found {} packages in status PROCESSING", packages.size());
|
log.debug("Found {} packages in status PROCESSING", packages.size());
|
||||||
for (UserPackage userPackage : packages) {
|
for (UserPackage userPackage : packages) {
|
||||||
if (userPackage.getSubjectType() == 1) {
|
if (userPackage.getSubjectType() == 1) {
|
||||||
|
|
|
||||||
|
|
@ -5,15 +5,12 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
import ru.nbch.credit_tracker.entities.app.UserPackage;
|
|
||||||
import ru.nbch.credit_tracker.mapper.signal.LegalsMapMapper;
|
import ru.nbch.credit_tracker.mapper.signal.LegalsMapMapper;
|
||||||
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
|
|
||||||
import ru.nbch.credit_tracker.service.signal.PhonesMapService;
|
import ru.nbch.credit_tracker.service.signal.PhonesMapService;
|
||||||
import ru.nbch.credit_tracker.service.task.*;
|
import ru.nbch.credit_tracker.service.task.*;
|
||||||
import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
|
import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
|
||||||
import ru.nbch.pipeline.engine.core.Pipeline;
|
import ru.nbch.pipeline.engine.core.Pipeline;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|
@ -24,9 +21,6 @@ public class UpdatingFidService {
|
||||||
private final LpPipelinePackageFabric lpPipelinePackageFabric;
|
private final LpPipelinePackageFabric lpPipelinePackageFabric;
|
||||||
private final NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator;
|
private final NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator;
|
||||||
private final LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator;
|
private final LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator;
|
||||||
private final NpPipelinePackageOrchestrator npPipelinePackageOrchestrator;
|
|
||||||
private final LpPipelinePackageOrchestrator lpPipelinePackageOrchestrator;
|
|
||||||
private final UserPackageMapper userPackageMapper;
|
|
||||||
private final PhonesMapService phonesMapService;
|
private final PhonesMapService phonesMapService;
|
||||||
private final LegalsMapMapper legalsMapMapper;
|
private final LegalsMapMapper legalsMapMapper;
|
||||||
|
|
||||||
|
|
@ -35,18 +29,12 @@ public class UpdatingFidService {
|
||||||
LpPipelinePackageFabric lpPipelinePackageFabric,
|
LpPipelinePackageFabric lpPipelinePackageFabric,
|
||||||
NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator,
|
NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator,
|
||||||
LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator,
|
LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator,
|
||||||
NpPipelinePackageOrchestrator npPipelinePackageOrchestrator,
|
|
||||||
LpPipelinePackageOrchestrator lpPipelinePackageOrchestrator,
|
|
||||||
UserPackageMapper userPackageMapper,
|
|
||||||
PhonesMapService phonesMapService,
|
PhonesMapService phonesMapService,
|
||||||
LegalsMapMapper legalsMapMapper) {
|
LegalsMapMapper legalsMapMapper) {
|
||||||
this.npPipelinePackageFabric = npPipelinePackageFabric;
|
this.npPipelinePackageFabric = npPipelinePackageFabric;
|
||||||
this.lpPipelinePackageFabric = lpPipelinePackageFabric;
|
this.lpPipelinePackageFabric = lpPipelinePackageFabric;
|
||||||
this.npPipelineRecalcOrchestrator = npPipelineRecalcOrchestrator;
|
this.npPipelineRecalcOrchestrator = npPipelineRecalcOrchestrator;
|
||||||
this.lpPipelineRecalcOrchestrator = lpPipelineRecalcOrchestrator;
|
this.lpPipelineRecalcOrchestrator = lpPipelineRecalcOrchestrator;
|
||||||
this.npPipelinePackageOrchestrator = npPipelinePackageOrchestrator;
|
|
||||||
this.lpPipelinePackageOrchestrator = lpPipelinePackageOrchestrator;
|
|
||||||
this.userPackageMapper = userPackageMapper;
|
|
||||||
this.phonesMapService = phonesMapService;
|
this.phonesMapService = phonesMapService;
|
||||||
this.legalsMapMapper = legalsMapMapper;
|
this.legalsMapMapper = legalsMapMapper;
|
||||||
}
|
}
|
||||||
|
|
@ -59,7 +47,7 @@ public class UpdatingFidService {
|
||||||
}
|
}
|
||||||
log.info("Delete unused phones");
|
log.info("Delete unused phones");
|
||||||
phonesMapService.deleteUnusedPhones();
|
phonesMapService.deleteUnusedPhones();
|
||||||
log.info("Start updating fids and PD");
|
log.info("Start updating fids");
|
||||||
try {
|
try {
|
||||||
Pipeline pipeline = npPipelinePackageFabric.buildRecalculationPD(new SetupParam(null, 1, PipelineMode.RECALC_FID));
|
Pipeline pipeline = npPipelinePackageFabric.buildRecalculationPD(new SetupParam(null, 1, PipelineMode.RECALC_FID));
|
||||||
CompletableFuture<?> future = npPipelineRecalcOrchestrator.startOrReject(pipeline);
|
CompletableFuture<?> future = npPipelineRecalcOrchestrator.startOrReject(pipeline);
|
||||||
|
|
@ -70,17 +58,7 @@ public class UpdatingFidService {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<UserPackage> packagesRepeated = userPackageMapper.findForRepeatedPackages();
|
log.info("Updating NP fids successfully completed.");
|
||||||
packagesRepeated.forEach(userPackage -> {
|
|
||||||
Long packageId = userPackage.getId();
|
|
||||||
SetupParam setupParam = new SetupParam(packageId, 1, PipelineMode.RESEND);
|
|
||||||
try {
|
|
||||||
Pipeline makeXmlByCache = npPipelinePackageFabric.build(setupParam);
|
|
||||||
npPipelinePackageOrchestrator.startOrDelay(makeXmlByCache, packageId);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Failed to build pipeline", e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} finally {
|
} finally {
|
||||||
log.info("pipeline finished");
|
log.info("pipeline finished");
|
||||||
pipeline.close();
|
pipeline.close();
|
||||||
|
|
@ -98,7 +76,7 @@ public class UpdatingFidService {
|
||||||
log.info("The previous task has not yet been completed.");
|
log.info("The previous task has not yet been completed.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log.info("Delete unused phones");
|
log.info("Delete unused lp maps");
|
||||||
legalsMapMapper.deleteUnusedMaps();
|
legalsMapMapper.deleteUnusedMaps();
|
||||||
log.info("Start updating fids");
|
log.info("Start updating fids");
|
||||||
try {
|
try {
|
||||||
|
|
@ -111,17 +89,7 @@ public class UpdatingFidService {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<UserPackage> packagesRepeated = userPackageMapper.findForRepeatedPackages();
|
log.info("Updating LP fids successfully completed.");
|
||||||
packagesRepeated.forEach(userPackage -> {
|
|
||||||
Long packageId = userPackage.getId();
|
|
||||||
SetupParam setupParam = new SetupParam(packageId, 2, PipelineMode.RESEND);
|
|
||||||
try {
|
|
||||||
Pipeline setupPipeline = lpPipelinePackageFabric.build(setupParam);
|
|
||||||
lpPipelinePackageOrchestrator.startOrDelay(setupPipeline, packageId);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Failed to build pipeline", e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} finally {
|
} finally {
|
||||||
log.info("pipeline finished");
|
log.info("pipeline finished");
|
||||||
pipeline.close();
|
pipeline.close();
|
||||||
|
|
|
||||||
|
|
@ -110,34 +110,6 @@ public class PackageRecordsService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Long> selectNpUniquePackageIds(List<Long> phones) {
|
|
||||||
try {
|
|
||||||
String json = entityToJsonMapper.writeValueAsString(phones.stream()
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.map(phone -> new HashMap<String, Object>() {{
|
|
||||||
put("phone", phone);
|
|
||||||
}}).toList());
|
|
||||||
return packagesRecordsMapper.uniquePackageIdByPhones(json);
|
|
||||||
} catch (JsonProcessingException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Long> selectLpUniquePackageIds(List<LegalsMap> legalsMaps) {
|
|
||||||
try {
|
|
||||||
String json = entityToJsonMapper.writeValueAsString(legalsMaps.stream()
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.map(s -> new HashMap<String, Object>() {{
|
|
||||||
put("inn", s.getInn());
|
|
||||||
put("reg_num", s.getRegNum());
|
|
||||||
}}).toList());
|
|
||||||
|
|
||||||
return packagesRecordsMapper.uniquePackageIdByInnAndRegNum(json);
|
|
||||||
} catch (JsonProcessingException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<UserPackagePhoneData> selectUserPackagePhoneData(Set<Long> phones) {
|
public List<UserPackagePhoneData> selectUserPackagePhoneData(Set<Long> phones) {
|
||||||
try {
|
try {
|
||||||
String json = entityToJsonMapper.writeValueAsString(phones.stream()
|
String json = entityToJsonMapper.writeValueAsString(phones.stream()
|
||||||
|
|
|
||||||
|
|
@ -112,8 +112,6 @@ public abstract class PackageOrchestrator {
|
||||||
}
|
}
|
||||||
if (!res.hasFids()) {
|
if (!res.hasFids()) {
|
||||||
log.info("No one fid was found by packageId : {}.", packageId);
|
log.info("No one fid was found by packageId : {}.", packageId);
|
||||||
userPackageMapper.updateNoFidMonitoring(packageId);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PipelineMode mode = ctx.get(PackageVariable.mode);
|
PipelineMode mode = ctx.get(PackageVariable.mode);
|
||||||
|
|
|
||||||
|
|
@ -107,12 +107,6 @@ public class LpFidUpdater implements Handler<SubjectPayload, VoidPayload> {
|
||||||
legalsMapService.updateSearchedAt(notChangingFidLegalMaps);
|
legalsMapService.updateSearchedAt(notChangingFidLegalMaps);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!changingFids.isEmpty()) {
|
|
||||||
List<Long> packageIds = packageRecordsService.selectLpUniquePackageIds(changingFids);
|
|
||||||
if (!packageIds.isEmpty()) {
|
|
||||||
userPackageService.setFidChanged(packageIds);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return new VoidPayload();
|
return new VoidPayload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,7 @@ import ru.nbch.credit_tracker.model.SubjectProfile;
|
||||||
import ru.nbch.credit_tracker.model.impl.PackageVariable;
|
import ru.nbch.credit_tracker.model.impl.PackageVariable;
|
||||||
import ru.nbch.credit_tracker.model.impl.SubjectPayload;
|
import ru.nbch.credit_tracker.model.impl.SubjectPayload;
|
||||||
import ru.nbch.credit_tracker.model.impl.VoidPayload;
|
import ru.nbch.credit_tracker.model.impl.VoidPayload;
|
||||||
import ru.nbch.credit_tracker.service.UserPackageService;
|
|
||||||
import ru.nbch.credit_tracker.service.indic.PersonService;
|
import ru.nbch.credit_tracker.service.indic.PersonService;
|
||||||
import ru.nbch.credit_tracker.service.signal.PackageRecordsService;
|
|
||||||
import ru.nbch.credit_tracker.service.signal.PhonesMapService;
|
import ru.nbch.credit_tracker.service.signal.PhonesMapService;
|
||||||
import ru.nbch.credit_tracker.utils.CTUtil;
|
import ru.nbch.credit_tracker.utils.CTUtil;
|
||||||
import ru.nbch.pipeline.engine.core.Handler;
|
import ru.nbch.pipeline.engine.core.Handler;
|
||||||
|
|
@ -25,20 +23,14 @@ import java.util.stream.Stream;
|
||||||
public class NpFidUpdater implements Handler<SubjectPayload, VoidPayload> {
|
public class NpFidUpdater implements Handler<SubjectPayload, VoidPayload> {
|
||||||
private final PersonService personService;
|
private final PersonService personService;
|
||||||
private final CreditTrackerSettings creditTrackerSettings;
|
private final CreditTrackerSettings creditTrackerSettings;
|
||||||
private final PackageRecordsService packageRecordsService;
|
|
||||||
private final PhonesMapService phonesMapService;
|
private final PhonesMapService phonesMapService;
|
||||||
private final UserPackageService userPackageService;
|
|
||||||
|
|
||||||
public NpFidUpdater(PersonService personService,
|
public NpFidUpdater(PersonService personService,
|
||||||
CreditTrackerSettings creditTrackerSettings,
|
CreditTrackerSettings creditTrackerSettings,
|
||||||
PackageRecordsService packageRecordsService,
|
PhonesMapService phonesMapService) {
|
||||||
PhonesMapService phonesMapService,
|
|
||||||
UserPackageService userPackageService) {
|
|
||||||
this.personService = personService;
|
this.personService = personService;
|
||||||
this.creditTrackerSettings = creditTrackerSettings;
|
this.creditTrackerSettings = creditTrackerSettings;
|
||||||
this.packageRecordsService = packageRecordsService;
|
|
||||||
this.phonesMapService = phonesMapService;
|
this.phonesMapService = phonesMapService;
|
||||||
this.userPackageService = userPackageService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -79,12 +71,6 @@ public class NpFidUpdater implements Handler<SubjectPayload, VoidPayload> {
|
||||||
phonesMapService.updateSearchedAt(notChangedPhones);
|
phonesMapService.updateSearchedAt(notChangedPhones);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!changingFids.isEmpty()) {
|
|
||||||
List<Long> packageIds = packageRecordsService.selectNpUniquePackageIds(changingFids);
|
|
||||||
if (!packageIds.isEmpty()) {
|
|
||||||
userPackageService.setFidChanged(packageIds);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return new VoidPayload();
|
return new VoidPayload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -231,8 +231,7 @@
|
||||||
AND sup.status IN
|
AND sup.status IN
|
||||||
(
|
(
|
||||||
'ON_MONITORING',
|
'ON_MONITORING',
|
||||||
'PROCESSING',
|
'PROCESSING'
|
||||||
'PROCESSING_REPEATED'
|
|
||||||
))
|
))
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,30 +42,6 @@
|
||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="uniquePackageIdByPhones" resultType="java.lang.Long">
|
|
||||||
WITH src AS (SELECT phone
|
|
||||||
FROM json_to_recordset(#{json}::json) AS t(
|
|
||||||
phone bigint
|
|
||||||
))
|
|
||||||
select distinct (package_id)
|
|
||||||
FROM signals_phone_fid_map spr
|
|
||||||
join signals_user_packages sup on sup.id = spr.package_id
|
|
||||||
where spr.phone_l in (select * from src) and sup.status = 'ON_MONITORING'
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="uniquePackageIdByInnAndRegNum" resultType="java.lang.Long">
|
|
||||||
WITH src AS (SELECT inn, reg_num
|
|
||||||
FROM json_to_recordset(#{json}::json) AS t(
|
|
||||||
inn bigint,
|
|
||||||
reg_num bigint
|
|
||||||
))
|
|
||||||
select distinct (package_id)
|
|
||||||
FROM signals_legal_fid_map slfm
|
|
||||||
JOIN signals_user_packages sup ON sup.id = slfm.package_id
|
|
||||||
WHERE (slfm.inn, slfm.reg_num) IN (SELECT inn, reg_num FROM src)
|
|
||||||
AND sup.status = 'ON_MONITORING'
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectUserPackagePhoneData" resultType="ru.nbch.credit_tracker.model.UserPackagePhoneData">
|
<select id="selectUserPackagePhoneData" resultType="ru.nbch.credit_tracker.model.UserPackagePhoneData">
|
||||||
WITH src AS (SELECT phone
|
WITH src AS (SELECT phone
|
||||||
FROM json_to_recordset(#{json}::json) AS t(
|
FROM json_to_recordset(#{json}::json) AS t(
|
||||||
|
|
|
||||||
|
|
@ -210,8 +210,7 @@
|
||||||
AND sup.status IN
|
AND sup.status IN
|
||||||
(
|
(
|
||||||
'ON_MONITORING',
|
'ON_MONITORING',
|
||||||
'PROCESSING',
|
'PROCESSING'
|
||||||
'PROCESSING_REPEATED'
|
|
||||||
))
|
))
|
||||||
</delete>
|
</delete>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -16,7 +16,6 @@
|
||||||
<result property="monitoringAt" column="monitoring_at"/>
|
<result property="monitoringAt" column="monitoring_at"/>
|
||||||
<result property="rejectStatus" column="reject_status"/>
|
<result property="rejectStatus" column="reject_status"/>
|
||||||
<result property="signalTypes" column="signal_types"/>
|
<result property="signalTypes" column="signal_types"/>
|
||||||
<result property="externalPackageName" column="external_package_name"/>
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="isPackageNotUnique" resultType="boolean">
|
<select id="isPackageNotUnique" resultType="boolean">
|
||||||
|
|
@ -63,8 +62,8 @@
|
||||||
|
|
||||||
<select id="insertPackage" resultType="java.lang.Long"
|
<select id="insertPackage" resultType="java.lang.Long"
|
||||||
parameterType="ru.nbch.credit_tracker.entities.app.UserPackage">
|
parameterType="ru.nbch.credit_tracker.entities.app.UserPackage">
|
||||||
INSERT INTO signals_user_packages (membercode, package_name, subject_type, signal_types, created_at, status, external_package_name)
|
INSERT INTO signals_user_packages (membercode, package_name, subject_type, signal_types, created_at, status)
|
||||||
values (#{userPackage.userId}, #{userPackage.packageName}, #{userPackage.subjectType}, #{userPackage.signalTypes}, #{userPackage.createdAt}, #{userPackage.status}, concat(substring(#{userPackage.userId}, 1, 6), '_', #{userPackage.packageName})) RETURNING id
|
values (#{userPackage.userId}, #{userPackage.packageName}, #{userPackage.subjectType}, #{userPackage.signalTypes}, #{userPackage.createdAt}, #{userPackage.status}) RETURNING id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="updatePackageStatus">
|
<update id="updatePackageStatus">
|
||||||
|
|
@ -73,16 +72,6 @@
|
||||||
WHERE id = #{packageId}
|
WHERE id = #{packageId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="setFidChanged">
|
|
||||||
UPDATE signals_user_packages
|
|
||||||
SET fid_changed = 1,
|
|
||||||
status = 'PROCESSING_REPEATED'
|
|
||||||
WHERE id in
|
|
||||||
<foreach item="packageId" collection="packageIds" open="(" separator="," close=")">
|
|
||||||
#{packageId}
|
|
||||||
</foreach>
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updatePackageLastDownloadedReport" parameterType="string">
|
<update id="updatePackageLastDownloadedReport" parameterType="string">
|
||||||
WITH src AS (
|
WITH src AS (
|
||||||
SELECT
|
SELECT
|
||||||
|
|
@ -105,14 +94,7 @@
|
||||||
<if test="monitoringAt != null">
|
<if test="monitoringAt != null">
|
||||||
monitoring_at = #{monitoringAt},
|
monitoring_at = #{monitoringAt},
|
||||||
</if>
|
</if>
|
||||||
status = 'ON_MONITORING',
|
status = 'ON_MONITORING'
|
||||||
fid_changed = null
|
|
||||||
WHERE id = #{id}
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateNoFidMonitoring">
|
|
||||||
UPDATE signals_user_packages
|
|
||||||
SET monitoring_at = created_at, status = 'NO_FID', fid_changed = null
|
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
@ -154,21 +136,6 @@
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="findForRepeatedPackages" resultMap="packageDataResultMap">
|
|
||||||
SELECT id,
|
|
||||||
membercode,
|
|
||||||
package_name,
|
|
||||||
created_at,
|
|
||||||
status,
|
|
||||||
deactivated_at,
|
|
||||||
last_downloaded_report,
|
|
||||||
monitoring_at,
|
|
||||||
reject_status,
|
|
||||||
signal_types
|
|
||||||
FROM signals_user_packages
|
|
||||||
WHERE fid_changed = 1 and status = 'PROCESSING_REPEATED'
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="findOnMonitoringPackages" resultMap="packageDataResultMap">
|
<select id="findOnMonitoringPackages" resultMap="packageDataResultMap">
|
||||||
SELECT id,
|
SELECT id,
|
||||||
membercode,
|
membercode,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue