http://jira.mfd.msk:8088/browse/BKI-3246 Added signal_user_packages.monitoring_at column; Added monitoring_at setup logic
This commit is contained in:
parent
f950f98536
commit
9253dd3f19
9 changed files with 36 additions and 8 deletions
|
|
@ -17,4 +17,5 @@ public class UserPackage {
|
|||
private String status;
|
||||
private LocalDateTime deactivatedAt;
|
||||
private String lastDownloadedReport;
|
||||
private LocalDateTime monitoringAt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -240,8 +240,10 @@ public class SignalFacade {
|
|||
return;
|
||||
}
|
||||
if (signalRestService.setupMonitoring(packageId)) {
|
||||
log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||
LocalDateTime monitoringAt = LocalDateTime.now();
|
||||
log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}, MonitoringAt: {}", packageId, packageName, monitoringAt);
|
||||
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
||||
signalService.updatePackageMonitoringAt(packageId, monitoringAt);
|
||||
monitoringErrorProcesingService.findErrors(packageId);
|
||||
} else {
|
||||
log.info("Package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ public interface UserPackageMapper {
|
|||
|
||||
void updatePackageLastDownloadedReport(@Param("id") Integer id, @Param("fileName") String fileName);
|
||||
|
||||
void updateMonitoringAt(@Param("id")Integer id, @Param("monitoringAt") LocalDateTime monitoringAt);
|
||||
|
||||
UserPackage findPackage(@Param("id") Integer id);
|
||||
|
||||
List<UserPackage> findUserPackages(@Param("userId") String userId, @Param("statuses") List<String> status);
|
||||
|
|
|
|||
|
|
@ -201,6 +201,10 @@ public class SignalService {
|
|||
userPackageService.updatePackageStatus(packageId, status);
|
||||
}
|
||||
|
||||
public void updatePackageMonitoringAt(Integer packageId, LocalDateTime monitoringAt) {
|
||||
userPackageService.updateMonitoringAt(packageId, monitoringAt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Формирует файл запроса в официальный сервис сигналов, выгружая паспортные данные пачками и сразу записывая их в файл
|
||||
*
|
||||
|
|
|
|||
|
|
@ -54,21 +54,27 @@ public class UpdatingFlagsService {
|
|||
for (UserPackage userPackage : packages) {
|
||||
log.info("Updating flags for Package {}", userPackage.getPackageName());
|
||||
MDC.put("ru.nbch.credit_tracker.log.mdc.key", "[" + userPackage.getPackageName() +"]");
|
||||
updateFlags(userPackage.getId(), userPackage.getPackageName());
|
||||
updateFlags(userPackage);
|
||||
MDC.remove("ru.nbch.credit_tracker.log.mdc.key");
|
||||
}
|
||||
log.info("Finish updating flags");
|
||||
}
|
||||
|
||||
private void updateFlags(Integer packageId, String packageName) {
|
||||
private void updateFlags(UserPackage userPackage) {
|
||||
Integer packageId = userPackage.getId();
|
||||
String packageName = userPackage.getPackageName();
|
||||
try {
|
||||
signalService.updatePackageStatus(packageId, Status.PROCESSING);
|
||||
Predicate<PhoneFidMap> filter = subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt());
|
||||
SignalService.UpdateResult updateResult = signalService.updateSubjects(packageId, filter);
|
||||
if (updateResult.isUpdated()) {
|
||||
if (signalRestService.setupMonitoring(packageId)) {
|
||||
log.info("Flags were updated successfully. PackageId: {} PackageName: {}. Package status changed to ON_MONITORING", packageId, packageName);
|
||||
LocalDateTime monitoringAt = userPackage.getMonitoringAt() != null ? userPackage.getMonitoringAt() : LocalDateTime.now();
|
||||
log.info("Flags were updated successfully. PackageId: {} PackageName: {} MonitoringAt: {}. Package status changed to ON_MONITORING", packageId, packageName, monitoringAt);
|
||||
signalService.updatePackageStatus(packageId, Status.ON_MONITORING);
|
||||
if (userPackage.getMonitoringAt() == null) { // пакет еще не был поставлен на мониторинг в оф. сервис сигналов
|
||||
signalService.updatePackageMonitoringAt(packageId, monitoringAt);
|
||||
}
|
||||
monitoringErrorProcesingService.findErrors(packageId);
|
||||
} else {
|
||||
log.info("Updated package registration was rejected by signal service. PackageId: {} PackageName: {}", packageId, packageName);
|
||||
|
|
|
|||
|
|
@ -46,6 +46,10 @@ public class UserPackageService {
|
|||
mapper.updatePackageLastDownloadedReport(id, fileName);
|
||||
}
|
||||
|
||||
public void updateMonitoringAt(Integer id, LocalDateTime monitoringAt) {
|
||||
mapper.updateMonitoringAt(id, monitoringAt);
|
||||
}
|
||||
|
||||
public UserPackage findPackage(Integer id) {
|
||||
return mapper.findPackage(id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<result property="status" column="status"/>
|
||||
<result property="deactivatedAt" column="deactivated_at"/>
|
||||
<result property="lastDownloadedReport" column="last_downloaded_report"/>
|
||||
<result property="monitoringAt" column="monitoring_at"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="isPackageNotUnique" resultType="boolean">
|
||||
|
|
@ -69,9 +70,15 @@
|
|||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateMonitoringAt">
|
||||
UPDATE signals_user_packages
|
||||
SET monitoring_at = #{monitoringAt}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="findPackage" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report, monitoring_at
|
||||
FROM signals_user_packages
|
||||
WHERE id = #{id}
|
||||
LIMIT 1
|
||||
|
|
@ -79,7 +86,7 @@
|
|||
|
||||
<select id="findUserPackages" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report, monitoring_at
|
||||
FROM signals_user_packages
|
||||
WHERE membercode IS NOT NULL
|
||||
AND LEFT(membercode, 6) = #{userId}
|
||||
|
|
@ -91,7 +98,7 @@
|
|||
|
||||
<select id="findAllPackagesByUserId" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report, monitoring_at
|
||||
FROM signals_user_packages
|
||||
WHERE membercode IS NOT NULL
|
||||
AND LEFT(membercode, 6) = #{userId}
|
||||
|
|
@ -99,7 +106,7 @@
|
|||
|
||||
<select id="findAllPackagesByStatus" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report
|
||||
SELECT id, membercode, package_name, created_at, status, deactivated_at, last_downloaded_report, monitoring_at
|
||||
FROM signals_user_packages
|
||||
WHERE status = #{status}
|
||||
</select>
|
||||
|
|
|
|||
2
src/main/resources/sql/BKI-3246.ddl
Normal file
2
src/main/resources/sql/BKI-3246.ddl
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
alter table signals_user_packages
|
||||
add "monitoring_at" timestamp;
|
||||
Loading…
Add table
Reference in a new issue