This commit is contained in:
parent
c135bf8481
commit
75366d7d54
8 changed files with 63 additions and 17 deletions
|
|
@ -66,7 +66,8 @@ ct.load-dir=D:\\folder_name\\signals
|
||||||
# min
|
# min
|
||||||
ct.monitoring-interval=${MONITORING_INTERVAL:15}
|
ct.monitoring-interval=${MONITORING_INTERVAL:15}
|
||||||
# days
|
# days
|
||||||
ct.update-flags-cron-expression=${UPDATE_FLAGS_CRON_EXPRESSION:0 0 22 * * *}
|
ct.update-flags-cron-expression=${UPDATE_FLAGS_CRON_EXPRESSION:0 25 18 * * *}
|
||||||
|
ct.update-fid-cron-expression=${UPDATE_FLAGS_CRON_EXPRESSION:0 10 12 * * *}
|
||||||
ct.days-to-update-flags=${DAYS_TO_UPDATE_FLAGS:30}
|
ct.days-to-update-flags=${DAYS_TO_UPDATE_FLAGS:30}
|
||||||
|
|
||||||
ct.db-version=${DB_VERSION:1234}
|
ct.db-version=${DB_VERSION:1234}
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,9 @@ public class CreditTrackerApplication {
|
||||||
UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class);
|
UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class);
|
||||||
MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
|
MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
|
||||||
UpdatingFlagsService updatingFlagsService = ctx.getBean(UpdatingFlagsService.class);
|
UpdatingFlagsService updatingFlagsService = ctx.getBean(UpdatingFlagsService.class);
|
||||||
updatingFlagsService.update();
|
// updatingFlagsService.update();
|
||||||
// updateProcessingPackagesService.run();
|
updateProcessingPackagesService.run();
|
||||||
// monitoringService.run();
|
monitoringService.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.StandardCopyOption;
|
import java.nio.file.StandardCopyOption;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import javax.xml.stream.XMLStreamException;
|
import javax.xml.stream.XMLStreamException;
|
||||||
|
|
@ -215,7 +214,9 @@ public class SignalFacadeV3 {
|
||||||
PackageAll pack = new PackageAll();
|
PackageAll pack = new PackageAll();
|
||||||
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);
|
||||||
pack.setStatus(data.getStatus());
|
String statusForClient = data.getStatus().equals(Status.ACCEPTED.name()) ? Status.PROCESSING.name() :
|
||||||
|
data.getStatus().equals(Status.PROCESSING_REPEATED.name()) ? Status.ON_MONITORING.name() : data.getStatus();
|
||||||
|
pack.setStatus(statusForClient);
|
||||||
if (data.getStatus().equals(Status.DELETED.name())) {
|
if (data.getStatus().equals(Status.DELETED.name())) {
|
||||||
pack.setDeactivatedAt(data.getDeactivatedAt() != null ? data.getDeactivatedAt().toString() : null);
|
pack.setDeactivatedAt(data.getDeactivatedAt() != null ? data.getDeactivatedAt().toString() : null);
|
||||||
}
|
}
|
||||||
|
|
@ -233,7 +234,7 @@ public class SignalFacadeV3 {
|
||||||
-> 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.PROCESSING_REPEATED).contains(status)) {
|
if (!Status.ON_MONITORING.equals(status)) {
|
||||||
throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName);
|
throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -271,14 +271,16 @@ public class MonitoringService {
|
||||||
List<Hit> hits = new ArrayList<>();
|
List<Hit> hits = new ArrayList<>();
|
||||||
response.getSubjects().getSubjects().forEach(subject -> {
|
response.getSubjects().getSubjects().forEach(subject -> {
|
||||||
subject.getSignals().getSignals().forEach(signal -> {
|
subject.getSignals().getSignals().forEach(signal -> {
|
||||||
Hit hit = new Hit();
|
if (userPackage.getSignalTypes().contains(signal.getSignalType().toString())) {
|
||||||
hit.setPackageId(userPackage.getId());
|
Hit hit = new Hit();
|
||||||
hit.setSubjectId(subject.getId());
|
hit.setPackageId(userPackage.getId());
|
||||||
hit.setPhone(Long.valueOf(subject.getClientId()));
|
hit.setSubjectId(subject.getId());
|
||||||
hit.setSignalType(signal.getSignalType());
|
hit.setPhone(Long.valueOf(subject.getClientId()));
|
||||||
hit.setResponseSentAt(responseSentAt);
|
hit.setSignalType(signal.getSignalType());
|
||||||
hit.setReportFileName(reportFileName.getFileName().toString());
|
hit.setResponseSentAt(responseSentAt);
|
||||||
hits.add(hit);
|
hit.setReportFileName(reportFileName.getFileName().toString());
|
||||||
|
hits.add(hit);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
if (!hits.isEmpty()) {
|
if (!hits.isEmpty()) {
|
||||||
hitsService.insertHits(hits);
|
hitsService.insertHits(hits);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package ru.nbch.credit_tracker.service;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
|
import ru.nbch.credit_tracker.service.task.Pipeline;
|
||||||
|
import ru.nbch.credit_tracker.service.task.PipelinePackageFabric;
|
||||||
|
import ru.nbch.credit_tracker.service.task.PipelineRecalcPDOrchestrator;
|
||||||
|
import ru.nbch.credit_tracker.service.task.SetupParam;
|
||||||
|
import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@EnableScheduling
|
||||||
|
public class UpdatingFidAndPdService {
|
||||||
|
private final PipelinePackageFabric pipelinePackageManager;
|
||||||
|
private final PipelineRecalcPDOrchestrator pipelineRecalcPDOrchestrator;
|
||||||
|
|
||||||
|
public UpdatingFidAndPdService(CreditTrackerSettings config,
|
||||||
|
PipelinePackageFabric pipelinePackageManager,
|
||||||
|
PipelineRecalcPDOrchestrator pipelineRecalcPDOrchestrator) {
|
||||||
|
this.pipelinePackageManager = pipelinePackageManager;
|
||||||
|
this.pipelineRecalcPDOrchestrator = pipelineRecalcPDOrchestrator;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Scheduled(cron = "${ct.update-fid-cron-expression}")
|
||||||
|
public void update() {
|
||||||
|
log.info("Start updating fids and PD");
|
||||||
|
try {
|
||||||
|
Pipeline pipeline = pipelinePackageManager.buildRecalculationPD(new SetupParam(null, null, PipelineMode.RECALC_PERSONAL_DATA));
|
||||||
|
pipelineRecalcPDOrchestrator.startOrReject(pipeline);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Failed to build pipeline", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -73,7 +73,9 @@ public class FidNameUpdater implements Handler<SubjectPayload, SubjectPayload> {
|
||||||
|
|
||||||
if (!changingFids.isEmpty()) {
|
if (!changingFids.isEmpty()) {
|
||||||
List<Long> packageIds = packageRecordsService.selectUniquePackageIds(changingFids);
|
List<Long> packageIds = packageRecordsService.selectUniquePackageIds(changingFids);
|
||||||
userPackageService.setFidChanged(packageIds);
|
if (!packageIds.isEmpty()) {
|
||||||
|
userPackageService.setFidChanged(packageIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//2.set new fid name and id data in signals_phones_map
|
//2.set new fid name and id data in signals_phones_map
|
||||||
//2.2 set FID_CHANGED = 1 for this package(select by phone)
|
//2.2 set FID_CHANGED = 1 for this package(select by phone)
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="uniquePackageIdByPhones" resultType="java.util.List">
|
<select id="uniquePackageIdByPhones" resultType="java.lang.Long">
|
||||||
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(
|
||||||
phone bigint
|
phone bigint
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ alter table signals_user_packages
|
||||||
add EXTERNAL_PACKAGE_NAME varchar(255);
|
add EXTERNAL_PACKAGE_NAME varchar(255);
|
||||||
alter table signals_user_packages
|
alter table signals_user_packages
|
||||||
add FID_CHANGED smallint;
|
add FID_CHANGED smallint;
|
||||||
|
alter table signals_packages_records
|
||||||
|
add phone_l bigint;
|
||||||
|
|
||||||
|
|
||||||
alter table signals_hits
|
alter table signals_hits
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue