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
|
||||
ct.monitoring-interval=${MONITORING_INTERVAL:15}
|
||||
# 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.db-version=${DB_VERSION:1234}
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ public class CreditTrackerApplication {
|
|||
UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class);
|
||||
MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
|
||||
UpdatingFlagsService updatingFlagsService = ctx.getBean(UpdatingFlagsService.class);
|
||||
updatingFlagsService.update();
|
||||
// updateProcessingPackagesService.run();
|
||||
// monitoringService.run();
|
||||
// updatingFlagsService.update();
|
||||
updateProcessingPackagesService.run();
|
||||
monitoringService.run();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import java.nio.file.Files;
|
|||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
|
@ -215,7 +214,9 @@ public class SignalFacadeV3 {
|
|||
PackageAll pack = new PackageAll();
|
||||
pack.setPackageName(data.getPackageName());
|
||||
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())) {
|
||||
pack.setDeactivatedAt(data.getDeactivatedAt() != null ? data.getDeactivatedAt().toString() : null);
|
||||
}
|
||||
|
|
@ -233,7 +234,7 @@ public class SignalFacadeV3 {
|
|||
-> clientExcp(SignalError.ERROR_016, XmlErrorFormat.MonitoringPackageDeleteError, packageName));
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -271,14 +271,16 @@ public class MonitoringService {
|
|||
List<Hit> hits = new ArrayList<>();
|
||||
response.getSubjects().getSubjects().forEach(subject -> {
|
||||
subject.getSignals().getSignals().forEach(signal -> {
|
||||
Hit hit = new Hit();
|
||||
hit.setPackageId(userPackage.getId());
|
||||
hit.setSubjectId(subject.getId());
|
||||
hit.setPhone(Long.valueOf(subject.getClientId()));
|
||||
hit.setSignalType(signal.getSignalType());
|
||||
hit.setResponseSentAt(responseSentAt);
|
||||
hit.setReportFileName(reportFileName.getFileName().toString());
|
||||
hits.add(hit);
|
||||
if (userPackage.getSignalTypes().contains(signal.getSignalType().toString())) {
|
||||
Hit hit = new Hit();
|
||||
hit.setPackageId(userPackage.getId());
|
||||
hit.setSubjectId(subject.getId());
|
||||
hit.setPhone(Long.valueOf(subject.getClientId()));
|
||||
hit.setSignalType(signal.getSignalType());
|
||||
hit.setResponseSentAt(responseSentAt);
|
||||
hit.setReportFileName(reportFileName.getFileName().toString());
|
||||
hits.add(hit);
|
||||
}
|
||||
});
|
||||
if (!hits.isEmpty()) {
|
||||
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()) {
|
||||
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.2 set FID_CHANGED = 1 for this package(select by phone)
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="uniquePackageIdByPhones" resultType="java.util.List">
|
||||
<select id="uniquePackageIdByPhones" resultType="java.lang.Long">
|
||||
WITH src AS (SELECT phone
|
||||
FROM json_to_recordset(#{json}::json) AS t(
|
||||
phone bigint
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ alter table signals_user_packages
|
|||
add EXTERNAL_PACKAGE_NAME varchar(255);
|
||||
alter table signals_user_packages
|
||||
add FID_CHANGED smallint;
|
||||
alter table signals_packages_records
|
||||
add phone_l bigint;
|
||||
|
||||
|
||||
alter table signals_hits
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue