http://jira.mfd.msk:8088/browse/BKI-3264 Changed id types to bigint
This commit is contained in:
parent
8784b4e4f3
commit
10257b9cb2
22 changed files with 71 additions and 57 deletions
|
|
@ -30,7 +30,7 @@ public class PersonFactoryBuilder {
|
|||
|
||||
|
||||
private PersonService.PersonData personData;
|
||||
private Integer uid;
|
||||
private Long uid;
|
||||
|
||||
public static PersonFactoryBuilder builder() {
|
||||
return new PersonFactoryBuilder();
|
||||
|
|
@ -41,7 +41,7 @@ public class PersonFactoryBuilder {
|
|||
return this;
|
||||
}
|
||||
|
||||
public PersonFactoryBuilder uid(Integer uid) {
|
||||
public PersonFactoryBuilder uid(Long uid) {
|
||||
this.uid = uid;
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import java.time.LocalDateTime;
|
|||
@Getter
|
||||
@Setter
|
||||
public class Hit {
|
||||
private Integer id;
|
||||
private Integer packageId;
|
||||
private Long id;
|
||||
private Long packageId;
|
||||
private String subjectId;
|
||||
private Integer signalType;
|
||||
private LocalDateTime responseSentAt;
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import java.time.LocalDateTime;
|
|||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class PhoneFidMap {
|
||||
private Integer id;
|
||||
private Integer packageId;
|
||||
private Long id;
|
||||
private Long packageId;
|
||||
private String subjectId;
|
||||
private String phone;
|
||||
private Integer fid;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import java.time.LocalDateTime;
|
|||
@Setter
|
||||
@Builder
|
||||
public class UserPackage {
|
||||
private Integer id;
|
||||
private Long id;
|
||||
private String userId;
|
||||
private String packageName;
|
||||
private LocalDateTime createdAt;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class Person {
|
|||
@XmlValue
|
||||
protected String value;
|
||||
@XmlAttribute(name = "uid", required = true)
|
||||
protected Integer uid;
|
||||
protected Long uid;
|
||||
@XmlAttribute(name = "oksm", required = true)
|
||||
protected String oksm;
|
||||
@XmlAttribute(name = "s", required = true)
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public class MonitoringReportErrors {
|
|||
public static class P {
|
||||
|
||||
@XmlAttribute(name = "uid")
|
||||
protected Integer uid;
|
||||
protected Long uid;
|
||||
|
||||
@XmlValue
|
||||
protected String value;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import java.util.List;
|
|||
public class Person {
|
||||
|
||||
@XmlAttribute(name = "uid", required = true)
|
||||
protected Integer uid;
|
||||
protected Long uid;
|
||||
|
||||
@XmlElement(name = "Inquiry", required = true)
|
||||
protected List<Inquiry> inquiries;
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ public class SignalFacade {
|
|||
|
||||
// Валидация Архива на количетсво файлов, размер и расширение
|
||||
MonitoringRequest monitoringRequest;
|
||||
Integer packageId;
|
||||
Long packageId;
|
||||
ZipInputStream zipInputStream = null;
|
||||
String filePath;
|
||||
try {
|
||||
|
|
@ -224,7 +224,7 @@ public class SignalFacade {
|
|||
}
|
||||
|
||||
@SetAndClearMdc(argIndex = 1)
|
||||
public void registerFidsAndDebts(Integer packageId, String packageName, String filePath) {
|
||||
public void registerFidsAndDebts(Long packageId, String packageName, String filePath) {
|
||||
Map<String, String> context = MDC.getCopyOfContextMap();
|
||||
executor.execute(() -> {
|
||||
if (context != null) {
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@ import java.util.List;
|
|||
@Mapper
|
||||
public interface PhoneFidMapMapper {
|
||||
|
||||
void registerSubjects(@Param("subjects") List<Subject> subjects, @Param("packageId") Integer packageId);
|
||||
void registerSubjects(@Param("subjects") List<Subject> subjects, @Param("packageId") Long packageId);
|
||||
|
||||
List<PhoneFidMap> findFullPhoneFidMap(@Param("packageId") Integer packageId, @Param("offset") int offset, @Param("limit") int limit);
|
||||
List<PhoneFidMap> findFullPhoneFidMap(@Param("packageId") Long packageId, @Param("offset") int offset, @Param("limit") int limit);
|
||||
|
||||
void updatePhoneFidMaps(@Param("subjects") List<PhoneFidMap> subjects);
|
||||
|
||||
void updatePhoneFidMapsErrors(@Param("subjects") List<PhoneFidMap> subjects);
|
||||
|
||||
PhoneFidMap findPhoneFidMapById(@Param("id") Integer packageId);
|
||||
PhoneFidMap findPhoneFidMapById(@Param("id") Long packageId);
|
||||
|
||||
boolean hasNonNullFids(@Param("packageId") Integer packageId);
|
||||
boolean hasNonNullFids(@Param("packageId") Long packageId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,15 +18,15 @@ public interface UserPackageMapper {
|
|||
|
||||
void deletePackage(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String newStatus, @Param("previousStatus") String previousStatus, @Param("deactivatedAt") LocalDateTime deactivatedAt);
|
||||
|
||||
Integer insertPackage(@Param("userPackage") UserPackage userPackage);
|
||||
Long insertPackage(@Param("userPackage") UserPackage userPackage);
|
||||
|
||||
void updatePackageStatus(@Param("packageId") Integer packageId, @Param("status") String status);
|
||||
void updatePackageStatus(@Param("packageId") Long packageId, @Param("status") String status);
|
||||
|
||||
void updatePackageLastDownloadedReport(@Param("id") Integer id, @Param("fileName") String fileName);
|
||||
void updatePackageLastDownloadedReport(@Param("id") Long id, @Param("fileName") String fileName);
|
||||
|
||||
void updatePackageOnMonitoringSuccess(@Param("id")Integer id, @Param("monitoringAt") LocalDateTime monitoringAt);
|
||||
void updatePackageOnMonitoringSuccess(@Param("id") Long id, @Param("monitoringAt") LocalDateTime monitoringAt);
|
||||
|
||||
UserPackage findPackage(@Param("id") Integer id);
|
||||
UserPackage findPackage(@Param("id") Long id);
|
||||
|
||||
List<UserPackage> findUserPackages(@Param("userId") String userId, @Param("statuses") List<String> status);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,13 +25,13 @@ public class MonitoringErrorProcesingService {
|
|||
this.signalRestService = signalRestService;
|
||||
}
|
||||
|
||||
public void findErrors(Integer packageId) {
|
||||
public void findErrors(Long packageId) {
|
||||
UserPackage userPackage = signalService.findPackage(packageId);
|
||||
getCurrentProxy().processPackage(userPackage, packageId);
|
||||
}
|
||||
|
||||
@SetAndClearMdc
|
||||
public void processPackage(UserPackage userPackage, Integer packageId) {
|
||||
public void processPackage(UserPackage userPackage, Long packageId) {
|
||||
if (userPackage != null) {
|
||||
String packCode = userPackage.getUserId().substring(0, 6) + "_" + userPackage.getPackageName();
|
||||
log.info("Проверка на ошибки при постановке на мониторинг. packCode={}, packageId={}", packCode, packageId);
|
||||
|
|
|
|||
|
|
@ -312,7 +312,7 @@ public class MonitoringService {
|
|||
log.info("Signal hits updated for package {}", userPackage.getPackageName());
|
||||
}
|
||||
|
||||
public String loadReport(Integer packageId, String reportName) {
|
||||
public String loadReport(Long packageId, String reportName) {
|
||||
return signalRestService.downloadReport(packageId, reportName);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ public class SignalService {
|
|||
return userPackageService.isPackageNotUnique(request.getUserId(), request.getPackageName());
|
||||
}
|
||||
|
||||
public Integer registerPackage(MonitoringRequest request) {
|
||||
public Long registerPackage(MonitoringRequest request) {
|
||||
UserPackage userPackage = UserPackage.builder()
|
||||
.userId(request.getUserId())
|
||||
.packageName(request.getPackageName())
|
||||
|
|
@ -82,7 +82,7 @@ public class SignalService {
|
|||
return userPackageService.insertPackage(userPackage);
|
||||
}
|
||||
|
||||
public void registerSubjects(String filePath, Integer packageId) {
|
||||
public void registerSubjects(String filePath, Long packageId) {
|
||||
log.info("Start registering subjects. PackageId: {}", packageId);
|
||||
try (BufferedInputStream in = new BufferedInputStream(Files.newInputStream(Path.of(filePath)), 8 * 1024 * 1024)) {
|
||||
staxXmlProcessor.read(in, MonitoringRequest.class,
|
||||
|
|
@ -105,7 +105,7 @@ public class SignalService {
|
|||
/**
|
||||
* Обрабатывает все PhoneFidMap по packageId, выгружая их пачками и фильтруя по переданному фильтру
|
||||
*/
|
||||
public UpdateResult updateSubjects(Integer packageId, Predicate<PhoneFidMap> filter) {
|
||||
public UpdateResult updateSubjects(Long packageId, Predicate<PhoneFidMap> filter) {
|
||||
boolean updated = false;
|
||||
boolean noFidsFound = true;
|
||||
int offset = 0;
|
||||
|
|
@ -141,7 +141,7 @@ public class SignalService {
|
|||
* Обрабатывает пачку PhoneFidMap: обновляет фиды и флаги просрочек
|
||||
* @return fidsFound true - если хотя бы по одному номеру был найден фид, false - в противном случае
|
||||
*/
|
||||
public boolean updateFlags(List<PhoneFidMap> subjects, Integer packageId) {
|
||||
public boolean updateFlags(List<PhoneFidMap> subjects, Long packageId) {
|
||||
log.info("Start calculating fids and flags for subjects batch. PackageId: {}", packageId);
|
||||
Map<String, Integer> fidsMap = phoneService.findFidsPhoneData(subjects);
|
||||
LocalDateTime calculatedAt = LocalDateTime.now();
|
||||
|
|
@ -197,11 +197,11 @@ public class SignalService {
|
|||
userPackageService.insertPackage(userPackage);
|
||||
}
|
||||
|
||||
public void updatePackageStatus(Integer packageId, Status status) {
|
||||
public void updatePackageStatus(Long packageId, Status status) {
|
||||
userPackageService.updatePackageStatus(packageId, status);
|
||||
}
|
||||
|
||||
public void updatePackageOnMonitoringSuccess(Integer packageId, LocalDateTime monitoringAt) {
|
||||
public void updatePackageOnMonitoringSuccess(Long packageId, LocalDateTime monitoringAt) {
|
||||
userPackageService.updatePackageOnMonitoringSuccess(packageId, monitoringAt);
|
||||
}
|
||||
|
||||
|
|
@ -210,7 +210,7 @@ public class SignalService {
|
|||
*
|
||||
* @return Путь к файлу запроса к официальному сервису сигналов на постановку на мониторинг
|
||||
*/
|
||||
public String writeSignals(Integer packageId) {
|
||||
public String writeSignals(Long packageId) {
|
||||
String folderPath = config.getLoadDir() + File.separator + "tmp_folder" + File.separator;
|
||||
String filePath = folderPath + UUID.randomUUID() + "_output.xml";
|
||||
CTUtil.createFolder(folderPath);
|
||||
|
|
@ -226,7 +226,7 @@ public class SignalService {
|
|||
return filePath;
|
||||
}
|
||||
|
||||
private Signals buildSignals(Integer packageId) {
|
||||
private Signals buildSignals(Long packageId) {
|
||||
UserPackage userPackage = userPackageService.findPackage(packageId);
|
||||
Signals signals = new Signals();
|
||||
signals.setOnline("2"); // Всегда=2 (только онлайн-сигналы)
|
||||
|
|
@ -242,7 +242,7 @@ public class SignalService {
|
|||
* Обрабатывает все PhoneFidMap по packageId, выгружая их пачками и фильтруя по переданному фильтру.
|
||||
* writer записывает пачку сразу в файл
|
||||
*/
|
||||
private void buildPersons(Integer packageId, Consumer<List<Person>> writer) {
|
||||
private void buildPersons(Long packageId, Consumer<List<Person>> writer) {
|
||||
int offset = 0;
|
||||
List<PhoneFidMap> batch;
|
||||
do {
|
||||
|
|
@ -282,7 +282,7 @@ public class SignalService {
|
|||
return persons;
|
||||
}
|
||||
|
||||
public void updateSubjectsErrors(String filePath, Integer packageId) {
|
||||
public void updateSubjectsErrors(String filePath, Long packageId) {
|
||||
log.info("Start updating subjects errors. PackageId: {}", packageId);
|
||||
try (BufferedInputStream in = new BufferedInputStream(Files.newInputStream(Path.of(filePath)), 8 * 1024 * 1024)) {
|
||||
staxXmlProcessor.read(in, MonitoringReportErrors.class,
|
||||
|
|
@ -341,19 +341,19 @@ public class SignalService {
|
|||
hitsService.insertHits(hits);
|
||||
}
|
||||
|
||||
public void updateLastDownloadedReport(Integer id, String fileName) {
|
||||
public void updateLastDownloadedReport(Long id, String fileName) {
|
||||
userPackageService.updatePackageLastDownloadedReport(id, fileName);
|
||||
}
|
||||
|
||||
public PhoneFidMap findPhoneFidMapById(Integer id) {
|
||||
public PhoneFidMap findPhoneFidMapById(Long id) {
|
||||
return phoneFidMapService.findPhoneFidMapById(id);
|
||||
}
|
||||
|
||||
public boolean hasNonNullfids(Integer packageId) {
|
||||
public boolean hasNonNullfids(Long packageId) {
|
||||
return phoneFidMapService.hasNonNullfids(packageId);
|
||||
}
|
||||
|
||||
public UserPackage findPackage(Integer packageId) {
|
||||
public UserPackage findPackage(Long packageId) {
|
||||
return userPackageService.findPackage(packageId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public class UpdateProcessingPackagesService {
|
|||
}
|
||||
|
||||
@SetAndClearMdc(argIndex = 1)
|
||||
public void process(Integer packageId, String packageName) {
|
||||
public void process(Long packageId, String packageName) {
|
||||
try {
|
||||
SignalService.UpdateResult updateResult = signalService.updateSubjects(packageId, null);
|
||||
if (updateResult.isNoFidsFound()) {
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class UpdatingFlagsService {
|
|||
}
|
||||
|
||||
private void updateFlags(UserPackage userPackage) {
|
||||
Integer packageId = userPackage.getId();
|
||||
Long packageId = userPackage.getId();
|
||||
String packageName = userPackage.getPackageName();
|
||||
try {
|
||||
signalService.updatePackageStatus(packageId, Status.PROCESSING);
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@ public class PhoneFidMapService {
|
|||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public void registerSubjects(List<Subject> subjects, Integer packageId) {
|
||||
public void registerSubjects(List<Subject> subjects, Long packageId) {
|
||||
mapper.registerSubjects(subjects, packageId);
|
||||
}
|
||||
|
||||
public List<PhoneFidMap> findFullPhoneFidMap(Integer packageId, int offset, int limit) {
|
||||
public List<PhoneFidMap> findFullPhoneFidMap(Long packageId, int offset, int limit) {
|
||||
return mapper.findFullPhoneFidMap(packageId, offset, limit);
|
||||
}
|
||||
|
||||
|
|
@ -32,11 +32,11 @@ public class PhoneFidMapService {
|
|||
mapper.updatePhoneFidMapsErrors(subjects);
|
||||
}
|
||||
|
||||
public PhoneFidMap findPhoneFidMapById(Integer id) {
|
||||
public PhoneFidMap findPhoneFidMapById(Long id) {
|
||||
return mapper.findPhoneFidMapById(id);
|
||||
}
|
||||
|
||||
public boolean hasNonNullfids(Integer packageId) {
|
||||
public boolean hasNonNullfids(Long packageId) {
|
||||
return mapper.hasNonNullFids(packageId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ public class SignalRestService {
|
|||
* Ставит пакет на мониторинг в официальный сервис сигналов
|
||||
* @return true - если пакет успешно поставился на мониторинг. false - в противном случае
|
||||
*/
|
||||
public boolean setupMonitoring(Integer packageId) throws Exception {
|
||||
public boolean setupMonitoring(Long packageId) throws Exception {
|
||||
String path = signalService.writeSignals(packageId);
|
||||
Resource request = compressFile(path);
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ public class SignalRestService {
|
|||
/**
|
||||
* @return имя файла с ошибками по поставленному на мониторинг отчету
|
||||
*/
|
||||
public String getErrorFileName(Integer packageId, String packCode) {
|
||||
public String getErrorFileName(Long packageId, String packCode) {
|
||||
String url = GET_REPORT_URI + "?packCode=" + packCode;
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
|
|
@ -148,7 +148,7 @@ public class SignalRestService {
|
|||
*
|
||||
* @return путь к разархивированному файлу. Пример: <loadDir>/tmp_folder/<package_id>/0001XX_MY_BATCH_223112.1.errors.xml.gz
|
||||
*/
|
||||
public String loadErrorFile(Integer packageId, String fileName) {
|
||||
public String loadErrorFile(Long packageId, String fileName) {
|
||||
String url = DOWNLOAD_REPORT_URI + "?fNameRequest=" + fileName;
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
|
|
@ -229,7 +229,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 String downloadReport(Integer packageId, String reportName) {
|
||||
public String downloadReport(Long packageId, String reportName) {
|
||||
String url = DOWNLOAD_ONLINE_REPORT_URI + "?fNameReport=" + reportName;
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
|
|
@ -247,7 +247,7 @@ public class SignalRestService {
|
|||
return unzipReport(response,packageId, reportName);
|
||||
}
|
||||
|
||||
private String unzipReport(ResponseEntity<byte[]> response, Integer packageId, String reportName) {
|
||||
private String unzipReport(ResponseEntity<byte[]> response, Long packageId, String reportName) {
|
||||
boolean isGzipped = response.getHeaders().getContentType() != null
|
||||
&& response.getHeaders().getContentType().toString().equals("application/x-gzip");
|
||||
|
||||
|
|
|
|||
|
|
@ -34,23 +34,23 @@ public class UserPackageService {
|
|||
mapper.deletePackage(userId.substring(0, 6), packageName, newStatus.name(), previousStatus.name(), deactivatedAt);
|
||||
}
|
||||
|
||||
public Integer insertPackage(UserPackage userPackage) {
|
||||
public Long insertPackage(UserPackage userPackage) {
|
||||
return mapper.insertPackage(userPackage);
|
||||
}
|
||||
|
||||
public void updatePackageStatus(Integer packageId, Status status) {
|
||||
public void updatePackageStatus(Long packageId, Status status) {
|
||||
mapper.updatePackageStatus(packageId, status.name());
|
||||
}
|
||||
|
||||
public void updatePackageLastDownloadedReport(Integer id, String fileName) {
|
||||
public void updatePackageLastDownloadedReport(Long id, String fileName) {
|
||||
mapper.updatePackageLastDownloadedReport(id, fileName);
|
||||
}
|
||||
|
||||
public void updatePackageOnMonitoringSuccess(Integer id, LocalDateTime monitoringAt) {
|
||||
public void updatePackageOnMonitoringSuccess(Long id, LocalDateTime monitoringAt) {
|
||||
mapper.updatePackageOnMonitoringSuccess(id, monitoringAt);
|
||||
}
|
||||
|
||||
public UserPackage findPackage(Integer id) {
|
||||
public UserPackage findPackage(Long id) {
|
||||
return mapper.findPackage(id);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class MonitoringReportErrorsStaxtReader extends BaseStaxReader<Monitoring
|
|||
switch (reader.getAttributeLocalName(i)) {
|
||||
case "uid" -> {
|
||||
try {
|
||||
int uid = Integer.parseInt(text);
|
||||
Long uid = Long.parseLong(text);
|
||||
obj.getCurrentPerson().setUid(uid);
|
||||
} catch (NumberFormatException e) {
|
||||
log.error("Couldn't parse uid: {}", text);
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public class OnlineDownloadReportPersonsStaxReader extends BaseStaxReader<Person
|
|||
switch (reader.getAttributeLocalName(i)) {
|
||||
case "uid" -> {
|
||||
try {
|
||||
int uid = Integer.parseInt(text);
|
||||
Long uid = Long.parseLong(text);
|
||||
obj.getCurrentPerson().setUid(uid);
|
||||
} catch (NumberFormatException e) {
|
||||
log.error("Couldn't parse uid: {}", text);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
#{previousStatus}
|
||||
</update>
|
||||
|
||||
<select id="insertPackage" resultType="java.lang.Integer"
|
||||
<select id="insertPackage" resultType="java.lang.Long"
|
||||
parameterType="ru.nbch.credit_tracker.entities.dto.UserPackage">
|
||||
INSERT INTO signals_user_packages (membercode, package_name, created_at, status)
|
||||
values (#{userPackage.userId}, #{userPackage.packageName}, #{userPackage.createdAt}, #{userPackage.status}) RETURNING id
|
||||
|
|
|
|||
14
src/main/resources/sql/BKI-3264.ddl
Normal file
14
src/main/resources/sql/BKI-3264.ddl
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
alter table signals_user_packages
|
||||
alter column id type bigint using id::bigint;
|
||||
|
||||
alter table signals_phone_fid_map
|
||||
alter column id type bigint using id::bigint;
|
||||
|
||||
alter table signals_phone_fid_map
|
||||
alter column package_id type bigint using package_id::bigint;
|
||||
|
||||
alter table signals_hits
|
||||
alter column id type bigint using id::bigint;
|
||||
|
||||
alter table signals_hits
|
||||
alter column package_id type bigint using package_id::bigint;
|
||||
Loading…
Add table
Reference in a new issue