get rid of external_package_name, FID_CHANGED, PROCESSING_REPEATED, NO_FID

This commit is contained in:
Mikhail Trofimov 2026-07-06 09:54:30 +03:00
parent 0cfe976670
commit 7004a1b7e3
17 changed files with 23 additions and 180 deletions

View file

@ -1,9 +1,10 @@
package ru.nbch.credit_tracker.component.comparator; package ru.nbch.credit_tracker.component.comparator;
import ru.nbch.credit_tracker.entities.app.UserPackage;
import ru.nbch.credit_tracker.enums.Status;
import java.util.Comparator; import java.util.Comparator;
import java.util.function.ToIntFunction; import java.util.function.ToIntFunction;
import ru.nbch.credit_tracker.entities.app.UserPackage;
import ru.nbch.credit_tracker.enums.Status;
public class DeletePackageStatusComparator { public class DeletePackageStatusComparator {
@ -15,7 +16,7 @@ public class DeletePackageStatusComparator {
try { try {
Status status = Status.valueOf(str); Status status = Status.valueOf(str);
return switch (status) { return switch (status) {
case ON_MONITORING, PROCESSING_REPEATED, NO_FID -> 1; case ON_MONITORING -> 1;
case DELETED -> 0; case DELETED -> 0;
default -> -1; default -> -1;
}; };

View file

@ -1,15 +1,16 @@
package ru.nbch.credit_tracker.component.comparator; package ru.nbch.credit_tracker.component.comparator;
import ru.nbch.credit_tracker.entities.app.UserPackage;
import ru.nbch.credit_tracker.enums.Status;
import java.util.Comparator; import java.util.Comparator;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.function.ToIntFunction; import java.util.function.ToIntFunction;
import ru.nbch.credit_tracker.entities.app.UserPackage;
import ru.nbch.credit_tracker.enums.Status;
public class ReportListPackageStatusComparator { public class ReportListPackageStatusComparator {
public static final EnumSet<Status> reportedStatuses = EnumSet.of( public static final EnumSet<Status> reportedStatuses = EnumSet.of(
Status.ON_MONITORING, Status.PROCESSING_REPEATED Status.ON_MONITORING
); );
public static Comparator<UserPackage> INSTANCE = Comparator public static Comparator<UserPackage> INSTANCE = Comparator
@ -24,7 +25,7 @@ public class ReportListPackageStatusComparator {
try { try {
Status status = Status.valueOf(str); Status status = Status.valueOf(str);
return switch (status) { return switch (status) {
case ON_MONITORING, PROCESSING_REPEATED -> 1; case ON_MONITORING -> 1;
default -> -1; default -> -1;
}; };
} catch (Throwable e) { } catch (Throwable e) {

View file

@ -2,10 +2,8 @@ package ru.nbch.credit_tracker.enums;
public enum Status { public enum Status {
ON_MONITORING, // пакет стоит на мониторинге в оф. сервисе ON_MONITORING, // пакет стоит на мониторинге в оф. сервисе
NO_FID,
REJECTED, // отклонен на стороне НБКИ REJECTED, // отклонен на стороне НБКИ
PROCESSING, // идет поиск телефона и расчет флагов по пакету PROCESSING, // идет поиск телефона и расчет флагов по пакету
PROCESSING_REPEATED,
ACCEPTED, ACCEPTED,
DELETED, // пакет удален DELETED, // пакет удален
ERROR; // произошла ошибка при постановке пакета на мониторинг в оф. сервис ERROR; // произошла ошибка при постановке пакета на мониторинг в оф. сервис

View file

@ -223,8 +223,7 @@ public class SignalFacade {
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);
Status packageStatus = EnumUtil.getEnum(Status.class, data.getStatus()); Status packageStatus = EnumUtil.getEnum(Status.class, data.getStatus());
Status statusForClient = packageStatus == Status.ACCEPTED ? Status.PROCESSING : Status statusForClient = packageStatus == Status.ACCEPTED ? Status.PROCESSING : packageStatus;
Arrays.asList(Status.PROCESSING_REPEATED, Status.NO_FID).contains(packageStatus) ? Status.ON_MONITORING : packageStatus;
assert statusForClient != null; assert statusForClient != null;
pack.setStatus(statusForClient.name()); pack.setStatus(statusForClient.name());
if (packageStatus == Status.DELETED) { if (packageStatus == Status.DELETED) {
@ -244,7 +243,7 @@ public class SignalFacade {
-> 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.NO_FID).contains(status)) { if (Status.ON_MONITORING != status) {
throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName); throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName);
} }
@ -266,7 +265,6 @@ public class SignalFacade {
case PROCESSING, ACCEPTED -> SignalError.ERROR_023; case PROCESSING, ACCEPTED -> SignalError.ERROR_023;
case REJECTED, ERROR -> SignalError.ERROR_024; case REJECTED, ERROR -> SignalError.ERROR_024;
case DELETED -> SignalError.ERROR_025; case DELETED -> SignalError.ERROR_025;
case PROCESSING_REPEATED -> SignalError.ERROR_026;
default -> throw new IllegalStateException("Unexpected value: " + status); default -> throw new IllegalStateException("Unexpected value: " + status);
}; };
} }

View file

@ -17,10 +17,6 @@ public interface PackagesRecordsMapper {
@Param("limit") int limit, @Param("limit") int limit,
@Param("offset") int offset); @Param("offset") int offset);
List<Long> uniquePackageIdByPhones(@Param("json") String json);
List<Long> uniquePackageIdByInnAndRegNum(@Param("json") String json);
List<UserPackagePhoneData> selectUserPackagePhoneData(@Param("json") String json); List<UserPackagePhoneData> selectUserPackagePhoneData(@Param("json") String json);
List<UserPackageLegalData> selectUserPackageLegalData(@Param("json") String json); List<UserPackageLegalData> selectUserPackageLegalData(@Param("json") String json);

View file

@ -25,14 +25,8 @@ public interface UserPackageMapper {
void updatePackageOnMonitoringSuccess(@Param("id") Long id, void updatePackageOnMonitoringSuccess(@Param("id") Long id,
@Param("monitoringAt") LocalDateTime monitoringAt); @Param("monitoringAt") LocalDateTime monitoringAt);
void updateNoFidMonitoring(@Param("id") Long id);
void setFidChanged(@Param("packageIds") List<Long> id);
UserPackage findPackage(@Param("id") Long id); UserPackage findPackage(@Param("id") Long id);
List<UserPackage> findForRepeatedPackages();
List<UserPackage> findUserPackages(@Param("userId") String userId, List<UserPackage> findUserPackages(@Param("userId") String userId,
@Param("statuses") List<String> status); @Param("statuses") List<String> status);

View file

@ -59,17 +59,13 @@ public class UserPackageService {
} }
public List<UserPackage> findActivePackages(String userId) { public List<UserPackage> findActivePackages(String userId) {
return userPackageMapper.findUserPackages(userId.substring(0, 6), Arrays.asList(Status.ON_MONITORING.name(), Status.NO_FID.name())); return userPackageMapper.findUserPackages(userId.substring(0, 6), Arrays.asList(Status.ON_MONITORING.name()));
} }
public UserPackage findByPackageName(String packageName) { public UserPackage findByPackageName(String packageName) {
return userPackageMapper.findByPackageName(packageName); return userPackageMapper.findByPackageName(packageName);
} }
public void setFidChanged(List<Long> id) {
userPackageMapper.setFidChanged(id);
}
public List<UserPackage> findAllPackages(String userId) { public List<UserPackage> findAllPackages(String userId) {
return userPackageMapper.findAllPackagesByUserId(userId.substring(0, 6)); return userPackageMapper.findAllPackagesByUserId(userId.substring(0, 6));
} }

View file

@ -100,7 +100,7 @@ public class StartupRestoreService {
} }
private void processingRestore() { private void processingRestore() {
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.name(), Status.PROCESSING_REPEATED.name()); List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.PROCESSING.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) {
if (userPackage.getSubjectType() == 1) { if (userPackage.getSubjectType() == 1) {

View file

@ -5,15 +5,12 @@ import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; 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.mapper.signal.LegalsMapMapper; import ru.nbch.credit_tracker.mapper.signal.LegalsMapMapper;
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
import ru.nbch.credit_tracker.service.signal.PhonesMapService; import ru.nbch.credit_tracker.service.signal.PhonesMapService;
import ru.nbch.credit_tracker.service.task.*; import ru.nbch.credit_tracker.service.task.*;
import ru.nbch.credit_tracker.service.task.impl.PipelineMode; import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
import ru.nbch.pipeline.engine.core.Pipeline; import ru.nbch.pipeline.engine.core.Pipeline;
import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@Slf4j @Slf4j
@ -24,9 +21,6 @@ public class UpdatingFidService {
private final LpPipelinePackageFabric lpPipelinePackageFabric; private final LpPipelinePackageFabric lpPipelinePackageFabric;
private final NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator; private final NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator;
private final LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator; private final LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator;
private final NpPipelinePackageOrchestrator npPipelinePackageOrchestrator;
private final LpPipelinePackageOrchestrator lpPipelinePackageOrchestrator;
private final UserPackageMapper userPackageMapper;
private final PhonesMapService phonesMapService; private final PhonesMapService phonesMapService;
private final LegalsMapMapper legalsMapMapper; private final LegalsMapMapper legalsMapMapper;
@ -35,18 +29,12 @@ public class UpdatingFidService {
LpPipelinePackageFabric lpPipelinePackageFabric, LpPipelinePackageFabric lpPipelinePackageFabric,
NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator, NpPipelineRecalcOrchestrator npPipelineRecalcOrchestrator,
LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator, LpPipelineRecalcOrchestrator lpPipelineRecalcOrchestrator,
NpPipelinePackageOrchestrator npPipelinePackageOrchestrator,
LpPipelinePackageOrchestrator lpPipelinePackageOrchestrator,
UserPackageMapper userPackageMapper,
PhonesMapService phonesMapService, PhonesMapService phonesMapService,
LegalsMapMapper legalsMapMapper) { LegalsMapMapper legalsMapMapper) {
this.npPipelinePackageFabric = npPipelinePackageFabric; this.npPipelinePackageFabric = npPipelinePackageFabric;
this.lpPipelinePackageFabric = lpPipelinePackageFabric; this.lpPipelinePackageFabric = lpPipelinePackageFabric;
this.npPipelineRecalcOrchestrator = npPipelineRecalcOrchestrator; this.npPipelineRecalcOrchestrator = npPipelineRecalcOrchestrator;
this.lpPipelineRecalcOrchestrator = lpPipelineRecalcOrchestrator; this.lpPipelineRecalcOrchestrator = lpPipelineRecalcOrchestrator;
this.npPipelinePackageOrchestrator = npPipelinePackageOrchestrator;
this.lpPipelinePackageOrchestrator = lpPipelinePackageOrchestrator;
this.userPackageMapper = userPackageMapper;
this.phonesMapService = phonesMapService; this.phonesMapService = phonesMapService;
this.legalsMapMapper = legalsMapMapper; this.legalsMapMapper = legalsMapMapper;
} }
@ -59,7 +47,7 @@ public class UpdatingFidService {
} }
log.info("Delete unused phones"); log.info("Delete unused phones");
phonesMapService.deleteUnusedPhones(); phonesMapService.deleteUnusedPhones();
log.info("Start updating fids and PD"); log.info("Start updating fids");
try { try {
Pipeline pipeline = npPipelinePackageFabric.buildRecalculationPD(new SetupParam(null, 1, PipelineMode.RECALC_FID)); Pipeline pipeline = npPipelinePackageFabric.buildRecalculationPD(new SetupParam(null, 1, PipelineMode.RECALC_FID));
CompletableFuture<?> future = npPipelineRecalcOrchestrator.startOrReject(pipeline); CompletableFuture<?> future = npPipelineRecalcOrchestrator.startOrReject(pipeline);
@ -70,17 +58,7 @@ public class UpdatingFidService {
return; return;
} }
List<UserPackage> packagesRepeated = userPackageMapper.findForRepeatedPackages(); log.info("Updating NP fids successfully completed.");
packagesRepeated.forEach(userPackage -> {
Long packageId = userPackage.getId();
SetupParam setupParam = new SetupParam(packageId, 1, PipelineMode.RESEND);
try {
Pipeline makeXmlByCache = npPipelinePackageFabric.build(setupParam);
npPipelinePackageOrchestrator.startOrDelay(makeXmlByCache, packageId);
} catch (Exception e) {
log.error("Failed to build pipeline", e);
}
});
} finally { } finally {
log.info("pipeline finished"); log.info("pipeline finished");
pipeline.close(); pipeline.close();
@ -98,7 +76,7 @@ public class UpdatingFidService {
log.info("The previous task has not yet been completed."); log.info("The previous task has not yet been completed.");
return; return;
} }
log.info("Delete unused phones"); log.info("Delete unused lp maps");
legalsMapMapper.deleteUnusedMaps(); legalsMapMapper.deleteUnusedMaps();
log.info("Start updating fids"); log.info("Start updating fids");
try { try {
@ -111,17 +89,7 @@ public class UpdatingFidService {
return; return;
} }
List<UserPackage> packagesRepeated = userPackageMapper.findForRepeatedPackages(); log.info("Updating LP fids successfully completed.");
packagesRepeated.forEach(userPackage -> {
Long packageId = userPackage.getId();
SetupParam setupParam = new SetupParam(packageId, 2, PipelineMode.RESEND);
try {
Pipeline setupPipeline = lpPipelinePackageFabric.build(setupParam);
lpPipelinePackageOrchestrator.startOrDelay(setupPipeline, packageId);
} catch (Exception e) {
log.error("Failed to build pipeline", e);
}
});
} finally { } finally {
log.info("pipeline finished"); log.info("pipeline finished");
pipeline.close(); pipeline.close();

View file

@ -110,34 +110,6 @@ public class PackageRecordsService {
} }
} }
public List<Long> selectNpUniquePackageIds(List<Long> phones) {
try {
String json = entityToJsonMapper.writeValueAsString(phones.stream()
.filter(Objects::nonNull)
.map(phone -> new HashMap<String, Object>() {{
put("phone", phone);
}}).toList());
return packagesRecordsMapper.uniquePackageIdByPhones(json);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
public List<Long> selectLpUniquePackageIds(List<LegalsMap> legalsMaps) {
try {
String json = entityToJsonMapper.writeValueAsString(legalsMaps.stream()
.filter(Objects::nonNull)
.map(s -> new HashMap<String, Object>() {{
put("inn", s.getInn());
put("reg_num", s.getRegNum());
}}).toList());
return packagesRecordsMapper.uniquePackageIdByInnAndRegNum(json);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
public List<UserPackagePhoneData> selectUserPackagePhoneData(Set<Long> phones) { public List<UserPackagePhoneData> selectUserPackagePhoneData(Set<Long> phones) {
try { try {
String json = entityToJsonMapper.writeValueAsString(phones.stream() String json = entityToJsonMapper.writeValueAsString(phones.stream()

View file

@ -112,8 +112,6 @@ public abstract class PackageOrchestrator {
} }
if (!res.hasFids()) { if (!res.hasFids()) {
log.info("No one fid was found by packageId : {}.", packageId); log.info("No one fid was found by packageId : {}.", packageId);
userPackageMapper.updateNoFidMonitoring(packageId);
return;
} }
PipelineMode mode = ctx.get(PackageVariable.mode); PipelineMode mode = ctx.get(PackageVariable.mode);

View file

@ -107,12 +107,6 @@ public class LpFidUpdater implements Handler<SubjectPayload, VoidPayload> {
legalsMapService.updateSearchedAt(notChangingFidLegalMaps); legalsMapService.updateSearchedAt(notChangingFidLegalMaps);
} }
if (!changingFids.isEmpty()) {
List<Long> packageIds = packageRecordsService.selectLpUniquePackageIds(changingFids);
if (!packageIds.isEmpty()) {
userPackageService.setFidChanged(packageIds);
}
}
return new VoidPayload(); return new VoidPayload();
} }

View file

@ -8,9 +8,7 @@ import ru.nbch.credit_tracker.model.SubjectProfile;
import ru.nbch.credit_tracker.model.impl.PackageVariable; import ru.nbch.credit_tracker.model.impl.PackageVariable;
import ru.nbch.credit_tracker.model.impl.SubjectPayload; import ru.nbch.credit_tracker.model.impl.SubjectPayload;
import ru.nbch.credit_tracker.model.impl.VoidPayload; import ru.nbch.credit_tracker.model.impl.VoidPayload;
import ru.nbch.credit_tracker.service.UserPackageService;
import ru.nbch.credit_tracker.service.indic.PersonService; import ru.nbch.credit_tracker.service.indic.PersonService;
import ru.nbch.credit_tracker.service.signal.PackageRecordsService;
import ru.nbch.credit_tracker.service.signal.PhonesMapService; import ru.nbch.credit_tracker.service.signal.PhonesMapService;
import ru.nbch.credit_tracker.utils.CTUtil; import ru.nbch.credit_tracker.utils.CTUtil;
import ru.nbch.pipeline.engine.core.Handler; import ru.nbch.pipeline.engine.core.Handler;
@ -25,20 +23,14 @@ import java.util.stream.Stream;
public class NpFidUpdater implements Handler<SubjectPayload, VoidPayload> { public class NpFidUpdater implements Handler<SubjectPayload, VoidPayload> {
private final PersonService personService; private final PersonService personService;
private final CreditTrackerSettings creditTrackerSettings; private final CreditTrackerSettings creditTrackerSettings;
private final PackageRecordsService packageRecordsService;
private final PhonesMapService phonesMapService; private final PhonesMapService phonesMapService;
private final UserPackageService userPackageService;
public NpFidUpdater(PersonService personService, public NpFidUpdater(PersonService personService,
CreditTrackerSettings creditTrackerSettings, CreditTrackerSettings creditTrackerSettings,
PackageRecordsService packageRecordsService, PhonesMapService phonesMapService) {
PhonesMapService phonesMapService,
UserPackageService userPackageService) {
this.personService = personService; this.personService = personService;
this.creditTrackerSettings = creditTrackerSettings; this.creditTrackerSettings = creditTrackerSettings;
this.packageRecordsService = packageRecordsService;
this.phonesMapService = phonesMapService; this.phonesMapService = phonesMapService;
this.userPackageService = userPackageService;
} }
@Override @Override
@ -79,12 +71,6 @@ public class NpFidUpdater implements Handler<SubjectPayload, VoidPayload> {
phonesMapService.updateSearchedAt(notChangedPhones); phonesMapService.updateSearchedAt(notChangedPhones);
} }
if (!changingFids.isEmpty()) {
List<Long> packageIds = packageRecordsService.selectNpUniquePackageIds(changingFids);
if (!packageIds.isEmpty()) {
userPackageService.setFidChanged(packageIds);
}
}
return new VoidPayload(); return new VoidPayload();
} }

View file

@ -231,8 +231,7 @@
AND sup.status IN AND sup.status IN
( (
'ON_MONITORING', 'ON_MONITORING',
'PROCESSING', 'PROCESSING'
'PROCESSING_REPEATED'
)) ))
</delete> </delete>

View file

@ -42,30 +42,6 @@
</foreach> </foreach>
</select> </select>
<select id="uniquePackageIdByPhones" resultType="java.lang.Long">
WITH src AS (SELECT phone
FROM json_to_recordset(#{json}::json) AS t(
phone bigint
))
select distinct (package_id)
FROM signals_phone_fid_map spr
join signals_user_packages sup on sup.id = spr.package_id
where spr.phone_l in (select * from src) and sup.status = 'ON_MONITORING'
</select>
<select id="uniquePackageIdByInnAndRegNum" resultType="java.lang.Long">
WITH src AS (SELECT inn, reg_num
FROM json_to_recordset(#{json}::json) AS t(
inn bigint,
reg_num bigint
))
select distinct (package_id)
FROM signals_legal_fid_map slfm
JOIN signals_user_packages sup ON sup.id = slfm.package_id
WHERE (slfm.inn, slfm.reg_num) IN (SELECT inn, reg_num FROM src)
AND sup.status = 'ON_MONITORING'
</select>
<select id="selectUserPackagePhoneData" resultType="ru.nbch.credit_tracker.model.UserPackagePhoneData"> <select id="selectUserPackagePhoneData" resultType="ru.nbch.credit_tracker.model.UserPackagePhoneData">
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(

View file

@ -210,8 +210,7 @@
AND sup.status IN AND sup.status IN
( (
'ON_MONITORING', 'ON_MONITORING',
'PROCESSING', 'PROCESSING'
'PROCESSING_REPEATED'
)) ))
</delete> </delete>
</mapper> </mapper>

View file

@ -16,7 +16,6 @@
<result property="monitoringAt" column="monitoring_at"/> <result property="monitoringAt" column="monitoring_at"/>
<result property="rejectStatus" column="reject_status"/> <result property="rejectStatus" column="reject_status"/>
<result property="signalTypes" column="signal_types"/> <result property="signalTypes" column="signal_types"/>
<result property="externalPackageName" column="external_package_name"/>
</resultMap> </resultMap>
<select id="isPackageNotUnique" resultType="boolean"> <select id="isPackageNotUnique" resultType="boolean">
@ -63,8 +62,8 @@
<select id="insertPackage" resultType="java.lang.Long" <select id="insertPackage" resultType="java.lang.Long"
parameterType="ru.nbch.credit_tracker.entities.app.UserPackage"> parameterType="ru.nbch.credit_tracker.entities.app.UserPackage">
INSERT INTO signals_user_packages (membercode, package_name, subject_type, signal_types, created_at, status, external_package_name) INSERT INTO signals_user_packages (membercode, package_name, subject_type, signal_types, created_at, status)
values (#{userPackage.userId}, #{userPackage.packageName}, #{userPackage.subjectType}, #{userPackage.signalTypes}, #{userPackage.createdAt}, #{userPackage.status}, concat(substring(#{userPackage.userId}, 1, 6), '_', #{userPackage.packageName})) RETURNING id values (#{userPackage.userId}, #{userPackage.packageName}, #{userPackage.subjectType}, #{userPackage.signalTypes}, #{userPackage.createdAt}, #{userPackage.status}) RETURNING id
</select> </select>
<update id="updatePackageStatus"> <update id="updatePackageStatus">
@ -73,16 +72,6 @@
WHERE id = #{packageId} WHERE id = #{packageId}
</update> </update>
<update id="setFidChanged">
UPDATE signals_user_packages
SET fid_changed = 1,
status = 'PROCESSING_REPEATED'
WHERE id in
<foreach item="packageId" collection="packageIds" open="(" separator="," close=")">
#{packageId}
</foreach>
</update>
<update id="updatePackageLastDownloadedReport" parameterType="string"> <update id="updatePackageLastDownloadedReport" parameterType="string">
WITH src AS ( WITH src AS (
SELECT SELECT
@ -105,14 +94,7 @@
<if test="monitoringAt != null"> <if test="monitoringAt != null">
monitoring_at = #{monitoringAt}, monitoring_at = #{monitoringAt},
</if> </if>
status = 'ON_MONITORING', status = 'ON_MONITORING'
fid_changed = null
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} WHERE id = #{id}
</update> </update>
@ -154,21 +136,6 @@
LIMIT 1 LIMIT 1
</select> </select>
<select id="findForRepeatedPackages" resultMap="packageDataResultMap">
SELECT id,
membercode,
package_name,
created_at,
status,
deactivated_at,
last_downloaded_report,
monitoring_at,
reject_status,
signal_types
FROM signals_user_packages
WHERE fid_changed = 1 and status = 'PROCESSING_REPEATED'
</select>
<select id="findOnMonitoringPackages" resultMap="packageDataResultMap"> <select id="findOnMonitoringPackages" resultMap="packageDataResultMap">
SELECT id, SELECT id,
membercode, membercode,