This commit is contained in:
parent
5b5f96309e
commit
94c88e16bd
6 changed files with 52 additions and 27 deletions
|
|
@ -4,14 +4,14 @@ import org.springframework.boot.SpringApplication;
|
|||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import ru.nbch.credit_tracker.service.MonitoringService;
|
||||
import ru.nbch.credit_tracker.service.UpdateProcessingPackagesService;
|
||||
import ru.nbch.credit_tracker.service.StartupRestoreService;
|
||||
|
||||
@SpringBootApplication
|
||||
public class CreditTrackerApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
ConfigurableApplicationContext ctx = SpringApplication.run(CreditTrackerApplication.class, args);
|
||||
UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class);
|
||||
StartupRestoreService updateProcessingPackagesService = ctx.getBean(StartupRestoreService.class);
|
||||
MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
|
||||
updateProcessingPackagesService.run();
|
||||
monitoringService.run();
|
||||
|
|
|
|||
|
|
@ -241,10 +241,12 @@ public class SignalFacadeV3 {
|
|||
throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName);
|
||||
}
|
||||
|
||||
if (status == Status.ON_MONITORING) {
|
||||
boolean successfullyDeleted = signalRestService.deletePackage(username, packageName);
|
||||
if (!successfullyDeleted) {
|
||||
throw clientExcp(SignalError.ERROR_017, XmlErrorFormat.MonitoringPackageDeleteError, packageName);
|
||||
}
|
||||
}
|
||||
|
||||
LocalDateTime deactivatedAt = LocalDateTime.now();
|
||||
userPackageService.deletePackageById(packageToDelete.getId(), deactivatedAt);
|
||||
|
|
|
|||
|
|
@ -11,12 +11,6 @@ public interface UserPackageMapper {
|
|||
|
||||
boolean isPackageNotUnique(@Param("userId") String userId, @Param("packageName") String packageName);
|
||||
|
||||
boolean isPackageExists(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String status);
|
||||
|
||||
boolean hasActivePackages(@Param("userId") String userId, @Param("packageName") String packageName, @Param("statuses") List<String> statuses);
|
||||
|
||||
void deletePackage(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String newStatus, @Param("previousStatus") String previousStatus, @Param("deactivatedAt") LocalDateTime deactivatedAt);
|
||||
|
||||
void deletePackageById(@Param("id") Long id, @Param("status") String newStatus, @Param("deactivatedAt") LocalDateTime deactivatedAt);
|
||||
|
||||
Long insertPackage(@Param("userPackage") UserPackage userPackage);
|
||||
|
|
@ -26,6 +20,7 @@ public interface UserPackageMapper {
|
|||
void updatePackageLastDownloadedReport(@Param("id") Long id, @Param("fileName") String fileName);
|
||||
|
||||
void updatePackageOnMonitoringSuccess(@Param("id") Long id, @Param("monitoringAt") LocalDateTime monitoringAt);
|
||||
void updateNoFidMonitoring(@Param("id") Long id);
|
||||
void setLastSearchedDt(@Param("id") Long id);
|
||||
void setFidChanged(@Param("packageIds") List<Long> id);
|
||||
|
||||
|
|
@ -37,6 +32,7 @@ public interface UserPackageMapper {
|
|||
List<UserPackage> findAllPackagesByStatus(@Param("statuses") String... statuses);
|
||||
|
||||
List<UserPackage> findAllPackagesByUserId(@Param("userId") String userId);
|
||||
List<UserPackage> findOnMonitoringPackages();
|
||||
List<UserPackage> findByMemberCodeAndPackageName(@Param("memberCode") String memberCode,
|
||||
@Param("packageName") String packageName);
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package ru.nbch.credit_tracker.service;
|
|||
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
|
@ -27,39 +26,45 @@ import ru.nbch.credit_tracker.utils.error.ExceptionUtils;
|
|||
@Slf4j
|
||||
@Service
|
||||
@EnableAspectJAutoProxy(exposeProxy = true)
|
||||
public class UpdateProcessingPackagesService {
|
||||
public class StartupRestoreService {
|
||||
|
||||
private final UserPackageMapper userPackageMapper;
|
||||
private final PackagesRecordsMapper phoneFidMapMapper;
|
||||
private final PipelinePackageFabric pipelinePackageManager;
|
||||
private final PipelinePackageOrchestrator pipelineOrchestrator;
|
||||
private final CreditTrackerSettings creditTrackerSettings;
|
||||
private final MonitoringErrorProcesingService monitoringErrorProcesingService;
|
||||
private final Saver saver;
|
||||
private final ExecutorService pipelineExecutorService;
|
||||
private final ExecutorService saverExecutorService;
|
||||
|
||||
public UpdateProcessingPackagesService(UserPackageMapper userPackageMapper,
|
||||
public StartupRestoreService(UserPackageMapper userPackageMapper,
|
||||
PackagesRecordsMapper phoneFidMapMapper,
|
||||
PipelinePackageFabric pipelinePackageManager, PipelinePackageOrchestrator pipelineOrchestrator,
|
||||
PipelinePackageFabric pipelinePackageManager,
|
||||
PipelinePackageOrchestrator pipelineOrchestrator,
|
||||
CreditTrackerSettings creditTrackerSettings,
|
||||
Saver saver,
|
||||
ExecutorService pipelineExecutorService,
|
||||
ExecutorService saverExecutorService) {
|
||||
MonitoringErrorProcesingService monitoringErrorProcesingService,
|
||||
Saver saver) {
|
||||
this.userPackageMapper = userPackageMapper;
|
||||
this.phoneFidMapMapper = phoneFidMapMapper;
|
||||
this.pipelinePackageManager = pipelinePackageManager;
|
||||
this.pipelineOrchestrator = pipelineOrchestrator;
|
||||
this.creditTrackerSettings = creditTrackerSettings;
|
||||
this.monitoringErrorProcesingService = monitoringErrorProcesingService;
|
||||
this.saver = saver;
|
||||
this.pipelineExecutorService = pipelineExecutorService;
|
||||
this.saverExecutorService = saverExecutorService;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
onMonitoringRestore();
|
||||
acceptedRestore();
|
||||
processingRestore();
|
||||
}
|
||||
|
||||
private void onMonitoringRestore() {
|
||||
List<UserPackage> packages = userPackageMapper.findOnMonitoringPackages();
|
||||
packages.forEach(userPackage -> {
|
||||
monitoringErrorProcesingService.findErrors(userPackage.getId());
|
||||
});
|
||||
}
|
||||
|
||||
private void acceptedRestore() {
|
||||
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.ACCEPTED.name());
|
||||
log.debug("Found {} packages in status ACCEPTED", packages.size());
|
||||
|
|
@ -81,7 +86,7 @@ public class UpdateProcessingPackagesService {
|
|||
}
|
||||
|
||||
private void processingRestore() {
|
||||
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.name());
|
||||
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.name(), Status.PROCESSING_REPEATED.name());
|
||||
packages = packages.stream().filter(userPackage -> userPackage.getRejectStatus() == null).toList();
|
||||
log.debug("Found {} packages in status PROCESSING and rejected_status = null", packages.size());
|
||||
for (UserPackage userPackage : packages) {
|
||||
|
|
@ -11,7 +11,6 @@ import org.slf4j.LoggerFactory;
|
|||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||
import ru.nbch.credit_tracker.enums.RejectedStatus;
|
||||
import ru.nbch.credit_tracker.enums.Status;
|
||||
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
|
||||
import ru.nbch.credit_tracker.model.impl.PackageVariable;
|
||||
import ru.nbch.credit_tracker.model.impl.SignalXmlFilePayload;
|
||||
|
|
@ -119,7 +118,7 @@ public class PipelinePackageOrchestrator {
|
|||
}
|
||||
if (res.signalXmlFilePath() == null) {
|
||||
log.info("No one fid was found by packageId : {}; xml file won't be sent", packageId);
|
||||
userPackageMapper.updatePackageStatus(packageId, Status.NO_FID.name());
|
||||
userPackageMapper.updateNoFidMonitoring(packageId);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -96,6 +96,12 @@
|
|||
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}
|
||||
</update>
|
||||
|
||||
<update id="setLastSearchedDt">
|
||||
UPDATE signals_user_packages
|
||||
SET last_searched_at = now()
|
||||
|
|
@ -141,6 +147,23 @@
|
|||
WHERE fid_changed = 1 and status = 'PROCESSING_REPEATED'
|
||||
</select>
|
||||
|
||||
<select id="findOnMonitoringPackages" resultMap="packageDataResultMap">
|
||||
SELECT id,
|
||||
membercode,
|
||||
package_name,
|
||||
created_at,
|
||||
status,
|
||||
deactivated_at,
|
||||
last_downloaded_report,
|
||||
monitoring_at,
|
||||
last_searched_at,
|
||||
reject_status,
|
||||
signal_types
|
||||
FROM signals_user_packages
|
||||
WHERE status = 'ON_MONITORING' and reject_status is null
|
||||
</select>
|
||||
|
||||
|
||||
<select id="findUserPackages" resultMap="packageDataResultMap">
|
||||
SELECT id,
|
||||
membercode,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue