This commit is contained in:
parent
3bdb16f8ef
commit
a9f9588258
8 changed files with 45 additions and 28 deletions
|
|
@ -1,12 +1,16 @@
|
|||
package ru.nbch.credit_tracker.entities.app;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class FlagDetail {
|
||||
private Long id;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
package ru.nbch.credit_tracker.entities.app;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
//@Builder
|
||||
public class Hit {
|
||||
private Long id;
|
||||
private Long phone;
|
||||
private Long packageId;
|
||||
private String subjectId;
|
||||
private Integer signalType;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package ru.nbch.credit_tracker.service;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.config.mdc.SetAndClearMdc;
|
||||
|
|
@ -8,9 +9,6 @@ import ru.nbch.credit_tracker.entities.user_request.monitoring_request.Subject;
|
|||
import ru.nbch.credit_tracker.enums.SignalError;
|
||||
import ru.nbch.credit_tracker.enums.XmlErrorFormat;
|
||||
import ru.nbch.credit_tracker.exceptions.SignalClientException;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static ru.nbch.credit_tracker.utils.error.ExceptionUtils.clientExcp;
|
||||
|
||||
@Slf4j
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import java.util.function.BinaryOperator;
|
|||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.entities.app.PhoneFidMap;
|
||||
import ru.nbch.credit_tracker.entities.indic.Name;
|
||||
|
|
@ -56,6 +57,10 @@ public class PhoneService2 {
|
|||
List<Name> names = phoneRepository.findNameByPhones(phones);
|
||||
|
||||
return names.stream()
|
||||
.filter(name ->
|
||||
StringUtils.isNotEmpty(name.getFirst()) &&
|
||||
StringUtils.isNotEmpty(name.getLast())
|
||||
)
|
||||
.collect(Collectors.toMap(
|
||||
Name::getNumber,
|
||||
Function.identity(),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package ru.nbch.credit_tracker.service.signal;
|
||||
|
||||
import jakarta.xml.bind.DatatypeConverter;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
|
@ -274,7 +275,7 @@ public class SignalRestService {
|
|||
*
|
||||
* @return путь к разархивированному файлу. Пример: <loadDir>/tmp_folder/<package_id>/0001XX_MY_BATCH_204.1.online.2025-07-08T20-00-46.xml.gz.xml
|
||||
*/
|
||||
public Optional<Path> downloadReport(UserPackage userPackage, String reportName) {
|
||||
public Optional<Path> downloadReport(UserPackage userPackage, String reportName) throws IOException {
|
||||
String url = DOWNLOAD_ONLINE_REPORT_URI + "?fNameReport=" + reportName;
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
|
|
@ -290,8 +291,10 @@ public class SignalRestService {
|
|||
);
|
||||
Path targetFilePathWithExt = null;
|
||||
if (response.getHeaders().getContentType().equals(MEDIA_TYPE_GZIP)) {
|
||||
targetFilePathWithExt = Path.of(config.getLoadDir(),
|
||||
"tmp", userPackage.getUserId().substring(0, 6), userPackage.getPackageName(), reportName + ".xml");
|
||||
Path folder = Path.of(config.getLoadDir(),
|
||||
"tmp", userPackage.getUserId(), userPackage.getPackageName());
|
||||
Files.createDirectories(folder);
|
||||
targetFilePathWithExt = folder.resolve(reportName + ".xml");
|
||||
ZipUtils.unpackGzip(targetFilePathWithExt, response.getBody());
|
||||
} else if (isXmlError(response.getBody())){
|
||||
SgnlReport error = staxProcessor.read(response.getBody(), SgnlReport.class);
|
||||
|
|
|
|||
|
|
@ -30,17 +30,20 @@
|
|||
|
||||
<insert id="updateCalcFlags" parameterType="string">
|
||||
INSERT INTO signals_flags
|
||||
(map_id, fid, flag_debt5000, flag_90_12, calculated_at)
|
||||
(map_id, subject_id, fid, phone, flag_debt5000, flag_90_12, calculated_at)
|
||||
SELECT map_id, fid, flag_debt5000, flag_90_12, calculated_at
|
||||
FROM json_to_recordset(#{json}::json) AS t(
|
||||
map_id bigint,
|
||||
subject_id varchar(255),
|
||||
fid int,
|
||||
phone text,
|
||||
flag_debt5000 smallint,
|
||||
flag_90_12 smallint,
|
||||
calculated_at timestamp)
|
||||
ON CONFLICT (map_id) DO UPDATE
|
||||
SET
|
||||
SET subject_id = EXCLUDED.subject_id,
|
||||
fid = EXCLUDED.fid,
|
||||
phone = EXCLUDED.phone,
|
||||
flag_debt5000 = EXCLUDED.flag_debt5000,
|
||||
flag_90_12 = EXCLUDED.flag_90_12,
|
||||
calculated_at = EXCLUDED.calculated_at;
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@
|
|||
<mapper namespace="ru.nbch.credit_tracker.mapper.signal.HitsMapper">
|
||||
|
||||
<insert id="insertHits" parameterType="java.util.List">
|
||||
INSERT INTO signals_hits (package_id, subject_id, signal_type, response_sent_at, report_file_name)
|
||||
INSERT INTO signals_hits (package_id, subject_id, phone, signal_type, response_sent_at, report_file_name)
|
||||
values
|
||||
<foreach collection="hits" item="hit" separator=",">
|
||||
(#{hit.packageId}, #{hit.subjectId}, #{hit.signalType}, #{hit.responseSentAt}, #{hit.reportFileName})
|
||||
(#{hit.packageId}, #{hit.subjectId}, #{hit.phone}, #{hit.signalType}, #{hit.responseSentAt}, #{hit.reportFileName})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@ alter table signals_user_packages
|
|||
alter table signals_phone_fid_map
|
||||
add SEARCHED_AT timestamp;
|
||||
|
||||
alter table signals_hits
|
||||
add PHONE bigint;
|
||||
|
||||
|
||||
CREATE TABLE signals_flags (
|
||||
ID SERIAL PRIMARY KEY,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue