ialbert 2026-03-16 17:33:53 +03:00
parent a2bb357755
commit 9729697f3a
7 changed files with 20 additions and 15 deletions

View file

@ -15,6 +15,6 @@ public class PackagesRecordsMap {
private Long id; private Long id;
private Long packageId; private Long packageId;
private String subjectId; private String subjectId;
private String phone; private Long phone_l;
private String errorText; private String errorText;
} }

View file

@ -1,10 +1,10 @@
package ru.nbch.credit_tracker.service.indic; package ru.nbch.credit_tracker.service.indic;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.entities.app.PackagesRecordsMap; import ru.nbch.credit_tracker.entities.app.PackagesRecordsMap;
@ -46,7 +46,7 @@ public class PhoneService2 {
.map(phoneFidMap -> new HashMap<String, Object>() {{ .map(phoneFidMap -> new HashMap<String, Object>() {{
put("subject_id", phoneFidMap.getSubjectId()); put("subject_id", phoneFidMap.getSubjectId());
// put("fid", phoneFidMap.getFid()); // put("fid", phoneFidMap.getFid());
put("phone", phoneFidMap.getPhone()); put("phone_l", phoneFidMap.getPhone_l());
put("package_id", phoneFidMap.getPackageId()); put("package_id", phoneFidMap.getPackageId());
// put("calculated_at", phoneFidMap.getCalculatedAt()); // put("calculated_at", phoneFidMap.getCalculatedAt());
}}).toList()); }}).toList());

View file

@ -261,13 +261,14 @@ public class MonitoringService {
cacheByPhone = subjectRepInfo.cacheByPhone; cacheByPhone = subjectRepInfo.cacheByPhone;
} else { } else {
packagesRecord = packageRecordsService.findPackageRecordsById(person.getUid()); packagesRecord = packageRecordsService.findPackageRecordsById(person.getUid());
cacheByPhone = packageRecordsService.findCachedByPhone(Long.valueOf(packagesRecord.getPhone())); cacheByPhone = packageRecordsService.findCachedByPhone(packagesRecord.getPhone_l());
subjectRepInfoMap.put(person.getUid(), new SubjectRepInfo(packagesRecord, cacheByPhone)); subjectRepInfoMap.put(person.getUid(), new SubjectRepInfo(packagesRecord, cacheByPhone));
} }
if (cacheByPhone != null) { if (cacheByPhone != null) {
Subject subject = new Subject(); Subject subject = new Subject();
subject.setId(packagesRecord.getSubjectId()); // Уникальный идентификатор субъекта (равен Id из XML-пакета при установке мониторинга) subject.setId(packagesRecord.getSubjectId()); // Уникальный идентификатор субъекта (равен Id из XML-пакета при установке мониторинга)
subject.setClientId(packagesRecord.getPhone()); //fixme нужны ли 0 в xml? также мб выпилить запись в phone: ru.nbch.credit_tracker.mapper.signal.PackagesRecordsMapper.registerJson
subject.setClientId(CTUtil.normalizePhoneNumberZeroesOnly(packagesRecord.getPhone_l()));
subject.setFlagDebt5000(cacheByPhone.getFlagDebt5000()); subject.setFlagDebt5000(cacheByPhone.getFlagDebt5000());
subject.setFlag9012(cacheByPhone.getFlag90days()); subject.setFlag9012(cacheByPhone.getFlag90days());
subject.setSignals(signals); subject.setSignals(signals);

View file

@ -70,7 +70,7 @@ public abstract class KickPipeLine implements IPipeLineStarter<SubjectPayload> {
List<SubjectProfile> subjectProfiles = page.stream().map(phoneFidMap -> SubjectProfile.builder() List<SubjectProfile> subjectProfiles = page.stream().map(phoneFidMap -> SubjectProfile.builder()
.mapId(phoneFidMap.getId()) .mapId(phoneFidMap.getId())
.identifier(phoneFidMap.getSubjectId()) .identifier(phoneFidMap.getSubjectId())
.phone(Long.valueOf(phoneFidMap.getPhone())) .phone(phoneFidMap.getPhone_l())
.build()).toList(); .build()).toList();
try { try {
SubjectPayload payload = new SubjectPayload(packageId, userPackage.getUserId(), userPackage.getPackageName(), subjectProfiles); SubjectPayload payload = new SubjectPayload(packageId, userPackage.getUserId(), userPackage.getPackageName(), subjectProfiles);

View file

@ -46,7 +46,7 @@ public class Saver {
List<PackagesRecordsMap> subjectForSave = request.getSubjects().getSubject().stream().map(subject -> PackagesRecordsMap.builder() List<PackagesRecordsMap> subjectForSave = request.getSubjects().getSubject().stream().map(subject -> PackagesRecordsMap.builder()
.subjectId(subject.getId()) .subjectId(subject.getId())
.packageId(packageId) .packageId(packageId)
.phone(subject.getClientId()) .phone_l(Long.valueOf(subject.getClientId())) // validated ru.nbch.credit_tracker.service.ValidationService.validateMonitoringRequest
.build()).toList(); .build()).toList();
phoneService2.registerSubjects(subjectForSave); phoneService2.registerSubjects(subjectForSave);
request.getSubjects().getSubject().clear(); request.getSubjects().getSubject().clear();

View file

@ -106,6 +106,10 @@ public class CTUtil {
return "9" + String.format("%09d", phoneNumber); return "9" + String.format("%09d", phoneNumber);
} }
public static String normalizePhoneNumberZeroesOnly(Long phoneNumber) {
return String.format("%09d", phoneNumber);
}
public static String defineIdType(String idType, String idType2) { public static String defineIdType(String idType, String idType2) {
if (StringUtils.isNotBlank(idType2)) { if (StringUtils.isNotBlank(idType2)) {
return idType2; return idType2;

View file

@ -9,7 +9,7 @@
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="packageId" column="package_id"/> <result property="packageId" column="package_id"/>
<result property="subjectId" column="subject_id"/> <result property="subjectId" column="subject_id"/>
<result property="phone" column="phone"/> <result property="phone_l" column="phone_l"/>
<result property="errorText" column="error_text"/> <result property="errorText" column="error_text"/>
</resultMap> </resultMap>
@ -17,7 +17,7 @@
SELECT id, SELECT id,
package_id, package_id,
subject_id, subject_id,
phone, phone_l,
error_text error_text
FROM signals_phone_fid_map FROM signals_phone_fid_map
WHERE id = #{id} WHERE id = #{id}
@ -37,19 +37,19 @@
<select id="registerJson" parameterType="string" resultType="long"> <select id="registerJson" parameterType="string" resultType="long">
WITH src AS (SELECT row_number() OVER () AS rn, WITH src AS (SELECT row_number() OVER () AS rn,
subject_id, subject_id,
phone, phone_l,
package_id package_id
FROM json_to_recordset(#{json}::json) AS t( FROM json_to_recordset(#{json}::json) AS t(
subject_id varchar(255), subject_id varchar(255),
phone text, phone_l bigint,
package_id bigint package_id bigint
)) ))
INSERT INSERT
INTO signals_phone_fid_map INTO signals_phone_fid_map
(subject_id, phone, phone_l, package_id) (subject_id, phone, phone_l, package_id)
SELECT subject_id, SELECT subject_id,
phone, phone_l::text,
phone::BIGINT, phone_l,
package_id package_id
FROM src FROM src
ORDER BY rn ORDER BY rn
@ -76,7 +76,7 @@
SELECT id, SELECT id,
package_id, package_id,
subject_id, subject_id,
phone, phone_l,
error_text error_text
FROM signals_phone_fid_map FROM signals_phone_fid_map
WHERE package_id = #{packageId} WHERE package_id = #{packageId}