LP: Added restore logic
This commit is contained in:
parent
d84763b754
commit
5d09e25e87
3 changed files with 66 additions and 25 deletions
|
|
@ -14,4 +14,6 @@ public interface LegalsFidMapMapper {
|
||||||
List<SignalLegalFidMap> findFullLegalFidMap(@Param("packageId") Long packageId,
|
List<SignalLegalFidMap> findFullLegalFidMap(@Param("packageId") Long packageId,
|
||||||
@Param("limit") int limit,
|
@Param("limit") int limit,
|
||||||
@Param("offset") int offset);
|
@Param("offset") int offset);
|
||||||
|
|
||||||
|
Long deleteByPackageId(@Param("packageId") Long id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,10 @@ 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.entities.app.UserPackage;
|
||||||
import ru.nbch.credit_tracker.enums.Status;
|
import ru.nbch.credit_tracker.enums.Status;
|
||||||
|
import ru.nbch.credit_tracker.mapper.signal.LegalsFidMapMapper;
|
||||||
import ru.nbch.credit_tracker.mapper.signal.PackagesRecordsMapper;
|
import ru.nbch.credit_tracker.mapper.signal.PackagesRecordsMapper;
|
||||||
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
|
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
|
||||||
import ru.nbch.credit_tracker.service.task.NpPipelinePackageFabric;
|
import ru.nbch.credit_tracker.service.task.*;
|
||||||
import ru.nbch.credit_tracker.service.task.NpPipelinePackageOrchestrator;
|
|
||||||
import ru.nbch.credit_tracker.service.task.SetupParam;
|
|
||||||
import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
|
import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
|
||||||
import ru.nbch.credit_tracker.service.task.impl.Saver;
|
import ru.nbch.credit_tracker.service.task.impl.Saver;
|
||||||
import ru.nbch.credit_tracker.utils.CTUtil;
|
import ru.nbch.credit_tracker.utils.CTUtil;
|
||||||
|
|
@ -31,21 +30,30 @@ public class StartupRestoreService {
|
||||||
|
|
||||||
private final UserPackageMapper userPackageMapper;
|
private final UserPackageMapper userPackageMapper;
|
||||||
private final PackagesRecordsMapper phoneFidMapMapper;
|
private final PackagesRecordsMapper phoneFidMapMapper;
|
||||||
|
private final LegalsFidMapMapper legalsFidMapMapper;
|
||||||
private final NpPipelinePackageFabric npPipelinePackageManager;
|
private final NpPipelinePackageFabric npPipelinePackageManager;
|
||||||
private final NpPipelinePackageOrchestrator pipelineOrchestrator;
|
private final NpPipelinePackageOrchestrator npPipelineOrchestrator;
|
||||||
|
private final LpPipelinePackageFabric lpPipelinePackageManager;
|
||||||
|
private final LpPipelinePackageOrchestrator lpPipelineOrchestrator;
|
||||||
private final CreditTrackerSettings creditTrackerSettings;
|
private final CreditTrackerSettings creditTrackerSettings;
|
||||||
private final Saver saver;
|
private final Saver saver;
|
||||||
|
|
||||||
public StartupRestoreService(UserPackageMapper userPackageMapper,
|
public StartupRestoreService(UserPackageMapper userPackageMapper,
|
||||||
PackagesRecordsMapper phoneFidMapMapper,
|
PackagesRecordsMapper phoneFidMapMapper,
|
||||||
|
LegalsFidMapMapper legalsFidMapMapper,
|
||||||
NpPipelinePackageFabric npPipelinePackageManager,
|
NpPipelinePackageFabric npPipelinePackageManager,
|
||||||
NpPipelinePackageOrchestrator pipelineOrchestrator,
|
NpPipelinePackageOrchestrator npPipelineOrchestrator,
|
||||||
|
LpPipelinePackageFabric lpPipelinePackageManager,
|
||||||
|
LpPipelinePackageOrchestrator lpPipelineOrchestrator,
|
||||||
CreditTrackerSettings creditTrackerSettings,
|
CreditTrackerSettings creditTrackerSettings,
|
||||||
Saver saver) {
|
Saver saver) {
|
||||||
this.userPackageMapper = userPackageMapper;
|
this.userPackageMapper = userPackageMapper;
|
||||||
this.phoneFidMapMapper = phoneFidMapMapper;
|
this.phoneFidMapMapper = phoneFidMapMapper;
|
||||||
|
this.legalsFidMapMapper = legalsFidMapMapper;
|
||||||
this.npPipelinePackageManager = npPipelinePackageManager;
|
this.npPipelinePackageManager = npPipelinePackageManager;
|
||||||
this.pipelineOrchestrator = pipelineOrchestrator;
|
this.npPipelineOrchestrator = npPipelineOrchestrator;
|
||||||
|
this.lpPipelinePackageManager = lpPipelinePackageManager;
|
||||||
|
this.lpPipelineOrchestrator = lpPipelineOrchestrator;
|
||||||
this.creditTrackerSettings = creditTrackerSettings;
|
this.creditTrackerSettings = creditTrackerSettings;
|
||||||
this.saver = saver;
|
this.saver = saver;
|
||||||
}
|
}
|
||||||
|
|
@ -53,25 +61,40 @@ public class StartupRestoreService {
|
||||||
public void run() {
|
public void run() {
|
||||||
acceptedRestore();
|
acceptedRestore();
|
||||||
processingRestore();
|
processingRestore();
|
||||||
// TODO LP
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void acceptedRestore() {
|
private void acceptedRestore() {
|
||||||
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.ACCEPTED.name());
|
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.ACCEPTED.name());
|
||||||
log.debug("Found {} packages in status ACCEPTED", packages.size());
|
log.debug("Found {} packages in status ACCEPTED", packages.size());
|
||||||
for (UserPackage userPackage : packages) {
|
for (UserPackage userPackage : packages) {
|
||||||
try {
|
if (userPackage.getSubjectType() == 1) {
|
||||||
Long count = phoneFidMapMapper.deleteByPackageId(userPackage.getId());
|
try {
|
||||||
log.trace("Deleted {} rows", count);
|
Long count = phoneFidMapMapper.deleteByPackageId(userPackage.getId());
|
||||||
Path xmlReqPath = CTUtil.workingPathToReqByPackage(creditTrackerSettings.getLoadDir(), userPackage);
|
log.trace("Deleted {} np rows", count);
|
||||||
log.debug("Try to read and build pipeline for packageId {}; req xml path: {}", userPackage.getId(), xmlReqPath);
|
Path xmlReqPath = CTUtil.workingPathToReqByPackage(creditTrackerSettings.getLoadDir(), userPackage);
|
||||||
Pipeline pipeline = npPipelinePackageManager.build(new SetupParam(userPackage.getId(), 1, PipelineMode.DEFAULT));
|
log.debug("Try to read and build pipeline for packageId {}; req xml path: {}", userPackage.getId(), xmlReqPath);
|
||||||
pipelineOrchestrator.startOrDelay(
|
Pipeline pipeline = npPipelinePackageManager.build(new SetupParam(userPackage.getId(), 1, PipelineMode.DEFAULT));
|
||||||
() -> saver.readAndSaveNpPackage(userPackage.getId(), xmlReqPath),
|
npPipelineOrchestrator.startOrDelay(
|
||||||
pipeline, userPackage.getId()
|
() -> saver.readAndSaveNpPackage(userPackage.getId(), xmlReqPath),
|
||||||
);
|
pipeline, userPackage.getId()
|
||||||
} catch (Exception e) {
|
);
|
||||||
log.error("Error build default pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
|
} catch (Exception e) {
|
||||||
|
log.error("Error build default np pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
Long count = legalsFidMapMapper.deleteByPackageId(userPackage.getId());
|
||||||
|
log.trace("Deleted {} lp rows", count);
|
||||||
|
Path xmlReqPath = CTUtil.workingPathToReqByPackage(creditTrackerSettings.getLoadDir(), userPackage);
|
||||||
|
log.debug("Try to read and build lp pipeline for packageId {}; req xml path: {}", userPackage.getId(), xmlReqPath);
|
||||||
|
Pipeline pipeline = lpPipelinePackageManager.build(new SetupParam(userPackage.getId(), 2, PipelineMode.DEFAULT));
|
||||||
|
lpPipelineOrchestrator.startOrDelay(
|
||||||
|
() -> saver.readAndSaveNpPackage(userPackage.getId(), xmlReqPath),
|
||||||
|
pipeline, userPackage.getId()
|
||||||
|
);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Error build default lp pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -80,12 +103,22 @@ public class StartupRestoreService {
|
||||||
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.name(), Status.PROCESSING_REPEATED.name());
|
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.name(), Status.PROCESSING_REPEATED.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) {
|
||||||
try {
|
if (userPackage.getSubjectType() == 1) {
|
||||||
log.debug("Build pipeline for packageId {}", userPackage.getId());
|
try {
|
||||||
Pipeline pipeline = npPipelinePackageManager.build(new SetupParam(userPackage.getId(), 1, PipelineMode.DEFAULT));
|
log.debug("Build np pipeline for packageId {}", userPackage.getId());
|
||||||
pipelineOrchestrator.startOrDelay(pipeline, userPackage.getId());
|
Pipeline pipeline = npPipelinePackageManager.build(new SetupParam(userPackage.getId(), 1, PipelineMode.DEFAULT));
|
||||||
} catch (Exception e) {
|
npPipelineOrchestrator.startOrDelay(pipeline, userPackage.getId());
|
||||||
log.error("Error build restore pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
|
} catch (Exception e) {
|
||||||
|
log.error("Error build restore np pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
log.debug("Build lp pipeline for packageId {}", userPackage.getId());
|
||||||
|
Pipeline pipeline = lpPipelinePackageManager.build(new SetupParam(userPackage.getId(), 2, PipelineMode.DEFAULT));
|
||||||
|
lpPipelineOrchestrator.startOrDelay(pipeline, userPackage.getId());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Error build restore lp pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,4 +49,10 @@
|
||||||
LIMIT #{limit} OFFSET #{offset}
|
LIMIT #{limit} OFFSET #{offset}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteByPackageId" parameterType="long">
|
||||||
|
DELETE
|
||||||
|
FROM signals_legal_fid_map
|
||||||
|
WHERE package_id = #{packageId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Add table
Reference in a new issue