From 4035e5ee594c8b8c8d664d86c3ae49adf95883dc Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Mon, 9 Sep 2024 16:07:27 +0300 Subject: [PATCH 01/11] SUPPORT-8470: Fix --- .../ru/micord/ervu/service/StatusService.java | 11 +++++++ .../ervu/service/StatusServiceImpl.java | 30 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 backend/src/main/java/ru/micord/ervu/service/StatusService.java create mode 100644 backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java diff --git a/backend/src/main/java/ru/micord/ervu/service/StatusService.java b/backend/src/main/java/ru/micord/ervu/service/StatusService.java new file mode 100644 index 00000000..67f69147 --- /dev/null +++ b/backend/src/main/java/ru/micord/ervu/service/StatusService.java @@ -0,0 +1,11 @@ +package ru.micord.ervu.service; + +import java.sql.Timestamp; + +/** + * @author Eduard Tihomirov + */ +public interface StatusService { + + void setStatus(String status, String fileName, String form, Timestamp timestamp, String sender, Integer count); +} diff --git a/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java b/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java new file mode 100644 index 00000000..c49f9386 --- /dev/null +++ b/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java @@ -0,0 +1,30 @@ +package ru.micord.ervu.service; + +import java.sql.Timestamp; + +import org.jooq.DSLContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import static ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog.INTERACTION_LOG; + +/** + * @author Eduard Tihomirov + */ +@Service +public class StatusServiceImpl implements StatusService { + + @Autowired + private DSLContext dslContext; + + public void setStatus(String status, String fileName, String form, Timestamp timestamp, String sender, + Integer count) { + dslContext.insertInto(INTERACTION_LOG) + .set(INTERACTION_LOG.STATUS, status) + .set(INTERACTION_LOG.FORM, form) + .set(INTERACTION_LOG.SENT_DATE, timestamp) + .set(INTERACTION_LOG.SENDER, sender) + .set(INTERACTION_LOG.FILE_NAME, fileName) + .set(INTERACTION_LOG.RECORDS_SENT, count); + } +} From 3f54d22828e14c6a4120f4309a4070e34c36eaf6 Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Wed, 11 Sep 2024 10:08:58 +0300 Subject: [PATCH 02/11] SUPPORT-8470: Fix --- .../ru/micord/ervu/security/esia/service/EsiaAuthService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java b/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java index 0cd86562..0fe94bd3 100644 --- a/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java +++ b/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java @@ -352,7 +352,6 @@ public class EsiaAuthService { if (cookie.getName().equals("auth_token") || cookie.getName().equals("refresh_token") || cookie.getName().equals("access_token") || cookie.getName().equals("is_auth")) { cookie.setValue(""); - cookie.setPath("/"); cookie.setMaxAge(0); response.addCookie(cookie); } From c6422e3238fb2cadb17d546b6ea555cfb6e0694c Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Wed, 11 Sep 2024 15:54:46 +0300 Subject: [PATCH 03/11] SUPPORT-8470: Fix --- .../main/java/ervu/KafkaProducerConfig.java | 12 +- .../EmployeeInfoFileUploadController.java | 20 +++- .../EmployeeInfoFileUploadService.java | 47 ++++++-- .../EmployeeInfoKafkaMessageService.java | 70 +++++------- .../model/EmployeeInfoKafkaMessage.java | 15 +-- .../service/fileupload/model/FileInfo.java | 14 ++- .../service/fileupload/model/FileStatus.java | 37 ++++++ .../service/fileupload/model/OrgInfo.java | 54 +++------ .../fileupload/model/PassportInfo.java | 54 --------- .../service/fileupload/model/SenderInfo.java | 106 ------------------ .../ervu/kafka/ReplyingKafkaConfig.java | 21 ++++ ...-11--01-add-new-column-interaction-log.xml | 15 +++ config/asd | 1 + config/standalone/dev/standalone.xml | 11 +- 14 files changed, 199 insertions(+), 278 deletions(-) create mode 100644 backend/src/main/java/ervu/service/fileupload/model/FileStatus.java delete mode 100644 backend/src/main/java/ervu/service/fileupload/model/PassportInfo.java delete mode 100644 backend/src/main/java/ervu/service/fileupload/model/SenderInfo.java create mode 100644 backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml create mode 100644 config/asd diff --git a/backend/src/main/java/ervu/KafkaProducerConfig.java b/backend/src/main/java/ervu/KafkaProducerConfig.java index 6b2d98c9..8b705f65 100644 --- a/backend/src/main/java/ervu/KafkaProducerConfig.java +++ b/backend/src/main/java/ervu/KafkaProducerConfig.java @@ -19,17 +19,17 @@ import org.springframework.kafka.core.ProducerFactory; */ @Configuration public class KafkaProducerConfig { - @Value("${kafka.send.url}") + @Value("${av-kafka.send.url}") private String kafkaUrl; - @Value("${kafka.send.security.protocol}") + @Value("${av-kafka.send.security.protocol}") private String securityProtocol; - @Value("${kafka.send.login.module:org.apache.kafka.common.security.scram.ScramLoginModule}") + @Value("${av-kafka.send.login.module:org.apache.kafka.common.security.scram.ScramLoginModule}") private String loginModule; - @Value("${kafka.send.username}") + @Value("${av-kafka.send.username}") private String username; - @Value("${kafka.send.password}") + @Value("${av-kafka.send.password}") private String password; - @Value("${kafka.sasl.mechanism}") + @Value("${av-kafka.sasl.mechanism}") private String saslMechanism; @Bean diff --git a/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java index 5ef978e2..d9e8b0c4 100644 --- a/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java +++ b/backend/src/main/java/ervu/controller/EmployeeInfoFileUploadController.java @@ -1,5 +1,8 @@ package ervu.controller; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; + import ervu.service.fileupload.EmployeeInfoFileUploadService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -18,8 +21,21 @@ public class EmployeeInfoFileUploadController { @RequestMapping(value = "/employee/document", method = RequestMethod.POST) public ResponseEntity saveEmployeeInformationFile(@RequestParam("file") MultipartFile multipartFile, - @RequestHeader("X-Employee-Info-File-Form-Type") String formType) { - if (this.fileUploadService.saveEmployeeInformationFile(multipartFile, formType)) { + @RequestHeader("X-Employee-Info-File-Form-Type") String formType, HttpServletRequest request) { + String accessToken = null; + String authToken = null; + Cookie[] cookies = request.getCookies(); + if (cookies != null) { + for (Cookie cookie : cookies) { + if (cookie.getName().equals("access_token")) { + accessToken = cookie.getValue(); + } + else if (cookie.getName().equals("auth_token")) { + authToken = cookie.getValue(); + } + } + } + if (accessToken != null && this.fileUploadService.saveEmployeeInformationFile(multipartFile, formType, accessToken, authToken)) { return ResponseEntity.ok("File successfully uploaded."); } else { diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java index 825cfcbd..b2c2abed 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java @@ -1,6 +1,8 @@ package ervu.service.fileupload; +import java.sql.Timestamp; import java.time.LocalDateTime; +import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.UUID; @@ -8,13 +10,19 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import ervu.client.fileupload.FileUploadWebDavClient; import ervu.service.fileupload.model.EmployeeInfoKafkaMessage; +import ervu.service.fileupload.model.FileStatus; import org.apache.kafka.clients.producer.ProducerRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import ru.micord.ervu.security.esia.model.EmployeeModel; +import ru.micord.ervu.security.esia.model.PersonModel; +import ru.micord.ervu.security.esia.service.UlDataService; +import ru.micord.ervu.service.StatusService; /** * @author Alexandr Shalaginov @@ -22,12 +30,15 @@ import org.springframework.web.multipart.MultipartFile; @Service public class EmployeeInfoFileUploadService { private static final Logger logger = LoggerFactory.getLogger(EmployeeInfoFileUploadService.class); + private static final String FORMAT = "dd.MM.yyyy HH:mm"; private final FileUploadWebDavClient fileWebDavUploadClient; private final EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService; private final KafkaTemplate kafkaTemplate; + private final StatusService statusService; + private final UlDataService ulDataService; - @Value("${kafka.send.message.topic.name:employee-files}") + @Value("${av-kafka.send.message.topic.name:employee-files}") private String kafkaTopicName; @Value("${file.webdav.upload.url:http://localhost:5757}") private String url; @@ -38,25 +49,43 @@ public class EmployeeInfoFileUploadService { public EmployeeInfoFileUploadService( FileUploadWebDavClient fileWebDavUploadClient, - EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService, KafkaTemplate kafkaTemplate) { + EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService, + KafkaTemplate kafkaTemplate, StatusService statusService, + UlDataService ulDataService) { this.fileWebDavUploadClient = fileWebDavUploadClient; this.employeeInfoKafkaMessageService = employeeInfoKafkaMessageService; this.kafkaTemplate = kafkaTemplate; + this.statusService = statusService; + this.ulDataService = ulDataService; } - public boolean saveEmployeeInformationFile(MultipartFile multipartFile, String formType) { + public boolean saveEmployeeInformationFile(MultipartFile multipartFile, String formType, + String accessToken, String authToken) { String fileUploadUrl = this.url + "/" + getNewFilename(multipartFile.getOriginalFilename()); - String departureDateTime = getDepartureDateTime(); + LocalDateTime now = LocalDateTime.now(); + String departureDateTime = now.format(DateTimeFormatter.ofPattern(FORMAT));; + String timeZone = getTimeZone(); if (this.fileWebDavUploadClient.webDavUploadFile(fileUploadUrl, username, password, multipartFile)) { + FileStatus fileStatus = new FileStatus(); + fileStatus.setStatus("Загрузка."); + fileStatus.setCode("01"); + fileStatus.setDescription("Файл принят до проверки на вирусы."); + String fileName = multipartFile.getOriginalFilename(); + EmployeeInfoFileFormType employeeInfoFileFormType = EmployeeInfoFileFormType.valueOf(formType); String jsonMessage = getJsonKafkaMessage( employeeInfoKafkaMessageService.getKafkaMessage( fileUploadUrl, - multipartFile.getOriginalFilename(), - EmployeeInfoFileFormType.valueOf(formType), - departureDateTime + fileName, + employeeInfoFileFormType, + departureDateTime, + accessToken, authToken, timeZone, fileStatus ) ); + EmployeeModel employeeModel = ulDataService.getEmployeeModel(accessToken); + PersonModel personModel = employeeModel.getPerson(); + statusService.setStatus(fileStatus.getStatus(), fileName, employeeInfoFileFormType.getFilePatternName(), Timestamp.valueOf(now), + personModel.getLastName() + " " + personModel.getFirstName().charAt(0) + ". " + personModel.getMiddleName().charAt(0) + ".", (int) multipartFile.getSize()); return sendMessage(jsonMessage); } else { @@ -100,7 +129,7 @@ public class EmployeeInfoFileUploadService { } } - private String getDepartureDateTime() { - return LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm")); + private String getTimeZone() { + return ZonedDateTime.now().getOffset().toString(); } } \ No newline at end of file diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java index a69a38b2..b60a80c2 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java @@ -2,10 +2,13 @@ package ervu.service.fileupload; import ervu.service.fileupload.model.EmployeeInfoKafkaMessage; import ervu.service.fileupload.model.FileInfo; +import ervu.service.fileupload.model.FileStatus; import ervu.service.fileupload.model.OrgInfo; -import ervu.service.fileupload.model.SenderInfo; -import ru.micord.ervu.security.esia.service.UlDataService; import org.springframework.stereotype.Service; +import ru.micord.ervu.security.esia.model.OrganizationModel; +import ru.micord.ervu.security.esia.service.UlDataService; +import ru.micord.ervu.security.webbpm.jwt.model.Token; +import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService; /** * @author Alexandr Shalaginov @@ -13,67 +16,48 @@ import org.springframework.stereotype.Service; @Service public class EmployeeInfoKafkaMessageService { private final UlDataService ulDataService; + private final JwtTokenService jwtTokenService; - public EmployeeInfoKafkaMessageService(UlDataService ulDataService) { + + public EmployeeInfoKafkaMessageService(UlDataService ulDataService, JwtTokenService jwtTokenService) { this.ulDataService = ulDataService; + this.jwtTokenService = jwtTokenService; } public EmployeeInfoKafkaMessage getKafkaMessage(String fileNameBase, String fileName, - EmployeeInfoFileFormType formType, String departureDateTime) { + EmployeeInfoFileFormType formType, String departureDateTime, String accessToken, + String authToken, String timeZone, FileStatus fileStatus) { return new EmployeeInfoKafkaMessage( - getOrgInfo(), - getSenderInfo(), + getOrgInfo(accessToken, authToken), getFileInfo( fileNameBase, fileName, formType, - departureDateTime + departureDateTime, + timeZone, + fileStatus ) ); } - //TODO: refactor SUPPORT-8381 - private OrgInfo getOrgInfo() { -// OrganizationModel organizationModel = ulDataService.getOrganizationModel(); -// return new OrgInfo( -// organizationModel.getShortName(), -// organizationModel.getLeg(), -// organizationModel.getLegName(), -// organizationModel.getOgrn(), -// organizationModel.getInn(), -// organizationModel.getKpp() -// ); - return null; - } - - private SenderInfo getSenderInfo() { -// MillitaryRegistrationPersonModel personModel = ulDataService.getPersonModel(); -// return new SenderInfo( -// personModel.getLastName(), -// personModel.getFirstName(), -// personModel.getMiddleName(), -// personModel.getBirthday(), -// personModel.getRoleCode(), -// personModel.getRoleName(), -// personModel.getSnils(), -// personModel.getIdERN(), -// new PassportInfo( -// personModel.getPassportSeries(), -// personModel.getPassportNumber(), -// personModel.getPassportIssueDate() -// ) -// ); - return null; - } - private FileInfo getFileInfo(String fileNameBase, String fileName, - EmployeeInfoFileFormType formType, String departureDateTime) { + EmployeeInfoFileFormType formType, String departureDateTime, String timeZone, + FileStatus fileStatus) { return new FileInfo( fileNameBase, fileName, formType.getFilePatternCode(), formType.getFilePatternName(), - departureDateTime + departureDateTime, + timeZone, + fileStatus ); } + + private OrgInfo getOrgInfo(String accessToken, String authToken) { + OrganizationModel organizationModel = ulDataService.getOrganizationModel(accessToken); + Token token = jwtTokenService.getToken(authToken); + String[] ids = token.getUserAccountId().split(":"); + return new OrgInfo(organizationModel.getFullName(), ids[1], ids[0]); + } } diff --git a/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java b/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java index 0441a856..49d33a51 100644 --- a/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java +++ b/backend/src/main/java/ervu/service/fileupload/model/EmployeeInfoKafkaMessage.java @@ -7,12 +7,10 @@ import java.util.Objects; */ public class EmployeeInfoKafkaMessage { private final OrgInfo orgInfo; - private final SenderInfo senderInfo; private final FileInfo fileInfo; - public EmployeeInfoKafkaMessage(OrgInfo orgInfo, SenderInfo senderInfo, FileInfo fileInfo) { + public EmployeeInfoKafkaMessage(OrgInfo orgInfo, FileInfo fileInfo) { this.orgInfo = orgInfo; - this.senderInfo = senderInfo; this.fileInfo = fileInfo; } @@ -20,10 +18,6 @@ public class EmployeeInfoKafkaMessage { return orgInfo; } - public SenderInfo getSenderInfo() { - return senderInfo; - } - public FileInfo getFileInfo() { return fileInfo; } @@ -33,21 +27,18 @@ public class EmployeeInfoKafkaMessage { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EmployeeInfoKafkaMessage that = (EmployeeInfoKafkaMessage) o; - return Objects.equals(orgInfo, that.orgInfo) && Objects.equals(senderInfo, - that.senderInfo - ) && Objects.equals(fileInfo, that.fileInfo); + return Objects.equals(orgInfo, that.orgInfo) && Objects.equals(fileInfo, that.fileInfo); } @Override public int hashCode() { - return Objects.hash(orgInfo, senderInfo, fileInfo); + return Objects.hash(orgInfo, fileInfo); } @Override public String toString() { return "KafkaMessage{" + "orgInfo=" + orgInfo + - ", senderInfo=" + senderInfo + ", fileInfo=" + fileInfo + '}'; } diff --git a/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java b/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java index ea851414..f077427e 100644 --- a/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java +++ b/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java @@ -11,14 +11,18 @@ public class FileInfo { private final String filePatternCode; private final String filePatternName; private final String departureDateTime; + private final String timeZone; + private final FileStatus fileStatus; public FileInfo(String fileNameBase, String fileName, String filePatternCode, - String filePatternName, String departureDateTime) { + String filePatternName, String departureDateTime, String timeZone, FileStatus fileStatus) { this.fileNameBase = fileNameBase; this.fileName = fileName; this.filePatternCode = filePatternCode; this.filePatternName = filePatternName; this.departureDateTime = departureDateTime; + this.timeZone = timeZone; + this.fileStatus = fileStatus; } public String getFileNameBase() { @@ -41,6 +45,14 @@ public class FileInfo { return departureDateTime; } + public String getTimeZone() { + return timeZone; + } + + public FileStatus getFileStatus() { + return fileStatus; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/backend/src/main/java/ervu/service/fileupload/model/FileStatus.java b/backend/src/main/java/ervu/service/fileupload/model/FileStatus.java new file mode 100644 index 00000000..e9a5c614 --- /dev/null +++ b/backend/src/main/java/ervu/service/fileupload/model/FileStatus.java @@ -0,0 +1,37 @@ +package ervu.service.fileupload.model; + +import java.io.Serializable; + +/** + * @author Eduard Tihomirov + */ +public class FileStatus { + + private String code; + private String status; + private String description; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java b/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java index 47fbf885..73f95564 100644 --- a/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java +++ b/backend/src/main/java/ervu/service/fileupload/model/OrgInfo.java @@ -7,44 +7,25 @@ import java.util.Objects; */ public class OrgInfo { private final String orgName; - private final String orgTypeCode; - private final String orgTypeName; - private final String ogrn; - private final String inn; - private final String kpp; + private final String orgId; + private final String prnOid; - public OrgInfo(String orgName, String orgTypeCode, String orgTypeName, String ogrn, String inn, - String kpp) { + public OrgInfo(String orgName, String orgId, String prnOid) { this.orgName = orgName; - this.orgTypeCode = orgTypeCode; - this.orgTypeName = orgTypeName; - this.ogrn = ogrn; - this.inn = inn; - this.kpp = kpp; + this.orgId = orgId; + this.prnOid = prnOid; } public String getOrgName() { return orgName; } - public String getOrgTypeCode() { - return orgTypeCode; + public String getOrgId() { + return orgId; } - public String getOrgTypeName() { - return orgTypeName; - } - - public String getOgrn() { - return ogrn; - } - - public String getInn() { - return inn; - } - - public String getKpp() { - return kpp; + public String getPrnOid() { + return prnOid; } @Override @@ -52,27 +33,22 @@ public class OrgInfo { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; OrgInfo orgInfo = (OrgInfo) o; - return Objects.equals(orgName, orgInfo.orgName) && Objects.equals(orgTypeCode, - orgInfo.orgTypeCode - ) && Objects.equals(orgTypeName, orgInfo.orgTypeName) && Objects.equals(ogrn, - orgInfo.ogrn - ) && Objects.equals(inn, orgInfo.inn) && Objects.equals(kpp, orgInfo.kpp); + return Objects.equals(orgName, orgInfo.orgName) && Objects.equals(orgId, + orgInfo.orgId + ) && Objects.equals(prnOid, orgInfo.prnOid); } @Override public int hashCode() { - return Objects.hash(orgName, orgTypeCode, orgTypeName, ogrn, inn, kpp); + return Objects.hash(orgName, orgId, prnOid); } @Override public String toString() { return "OrgInfo{" + "orgName='" + orgName + '\'' + - ", orgTypeCode='" + orgTypeCode + '\'' + - ", orgTypeName='" + orgTypeName + '\'' + - ", ogrn='" + ogrn + '\'' + - ", inn='" + inn + '\'' + - ", kpp='" + kpp + '\'' + + ", orgId='" + orgId + '\'' + + ", prnOid='" + prnOid + '\'' + '}'; } } diff --git a/backend/src/main/java/ervu/service/fileupload/model/PassportInfo.java b/backend/src/main/java/ervu/service/fileupload/model/PassportInfo.java deleted file mode 100644 index 24c87bf5..00000000 --- a/backend/src/main/java/ervu/service/fileupload/model/PassportInfo.java +++ /dev/null @@ -1,54 +0,0 @@ -package ervu.service.fileupload.model; - -import java.util.Objects; - -/** - * @author Alexandr Shalaginov - */ -public class PassportInfo { - private final String series; - private final String number; - private final String issueDate; - - public PassportInfo(String series, String number, String issueDate) { - this.series = series; - this.number = number; - this.issueDate = issueDate; - } - - public String getSeries() { - return series; - } - - public String getNumber() { - return number; - } - - public String getIssueDate() { - return issueDate; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - PassportInfo that = (PassportInfo) o; - return Objects.equals(series, that.series) && Objects.equals(number, - that.number - ) && Objects.equals(issueDate, that.issueDate); - } - - @Override - public int hashCode() { - return Objects.hash(series, number, issueDate); - } - - @Override - public String toString() { - return "PassportInfo{" + - "series='" + series + '\'' + - ", number='" + number + '\'' + - ", issueDate='" + issueDate + '\'' + - '}'; - } -} diff --git a/backend/src/main/java/ervu/service/fileupload/model/SenderInfo.java b/backend/src/main/java/ervu/service/fileupload/model/SenderInfo.java deleted file mode 100644 index 56f440f4..00000000 --- a/backend/src/main/java/ervu/service/fileupload/model/SenderInfo.java +++ /dev/null @@ -1,106 +0,0 @@ -package ervu.service.fileupload.model; - -import java.util.Objects; - -/** - * @author Alexandr Shalaginov - */ -public class SenderInfo { - private final String senderLastName; - private final String senderFirstName; - private final String senderMiddleName; - private final String birthDate; - private final String senderRoleCode; - private final String senderRoleName; - private final String snils; - private final String idERN; - private final PassportInfo document; - - public SenderInfo(String senderLastName, String senderFirstName, String senderMiddleName, - String birthDate, String senderRoleCode, String senderRoleName, String snils, String idERN, - PassportInfo document) { - this.senderLastName = senderLastName; - this.senderFirstName = senderFirstName; - this.senderMiddleName = senderMiddleName; - this.birthDate = birthDate; - this.senderRoleCode = senderRoleCode; - this.senderRoleName = senderRoleName; - this.snils = snils; - this.idERN = idERN; - this.document = document; - } - - public String getSenderLastName() { - return senderLastName; - } - - public String getSenderFirstName() { - return senderFirstName; - } - - public String getSenderMiddleName() { - return senderMiddleName; - } - - public String getBirthDate() { - return birthDate; - } - - public String getSenderRoleCode() { - return senderRoleCode; - } - - public String getSenderRoleName() { - return senderRoleName; - } - - public String getSnils() { - return snils; - } - - public String getIdERN() { - return idERN; - } - - public PassportInfo getDocument() { - return document; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - SenderInfo that = (SenderInfo) o; - return Objects.equals(senderLastName, that.senderLastName) && Objects.equals( - senderFirstName, that.senderFirstName) && Objects.equals(senderMiddleName, - that.senderMiddleName - ) && Objects.equals(birthDate, that.birthDate) && Objects.equals( - senderRoleCode, that.senderRoleCode) && Objects.equals(senderRoleName, - that.senderRoleName - ) && Objects.equals(snils, that.snils) && Objects.equals(idERN, that.idERN) - && Objects.equals(document, that.document); - } - - @Override - public int hashCode() { - return Objects.hash(senderLastName, senderFirstName, senderMiddleName, birthDate, - senderRoleCode, - senderRoleName, snils, idERN, document - ); - } - - @Override - public String toString() { - return "SenderInfo{" + - "senderLastName='" + senderLastName + '\'' + - ", senderFirstName='" + senderFirstName + '\'' + - ", senderMiddleName='" + senderMiddleName + '\'' + - ", birthDate='" + birthDate + '\'' + - ", senderRoleCode='" + senderRoleCode + '\'' + - ", senderRoleName='" + senderRoleName + '\'' + - ", snils='" + snils + '\'' + - ", idERN='" + idERN + '\'' + - ", document=" + document + - '}'; - } -} diff --git a/backend/src/main/java/ru/micord/ervu/kafka/ReplyingKafkaConfig.java b/backend/src/main/java/ru/micord/ervu/kafka/ReplyingKafkaConfig.java index 620d3f5d..7bff6b07 100644 --- a/backend/src/main/java/ru/micord/ervu/kafka/ReplyingKafkaConfig.java +++ b/backend/src/main/java/ru/micord/ervu/kafka/ReplyingKafkaConfig.java @@ -1,7 +1,9 @@ package ru.micord.ervu.kafka; +import org.apache.kafka.clients.CommonClientConfigs; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.producer.ProducerConfig; +import org.apache.kafka.common.config.SaslConfigs; import org.apache.kafka.common.serialization.StringDeserializer; import org.apache.kafka.common.serialization.StringSerializer; import org.springframework.beans.factory.annotation.Value; @@ -33,12 +35,27 @@ public class ReplyingKafkaConfig { @Value("${ervu-kafka.reply-connection-timeout:30}") private long connectionTimeout; + @Value("${ervu-kafka.send.security.protocol}") + private String securityProtocol; + @Value("${ervu-kafka.send.login.module:org.apache.kafka.common.security.scram.ScramLoginModule}") + private String loginModule; + @Value("${ervu-kafka.send.username}") + private String username; + @Value("${ervu-kafka.send.password}") + private String password; + @Value("${ervu-kafka.sasl.mechanism}") + private String saslMechanism; + @Bean public ProducerFactory producerFactory() { Map configProps = new HashMap<>(); configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); + configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol); + configProps.put(SaslConfigs.SASL_JAAS_CONFIG, loginModule + " required username=\"" + + username + "\" password=\"" + password + "\";"); + configProps.put(SaslConfigs.SASL_MECHANISM, saslMechanism); return new DefaultKafkaProducerFactory<>(configProps); } @@ -54,6 +71,10 @@ public class ReplyingKafkaConfig { configProps.put(ConsumerConfig.GROUP_ID_CONFIG, groupId); configProps.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); configProps.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); + configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol); + configProps.put(SaslConfigs.SASL_JAAS_CONFIG, loginModule + " required username=\"" + + username + "\" password=\"" + password + "\";"); + configProps.put(SaslConfigs.SASL_MECHANISM, saslMechanism); return new DefaultKafkaConsumerFactory<>(configProps); } diff --git a/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml b/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml new file mode 100644 index 00000000..0909ad6a --- /dev/null +++ b/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml @@ -0,0 +1,15 @@ + + + + + add file id column into interaction_log table + + + + + + + \ No newline at end of file diff --git a/config/asd b/config/asd new file mode 100644 index 00000000..6ab38fb6 --- /dev/null +++ b/config/asd @@ -0,0 +1 @@ +org_fullname, org_shortname, org_brhs, org_brhs_ctts, org_brhs_addrs, org_type, org_ogrn, org_inn, org_leg, org_kpp, org_ctts, org_addrs, org_grps, org_emps \ No newline at end of file diff --git a/config/standalone/dev/standalone.xml b/config/standalone/dev/standalone.xml index 05a33d88..7170d37b 100644 --- a/config/standalone/dev/standalone.xml +++ b/config/standalone/dev/standalone.xml @@ -57,12 +57,11 @@ - - - - - - + + + + + From b96754a81826fa67840541008fa1879e44cd8421 Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Thu, 12 Sep 2024 10:37:36 +0300 Subject: [PATCH 04/11] SUPPORT-8470: Fix --- backend/src/main/resources/config/v_1.0/changelog-v_1.0.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/main/resources/config/v_1.0/changelog-v_1.0.xml b/backend/src/main/resources/config/v_1.0/changelog-v_1.0.xml index eb337c13..203a4563 100644 --- a/backend/src/main/resources/config/v_1.0/changelog-v_1.0.xml +++ b/backend/src/main/resources/config/v_1.0/changelog-v_1.0.xml @@ -6,5 +6,6 @@ http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd"> + \ No newline at end of file From 90d402faaf96c05d41243aec26cd2d66181a5ff5 Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Thu, 12 Sep 2024 10:54:20 +0300 Subject: [PATCH 05/11] SUPPORT-8470: Fix --- .../main/java/ervu/KafkaProducerConfig.java | 6 ++--- .../EmployeeInfoFileUploadService.java | 7 ++++-- .../EmployeeInfoKafkaMessageService.java | 10 +++++--- .../service/fileupload/model/FileInfo.java | 25 +++++++++++++------ .../ru/micord/ervu/service/StatusService.java | 2 +- .../ervu/service/StatusServiceImpl.java | 3 ++- 6 files changed, 34 insertions(+), 19 deletions(-) diff --git a/backend/src/main/java/ervu/KafkaProducerConfig.java b/backend/src/main/java/ervu/KafkaProducerConfig.java index 8b705f65..5daada76 100644 --- a/backend/src/main/java/ervu/KafkaProducerConfig.java +++ b/backend/src/main/java/ervu/KafkaProducerConfig.java @@ -32,12 +32,12 @@ public class KafkaProducerConfig { @Value("${av-kafka.sasl.mechanism}") private String saslMechanism; - @Bean + @Bean("av-factory") public ProducerFactory producerFactory() { return new DefaultKafkaProducerFactory<>(producerConfigs()); } - @Bean + @Bean("av-configs") public Map producerConfigs() { Map props = new HashMap<>(); props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, this.kafkaUrl); @@ -52,7 +52,7 @@ public class KafkaProducerConfig { return props; } - @Bean + @Bean("av-template") public KafkaTemplate kafkaTemplate() { return new KafkaTemplate<>(producerFactory()); } diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java index b2c2abed..e2b011f6 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java @@ -15,6 +15,7 @@ import org.apache.kafka.clients.producer.ProducerRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.stereotype.Service; @@ -50,7 +51,7 @@ public class EmployeeInfoFileUploadService { public EmployeeInfoFileUploadService( FileUploadWebDavClient fileWebDavUploadClient, EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService, - KafkaTemplate kafkaTemplate, StatusService statusService, + @Qualifier("av-template") KafkaTemplate kafkaTemplate, StatusService statusService, UlDataService ulDataService) { this.fileWebDavUploadClient = fileWebDavUploadClient; this.employeeInfoKafkaMessageService = employeeInfoKafkaMessageService; @@ -71,10 +72,12 @@ public class EmployeeInfoFileUploadService { fileStatus.setStatus("Загрузка."); fileStatus.setCode("01"); fileStatus.setDescription("Файл принят до проверки на вирусы."); + String fileId = UUID.randomUUID().toString(); String fileName = multipartFile.getOriginalFilename(); EmployeeInfoFileFormType employeeInfoFileFormType = EmployeeInfoFileFormType.valueOf(formType); String jsonMessage = getJsonKafkaMessage( employeeInfoKafkaMessageService.getKafkaMessage( + fileId, fileUploadUrl, fileName, employeeInfoFileFormType, @@ -84,7 +87,7 @@ public class EmployeeInfoFileUploadService { ); EmployeeModel employeeModel = ulDataService.getEmployeeModel(accessToken); PersonModel personModel = employeeModel.getPerson(); - statusService.setStatus(fileStatus.getStatus(), fileName, employeeInfoFileFormType.getFilePatternName(), Timestamp.valueOf(now), + statusService.setStatus(fileId, fileStatus.getStatus(), fileName, employeeInfoFileFormType.getFilePatternName(), Timestamp.valueOf(now), personModel.getLastName() + " " + personModel.getFirstName().charAt(0) + ". " + personModel.getMiddleName().charAt(0) + ".", (int) multipartFile.getSize()); return sendMessage(jsonMessage); } diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java index b60a80c2..79821779 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoKafkaMessageService.java @@ -24,13 +24,14 @@ public class EmployeeInfoKafkaMessageService { this.jwtTokenService = jwtTokenService; } - public EmployeeInfoKafkaMessage getKafkaMessage(String fileNameBase, String fileName, + public EmployeeInfoKafkaMessage getKafkaMessage(String fileId, String fileUrl, String fileName, EmployeeInfoFileFormType formType, String departureDateTime, String accessToken, String authToken, String timeZone, FileStatus fileStatus) { return new EmployeeInfoKafkaMessage( getOrgInfo(accessToken, authToken), getFileInfo( - fileNameBase, + fileId, + fileUrl, fileName, formType, departureDateTime, @@ -40,11 +41,12 @@ public class EmployeeInfoKafkaMessageService { ); } - private FileInfo getFileInfo(String fileNameBase, String fileName, + private FileInfo getFileInfo(String fileId, String fileUrl, String fileName, EmployeeInfoFileFormType formType, String departureDateTime, String timeZone, FileStatus fileStatus) { return new FileInfo( - fileNameBase, + fileId, + fileUrl, fileName, formType.getFilePatternCode(), formType.getFilePatternName(), diff --git a/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java b/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java index f077427e..91a345e2 100644 --- a/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java +++ b/backend/src/main/java/ervu/service/fileupload/model/FileInfo.java @@ -6,7 +6,8 @@ import java.util.Objects; * @author Alexandr Shalaginov */ public class FileInfo { - private final String fileNameBase; + private final String fileId; + private final String fileUrl; private final String fileName; private final String filePatternCode; private final String filePatternName; @@ -14,9 +15,10 @@ public class FileInfo { private final String timeZone; private final FileStatus fileStatus; - public FileInfo(String fileNameBase, String fileName, String filePatternCode, + public FileInfo(String fileId, String fileUrl, String fileName, String filePatternCode, String filePatternName, String departureDateTime, String timeZone, FileStatus fileStatus) { - this.fileNameBase = fileNameBase; + this.fileId = fileId; + this.fileUrl = fileUrl; this.fileName = fileName; this.filePatternCode = filePatternCode; this.filePatternName = filePatternName; @@ -25,8 +27,12 @@ public class FileInfo { this.fileStatus = fileStatus; } - public String getFileNameBase() { - return fileNameBase; + public String getFileId() { + return fileId; + } + + public String getFileUrl() { + return fileUrl; } public String getFileName() { @@ -58,7 +64,9 @@ public class FileInfo { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; FileInfo fileInfo = (FileInfo) o; - return Objects.equals(fileNameBase, fileInfo.fileNameBase) && Objects.equals( + return Objects.equals(fileId, fileInfo.fileId) && Objects.equals(fileUrl, + fileInfo.fileUrl + ) && Objects.equals( fileName, fileInfo.fileName) && Objects.equals(filePatternCode, fileInfo.filePatternCode ) && Objects.equals(filePatternName, fileInfo.filePatternName) @@ -67,7 +75,7 @@ public class FileInfo { @Override public int hashCode() { - return Objects.hash(fileNameBase, fileName, filePatternCode, filePatternName, + return Objects.hash(fileId, fileUrl, fileName, filePatternCode, filePatternName, departureDateTime ); } @@ -75,7 +83,8 @@ public class FileInfo { @Override public String toString() { return "FileInfo{" + - "fileNameBase='" + fileNameBase + '\'' + + "fileId='" + fileId + '\'' + + ", fileNameBase='" + fileUrl + '\'' + ", fileName='" + fileName + '\'' + ", filePatternCode='" + filePatternCode + '\'' + ", filePatternName='" + filePatternName + '\'' + diff --git a/backend/src/main/java/ru/micord/ervu/service/StatusService.java b/backend/src/main/java/ru/micord/ervu/service/StatusService.java index 67f69147..7e3f8765 100644 --- a/backend/src/main/java/ru/micord/ervu/service/StatusService.java +++ b/backend/src/main/java/ru/micord/ervu/service/StatusService.java @@ -7,5 +7,5 @@ import java.sql.Timestamp; */ public interface StatusService { - void setStatus(String status, String fileName, String form, Timestamp timestamp, String sender, Integer count); + void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender, Integer count); } diff --git a/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java b/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java index c49f9386..2225f233 100644 --- a/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java +++ b/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java @@ -17,9 +17,10 @@ public class StatusServiceImpl implements StatusService { @Autowired private DSLContext dslContext; - public void setStatus(String status, String fileName, String form, Timestamp timestamp, String sender, + public void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender, Integer count) { dslContext.insertInto(INTERACTION_LOG) + .set(INTERACTION_LOG.FILE_ID, fileId) .set(INTERACTION_LOG.STATUS, status) .set(INTERACTION_LOG.FORM, form) .set(INTERACTION_LOG.SENT_DATE, timestamp) From c6a5fc041451d3d303e2e61ef0485f54bd0e4075 Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Thu, 12 Sep 2024 10:54:31 +0300 Subject: [PATCH 06/11] update beans --- .../ervu_lkrp_ul/db_beans/public_/Keys.java | 3 + .../ervu_lkrp_ul/db_beans/public_/Public.java | 7 + .../db_beans/public_/Routines.java | 285 ++++++++++++++++++ .../ervu_lkrp_ul/db_beans/public_/Tables.java | 6 + .../public_/routines/UuidGenerateV1.java | 38 +++ .../public_/routines/UuidGenerateV1mc.java | 38 +++ .../public_/routines/UuidGenerateV3.java | 81 +++++ .../public_/routines/UuidGenerateV4.java | 38 +++ .../public_/routines/UuidGenerateV5.java | 81 +++++ .../db_beans/public_/routines/UuidNil.java | 38 +++ .../db_beans/public_/routines/UuidNsDns.java | 38 +++ .../db_beans/public_/routines/UuidNsOid.java | 38 +++ .../db_beans/public_/routines/UuidNsUrl.java | 38 +++ .../db_beans/public_/routines/UuidNsX500.java | 38 +++ .../db_beans/public_/tables/Files.java | 239 +++++++++++++++ .../public_/tables/InteractionLog.java | 15 +- .../public_/tables/records/FilesRecord.java | 109 +++++++ .../tables/records/InteractionLogRecord.java | 67 ++-- 18 files changed, 1166 insertions(+), 31 deletions(-) create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Routines.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1mc.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV3.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV4.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV5.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNil.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsDns.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsOid.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsUrl.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsX500.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/Files.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/FilesRecord.java diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java index bd83c472..1abaa0eb 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java @@ -4,8 +4,10 @@ package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.FilesRecord; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.InteractionLogRecord; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.OrgOkvedRecord; @@ -26,6 +28,7 @@ public class Keys { // UNIQUE and PRIMARY KEY definitions // ------------------------------------------------------------------------- + public static final UniqueKey FILES_PKEY = Internal.createUniqueKey(Files.FILES, DSL.name("files_pkey"), new TableField[] { Files.FILES.FILE_ID }, true); public static final UniqueKey INTERACTION_LOG_PKEY = Internal.createUniqueKey(InteractionLog.INTERACTION_LOG, DSL.name("interaction_log_pkey"), new TableField[] { InteractionLog.INTERACTION_LOG.ID }, true); public static final UniqueKey ORG_OKVED_PKEY = Internal.createUniqueKey(OrgOkved.ORG_OKVED, DSL.name("org_okved_pkey"), new TableField[] { OrgOkved.ORG_OKVED.ID }, true); } diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java index 5da7ba83..70477546 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java @@ -5,6 +5,7 @@ package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.DefaultCatalog; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved; @@ -29,6 +30,11 @@ public class Public extends SchemaImpl { */ public static final Public PUBLIC = new Public(); + /** + * The table public.files. + */ + public final Files FILES = Files.FILES; + /** * The table public.interaction_log. */ @@ -55,6 +61,7 @@ public class Public extends SchemaImpl { @Override public final List> getTables() { return Arrays.asList( + Files.FILES, InteractionLog.INTERACTION_LOG, OrgOkved.ORG_OKVED ); diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Routines.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Routines.java new file mode 100644 index 00000000..97982c5c --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Routines.java @@ -0,0 +1,285 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV1; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV1mc; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV3; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV4; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidGenerateV5; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNil; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsDns; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsOid; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsUrl; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines.UuidNsX500; + +import java.util.UUID; + +import org.jooq.Configuration; +import org.jooq.Field; + + +/** + * Convenience access to all stored procedures and functions in public. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Routines { + + /** + * Call public.uuid_generate_v1 + */ + public static UUID uuidGenerateV1( + Configuration configuration + ) { + UuidGenerateV1 f = new UuidGenerateV1(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_generate_v1 as a field. + */ + public static Field uuidGenerateV1() { + UuidGenerateV1 f = new UuidGenerateV1(); + + return f.asField(); + } + + /** + * Call public.uuid_generate_v1mc + */ + public static UUID uuidGenerateV1mc( + Configuration configuration + ) { + UuidGenerateV1mc f = new UuidGenerateV1mc(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_generate_v1mc as a field. + */ + public static Field uuidGenerateV1mc() { + UuidGenerateV1mc f = new UuidGenerateV1mc(); + + return f.asField(); + } + + /** + * Call public.uuid_generate_v3 + */ + public static UUID uuidGenerateV3( + Configuration configuration + , UUID namespace + , String name + ) { + UuidGenerateV3 f = new UuidGenerateV3(); + f.setNamespace(namespace); + f.setName_(name); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_generate_v3 as a field. + */ + public static Field uuidGenerateV3( + UUID namespace + , String name + ) { + UuidGenerateV3 f = new UuidGenerateV3(); + f.setNamespace(namespace); + f.setName_(name); + + return f.asField(); + } + + /** + * Get public.uuid_generate_v3 as a field. + */ + public static Field uuidGenerateV3( + Field namespace + , Field name + ) { + UuidGenerateV3 f = new UuidGenerateV3(); + f.setNamespace(namespace); + f.setName_(name); + + return f.asField(); + } + + /** + * Call public.uuid_generate_v4 + */ + public static UUID uuidGenerateV4( + Configuration configuration + ) { + UuidGenerateV4 f = new UuidGenerateV4(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_generate_v4 as a field. + */ + public static Field uuidGenerateV4() { + UuidGenerateV4 f = new UuidGenerateV4(); + + return f.asField(); + } + + /** + * Call public.uuid_generate_v5 + */ + public static UUID uuidGenerateV5( + Configuration configuration + , UUID namespace + , String name + ) { + UuidGenerateV5 f = new UuidGenerateV5(); + f.setNamespace(namespace); + f.setName_(name); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_generate_v5 as a field. + */ + public static Field uuidGenerateV5( + UUID namespace + , String name + ) { + UuidGenerateV5 f = new UuidGenerateV5(); + f.setNamespace(namespace); + f.setName_(name); + + return f.asField(); + } + + /** + * Get public.uuid_generate_v5 as a field. + */ + public static Field uuidGenerateV5( + Field namespace + , Field name + ) { + UuidGenerateV5 f = new UuidGenerateV5(); + f.setNamespace(namespace); + f.setName_(name); + + return f.asField(); + } + + /** + * Call public.uuid_nil + */ + public static UUID uuidNil( + Configuration configuration + ) { + UuidNil f = new UuidNil(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_nil as a field. + */ + public static Field uuidNil() { + UuidNil f = new UuidNil(); + + return f.asField(); + } + + /** + * Call public.uuid_ns_dns + */ + public static UUID uuidNsDns( + Configuration configuration + ) { + UuidNsDns f = new UuidNsDns(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_ns_dns as a field. + */ + public static Field uuidNsDns() { + UuidNsDns f = new UuidNsDns(); + + return f.asField(); + } + + /** + * Call public.uuid_ns_oid + */ + public static UUID uuidNsOid( + Configuration configuration + ) { + UuidNsOid f = new UuidNsOid(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_ns_oid as a field. + */ + public static Field uuidNsOid() { + UuidNsOid f = new UuidNsOid(); + + return f.asField(); + } + + /** + * Call public.uuid_ns_url + */ + public static UUID uuidNsUrl( + Configuration configuration + ) { + UuidNsUrl f = new UuidNsUrl(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_ns_url as a field. + */ + public static Field uuidNsUrl() { + UuidNsUrl f = new UuidNsUrl(); + + return f.asField(); + } + + /** + * Call public.uuid_ns_x500 + */ + public static UUID uuidNsX500( + Configuration configuration + ) { + UuidNsX500 f = new UuidNsX500(); + + f.execute(configuration); + return f.getReturnValue(); + } + + /** + * Get public.uuid_ns_x500 as a field. + */ + public static Field uuidNsX500() { + UuidNsX500 f = new UuidNsX500(); + + return f.asField(); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java index 9b2926fd..4377ef0c 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java @@ -4,6 +4,7 @@ package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved; @@ -14,6 +15,11 @@ import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Tables { + /** + * The table public.files. + */ + public static final Files FILES = Files.FILES; + /** * The table public.interaction_log. */ diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1.java new file mode 100644 index 00000000..ab81af12 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidGenerateV1 extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_generate_v1.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidGenerateV1() { + super("uuid_generate_v1", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1mc.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1mc.java new file mode 100644 index 00000000..0e38a803 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV1mc.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidGenerateV1mc extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_generate_v1mc.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidGenerateV1mc() { + super("uuid_generate_v1mc", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV3.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV3.java new file mode 100644 index 00000000..62fd1b52 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV3.java @@ -0,0 +1,81 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Field; +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidGenerateV3 extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_generate_v3.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * The parameter public.uuid_generate_v3.namespace. + */ + public static final Parameter NAMESPACE = Internal.createParameter("namespace", SQLDataType.UUID, false, false); + + /** + * The parameter public.uuid_generate_v3.name. + */ + public static final Parameter NAME = Internal.createParameter("name", SQLDataType.CLOB, false, false); + + /** + * Create a new routine call instance + */ + public UuidGenerateV3() { + super("uuid_generate_v3", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + addInParameter(NAMESPACE); + addInParameter(NAME); + } + + /** + * Set the namespace parameter IN value to the routine + */ + public void setNamespace(UUID value) { + setValue(NAMESPACE, value); + } + + /** + * Set the namespace parameter to the function to be used with + * a {@link org.jooq.Select} statement + */ + public void setNamespace(Field field) { + setField(NAMESPACE, field); + } + + /** + * Set the name parameter IN value to the routine + */ + public void setName_(String value) { + setValue(NAME, value); + } + + /** + * Set the name parameter to the function to be used with a + * {@link org.jooq.Select} statement + */ + public void setName_(Field field) { + setField(NAME, field); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV4.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV4.java new file mode 100644 index 00000000..c64a6de3 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV4.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidGenerateV4 extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_generate_v4.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidGenerateV4() { + super("uuid_generate_v4", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV5.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV5.java new file mode 100644 index 00000000..c55a4499 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidGenerateV5.java @@ -0,0 +1,81 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Field; +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidGenerateV5 extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_generate_v5.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * The parameter public.uuid_generate_v5.namespace. + */ + public static final Parameter NAMESPACE = Internal.createParameter("namespace", SQLDataType.UUID, false, false); + + /** + * The parameter public.uuid_generate_v5.name. + */ + public static final Parameter NAME = Internal.createParameter("name", SQLDataType.CLOB, false, false); + + /** + * Create a new routine call instance + */ + public UuidGenerateV5() { + super("uuid_generate_v5", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + addInParameter(NAMESPACE); + addInParameter(NAME); + } + + /** + * Set the namespace parameter IN value to the routine + */ + public void setNamespace(UUID value) { + setValue(NAMESPACE, value); + } + + /** + * Set the namespace parameter to the function to be used with + * a {@link org.jooq.Select} statement + */ + public void setNamespace(Field field) { + setField(NAMESPACE, field); + } + + /** + * Set the name parameter IN value to the routine + */ + public void setName_(String value) { + setValue(NAME, value); + } + + /** + * Set the name parameter to the function to be used with a + * {@link org.jooq.Select} statement + */ + public void setName_(Field field) { + setField(NAME, field); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNil.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNil.java new file mode 100644 index 00000000..436ce4ec --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNil.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidNil extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_nil.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidNil() { + super("uuid_nil", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsDns.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsDns.java new file mode 100644 index 00000000..c94a3cc7 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsDns.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidNsDns extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_ns_dns.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidNsDns() { + super("uuid_ns_dns", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsOid.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsOid.java new file mode 100644 index 00000000..e901b279 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsOid.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidNsOid extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_ns_oid.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidNsOid() { + super("uuid_ns_oid", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsUrl.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsUrl.java new file mode 100644 index 00000000..4c2b21ef --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsUrl.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidNsUrl extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_ns_url.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidNsUrl() { + super("uuid_ns_url", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsX500.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsX500.java new file mode 100644 index 00000000..7dfd358a --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/routines/UuidNsX500.java @@ -0,0 +1,38 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.routines; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; + +import java.util.UUID; + +import org.jooq.Parameter; +import org.jooq.impl.AbstractRoutine; +import org.jooq.impl.Internal; +import org.jooq.impl.SQLDataType; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class UuidNsX500 extends AbstractRoutine { + + private static final long serialVersionUID = 1L; + + /** + * The parameter public.uuid_ns_x500.RETURN_VALUE. + */ + public static final Parameter RETURN_VALUE = Internal.createParameter("RETURN_VALUE", SQLDataType.UUID, false, false); + + /** + * Create a new routine call instance + */ + public UuidNsX500() { + super("uuid_ns_x500", Public.PUBLIC, SQLDataType.UUID); + + setReturnParameter(RETURN_VALUE); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/Files.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/Files.java new file mode 100644 index 00000000..50a0e23a --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/Files.java @@ -0,0 +1,239 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Keys; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.FilesRecord; + +import java.util.Collection; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.Identity; +import org.jooq.Name; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.SQL; +import org.jooq.Schema; +import org.jooq.Select; +import org.jooq.Stringly; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Files extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.files + */ + public static final Files FILES = new Files(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return FilesRecord.class; + } + + /** + * The column public.files.file_id. + */ + public final TableField FILE_ID = createField(DSL.name("file_id"), SQLDataType.BIGINT.nullable(false).identity(true), this, ""); + + /** + * The column public.files.file. + */ + public final TableField FILE = createField(DSL.name("file"), SQLDataType.BLOB, this, ""); + + /** + * The column public.files.file_name. + */ + public final TableField FILE_NAME = createField(DSL.name("file_name"), SQLDataType.VARCHAR(10000), this, ""); + + /** + * The column public.files.interaction_log_id. + */ + public final TableField INTERACTION_LOG_ID = createField(DSL.name("interaction_log_id"), SQLDataType.BIGINT, this, ""); + + private Files(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private Files(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased public.files table reference + */ + public Files(String alias) { + this(DSL.name(alias), FILES); + } + + /** + * Create an aliased public.files table reference + */ + public Files(Name alias) { + this(alias, FILES); + } + + /** + * Create a public.files table reference + */ + public Files() { + this(DSL.name("files"), null); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public Identity getIdentity() { + return (Identity) super.getIdentity(); + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.FILES_PKEY; + } + + @Override + public Files as(String alias) { + return new Files(DSL.name(alias), this); + } + + @Override + public Files as(Name alias) { + return new Files(alias, this); + } + + @Override + public Files as(Table alias) { + return new Files(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public Files rename(String name) { + return new Files(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public Files rename(Name name) { + return new Files(name, null); + } + + /** + * Rename this table + */ + @Override + public Files rename(Table name) { + return new Files(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Files where(Condition condition) { + return new Files(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Files where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Files where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Files where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Files where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Files where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Files where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public Files where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Files whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public Files whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java index cba66658..865369f6 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java @@ -61,11 +61,6 @@ public class InteractionLog extends TableImpl { */ public final TableField SENT_DATE = createField(DSL.name("sent_date"), SQLDataType.TIMESTAMP(0), this, ""); - /** - * The column public.interaction_log.file_name. - */ - public final TableField FILE_NAME = createField(DSL.name("file_name"), SQLDataType.CLOB, this, ""); - /** * The column public.interaction_log.form. */ @@ -91,6 +86,16 @@ public class InteractionLog extends TableImpl { */ public final TableField RECORDS_ACCEPTED = createField(DSL.name("records_accepted"), SQLDataType.INTEGER, this, ""); + /** + * The column public.interaction_log.file_name. + */ + public final TableField FILE_NAME = createField(DSL.name("file_name"), SQLDataType.CLOB, this, ""); + + /** + * The column public.interaction_log.file_id. + */ + public final TableField FILE_ID = createField(DSL.name("file_id"), SQLDataType.VARCHAR(36), this, ""); + private InteractionLog(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); } diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/FilesRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/FilesRecord.java new file mode 100644 index 00000000..504b1ec2 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/FilesRecord.java @@ -0,0 +1,109 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files; + +import org.jooq.Record1; +import org.jooq.impl.UpdatableRecordImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class FilesRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.files.file_id. + */ + public void setFileId(Long value) { + set(0, value); + } + + /** + * Getter for public.files.file_id. + */ + public Long getFileId() { + return (Long) get(0); + } + + /** + * Setter for public.files.file. + */ + public void setFile(byte[] value) { + set(1, value); + } + + /** + * Getter for public.files.file. + */ + public byte[] getFile() { + return (byte[]) get(1); + } + + /** + * Setter for public.files.file_name. + */ + public void setFileName(String value) { + set(2, value); + } + + /** + * Getter for public.files.file_name. + */ + public String getFileName() { + return (String) get(2); + } + + /** + * Setter for public.files.interaction_log_id. + */ + public void setInteractionLogId(Long value) { + set(3, value); + } + + /** + * Getter for public.files.interaction_log_id. + */ + public Long getInteractionLogId() { + return (Long) get(3); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached FilesRecord + */ + public FilesRecord() { + super(Files.FILES); + } + + /** + * Create a detached, initialised FilesRecord + */ + public FilesRecord(Long fileId, byte[] file, String fileName, Long interactionLogId) { + super(Files.FILES); + + setFileId(fileId); + setFile(file); + setFileName(fileName); + setInteractionLogId(interactionLogId); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java index b6c2f853..1b306320 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java @@ -48,88 +48,102 @@ public class InteractionLogRecord extends UpdatableRecordImplpublic.interaction_log.file_name. - */ - public void setFileName(String value) { - set(2, value); - } - - /** - * Getter for public.interaction_log.file_name. - */ - public String getFileName() { - return (String) get(2); - } - /** * Setter for public.interaction_log.form. */ public void setForm(String value) { - set(3, value); + set(2, value); } /** * Getter for public.interaction_log.form. */ public String getForm() { - return (String) get(3); + return (String) get(2); } /** * Setter for public.interaction_log.sender. */ public void setSender(String value) { - set(4, value); + set(3, value); } /** * Getter for public.interaction_log.sender. */ public String getSender() { - return (String) get(4); + return (String) get(3); } /** * Setter for public.interaction_log.status. */ public void setStatus(String value) { - set(5, value); + set(4, value); } /** * Getter for public.interaction_log.status. */ public String getStatus() { - return (String) get(5); + return (String) get(4); } /** * Setter for public.interaction_log.records_sent. */ public void setRecordsSent(Integer value) { - set(6, value); + set(5, value); } /** * Getter for public.interaction_log.records_sent. */ public Integer getRecordsSent() { - return (Integer) get(6); + return (Integer) get(5); } /** * Setter for public.interaction_log.records_accepted. */ public void setRecordsAccepted(Integer value) { - set(7, value); + set(6, value); } /** * Getter for public.interaction_log.records_accepted. */ public Integer getRecordsAccepted() { - return (Integer) get(7); + return (Integer) get(6); + } + + /** + * Setter for public.interaction_log.file_name. + */ + public void setFileName(String value) { + set(7, value); + } + + /** + * Getter for public.interaction_log.file_name. + */ + public String getFileName() { + return (String) get(7); + } + + /** + * Setter for public.interaction_log.file_id. + */ + public void setFileId(String value) { + set(8, value); + } + + /** + * Getter for public.interaction_log.file_id. + */ + public String getFileId() { + return (String) get(8); } // ------------------------------------------------------------------------- @@ -155,17 +169,18 @@ public class InteractionLogRecord extends UpdatableRecordImpl Date: Thu, 12 Sep 2024 10:55:29 +0300 Subject: [PATCH 07/11] SUPPORT-8470: Fix --- .../v_1.0/2024-09-11--01-add-new-column-interaction-log.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml b/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml index 0909ad6a..f2d55aff 100644 --- a/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml +++ b/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml @@ -7,9 +7,7 @@ add file id column into interaction_log table - - - + \ No newline at end of file From 3874dba901a394cba78b3a1fd005aa023d6167f6 Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Thu, 12 Sep 2024 13:32:39 +0300 Subject: [PATCH 08/11] SUPPORT-8470: Fix --- config/patches/default.cli | 12 ++++++------ config/standalone/dev/standalone.xml | 11 ++++++----- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/config/patches/default.cli b/config/patches/default.cli index 20abc7f3..5e8c5197 100644 --- a/config/patches/default.cli +++ b/config/patches/default.cli @@ -31,12 +31,12 @@ xa-data-source add \ /system-property=file.webdav.upload.url:add(value="https://ervu-webdav.k8s.micord.ru") /system-property=file.webdav.upload.username:add(value="test") /system-property=file.webdav.upload.password:add(value="test") -/system-property=kafka.send.message.topic.name:add(value="file-upload-v2") -/system-property=kafka.send.url:add(value="http://10.10.31.11:32609") -/system-property=kafka.send.security.protocol:add(value="SASL_PLAINTEXT") -/system-property=kafka.sasl.mechanism:add(value="SCRAM-SHA-256") -/system-property=kafka.send.username:add(value="user1") -/system-property=kafka.send.password:add(value="Blfi9d2OFG") +/system-property=av-kafka.send.message.topic.name:add(value="ervu.lkrp.download.request") +/system-property=av-kafka.send.url:add(value="http://10.10.31.11:32609") +/system-property=av-kafka.send.security.protocol:add(value="SASL_PLAINTEXT") +/system-property=av-kafka.sasl.mechanism:add(value="SCRAM-SHA-256") +/system-property=av-kafka.send.username:add(value="user1") +/system-property=av-kafka.send.password:add(value="Blfi9d2OFG") /system-property=ervu.fileupload.max_file_size:add(value="5242880") /system-property=ervu.fileupload.max_request_size:add(value="6291456") /system-property=ervu.fileupload.file_size_threshold:add(value="0") diff --git a/config/standalone/dev/standalone.xml b/config/standalone/dev/standalone.xml index 7170d37b..38169d69 100644 --- a/config/standalone/dev/standalone.xml +++ b/config/standalone/dev/standalone.xml @@ -57,11 +57,12 @@ - - - - - + + + + + + From 2a4e3bea710d56f9cb8c45094219736c87b7c1e9 Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Fri, 13 Sep 2024 10:19:27 +0300 Subject: [PATCH 09/11] SUPPORT-8470: Fix --- config/tomcat/tomee/conf/webbpm.properties | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/tomcat/tomee/conf/webbpm.properties b/config/tomcat/tomee/conf/webbpm.properties index d80384e1..d5783d81 100644 --- a/config/tomcat/tomee/conf/webbpm.properties +++ b/config/tomcat/tomee/conf/webbpm.properties @@ -18,12 +18,12 @@ webbpm.cache.hazelcast.outbound_port_definitions=5801-5820 file.webdav.upload.url=https://ervu-webdav.k8s.micord.ru file.webdav.upload.username=test file.webdav.upload.password=test -kafka.send.message.topic.name=file-upload-v2 -kafka.send.url=http://10.10.31.11:32609 -kafka.send.security.protocol=SASL_PLAINTEXT -kafka.sasl.mechanism=SCRAM-SHA-256 -kafka.send.username=user1 -kafka.send.password=Blfi9d2OFG +av-kafka.send.message.topic.name=file-upload-v2 +av-kafka.send.url=http://10.10.31.11:32609 +av-kafka.send.security.protocol=SASL_PLAINTEXT +av-kafka.sasl.mechanism=SCRAM-SHA-256 +av-kafka.send.username=user1 +av-kafka.send.password=Blfi9d2OFG ervu.fileupload.max_file_size=5242880 ervu.fileupload.max_request_size=6291456 ervu.fileupload.file_size_threshold=0 From a494f4355585d6afcf5003ab801142aec3b693a8 Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Fri, 13 Sep 2024 12:16:11 +0300 Subject: [PATCH 10/11] SUPPORT-8470: Add ervuId --- .../fileupload/EmployeeInfoFileUploadService.java | 11 +++++++++-- .../java/ru/micord/ervu/service/StatusService.java | 2 +- .../ru/micord/ervu/service/StatusServiceImpl.java | 5 +++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java index e2b011f6..c6909173 100644 --- a/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java +++ b/backend/src/main/java/ervu/service/fileupload/EmployeeInfoFileUploadService.java @@ -23,6 +23,8 @@ import org.springframework.web.multipart.MultipartFile; import ru.micord.ervu.security.esia.model.EmployeeModel; import ru.micord.ervu.security.esia.model.PersonModel; import ru.micord.ervu.security.esia.service.UlDataService; +import ru.micord.ervu.security.webbpm.jwt.model.Token; +import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService; import ru.micord.ervu.service.StatusService; /** @@ -38,6 +40,7 @@ public class EmployeeInfoFileUploadService { private final KafkaTemplate kafkaTemplate; private final StatusService statusService; private final UlDataService ulDataService; + private final JwtTokenService jwtTokenService; @Value("${av-kafka.send.message.topic.name:employee-files}") private String kafkaTopicName; @@ -52,12 +55,13 @@ public class EmployeeInfoFileUploadService { FileUploadWebDavClient fileWebDavUploadClient, EmployeeInfoKafkaMessageService employeeInfoKafkaMessageService, @Qualifier("av-template") KafkaTemplate kafkaTemplate, StatusService statusService, - UlDataService ulDataService) { + UlDataService ulDataService, JwtTokenService jwtTokenService) { this.fileWebDavUploadClient = fileWebDavUploadClient; this.employeeInfoKafkaMessageService = employeeInfoKafkaMessageService; this.kafkaTemplate = kafkaTemplate; this.statusService = statusService; this.ulDataService = ulDataService; + this.jwtTokenService = jwtTokenService; } public boolean saveEmployeeInformationFile(MultipartFile multipartFile, String formType, @@ -87,8 +91,11 @@ public class EmployeeInfoFileUploadService { ); EmployeeModel employeeModel = ulDataService.getEmployeeModel(accessToken); PersonModel personModel = employeeModel.getPerson(); + Token token = jwtTokenService.getToken(authToken); + String[] ids = token.getUserAccountId().split(":"); statusService.setStatus(fileId, fileStatus.getStatus(), fileName, employeeInfoFileFormType.getFilePatternName(), Timestamp.valueOf(now), - personModel.getLastName() + " " + personModel.getFirstName().charAt(0) + ". " + personModel.getMiddleName().charAt(0) + ".", (int) multipartFile.getSize()); + personModel.getLastName() + " " + personModel.getFirstName().charAt(0) + ". " + personModel.getMiddleName().charAt(0) + ".", (int) multipartFile.getSize(), + ids[1]); return sendMessage(jsonMessage); } else { diff --git a/backend/src/main/java/ru/micord/ervu/service/StatusService.java b/backend/src/main/java/ru/micord/ervu/service/StatusService.java index 7e3f8765..cdc31f5d 100644 --- a/backend/src/main/java/ru/micord/ervu/service/StatusService.java +++ b/backend/src/main/java/ru/micord/ervu/service/StatusService.java @@ -7,5 +7,5 @@ import java.sql.Timestamp; */ public interface StatusService { - void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender, Integer count); + void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender, Integer count, String ervuId); } diff --git a/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java b/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java index 2225f233..4d7ba6b1 100644 --- a/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java +++ b/backend/src/main/java/ru/micord/ervu/service/StatusServiceImpl.java @@ -18,7 +18,7 @@ public class StatusServiceImpl implements StatusService { private DSLContext dslContext; public void setStatus(String fileId, String status, String fileName, String form, Timestamp timestamp, String sender, - Integer count) { + Integer count, String ervuId) { dslContext.insertInto(INTERACTION_LOG) .set(INTERACTION_LOG.FILE_ID, fileId) .set(INTERACTION_LOG.STATUS, status) @@ -26,6 +26,7 @@ public class StatusServiceImpl implements StatusService { .set(INTERACTION_LOG.SENT_DATE, timestamp) .set(INTERACTION_LOG.SENDER, sender) .set(INTERACTION_LOG.FILE_NAME, fileName) - .set(INTERACTION_LOG.RECORDS_SENT, count); + .set(INTERACTION_LOG.RECORDS_SENT, count) + .set(INTERACTION_LOG.ERVU_ID, ervuId); } } From c6b9815947eb76e65d7a49d0337dbc7b11df1f5c Mon Sep 17 00:00:00 2001 From: Eduard Tihomirov Date: Fri, 13 Sep 2024 12:16:30 +0300 Subject: [PATCH 11/11] SUPPORT-8470: Fix --- .../ervu_lkrp_ul/db_beans/public_/Keys.java | 4 + .../ervu_lkrp_ul/db_beans/public_/Public.java | 7 + .../ervu_lkrp_ul/db_beans/public_/Tables.java | 6 + .../public_/tables/InteractionLog.java | 5 + .../db_beans/public_/tables/OkopfRecords.java | 235 ++++++++++++++++++ .../tables/records/InteractionLogRecord.java | 17 +- .../tables/records/OkopfRecordsRecord.java | 94 +++++++ ...-11--01-add-new-column-interaction-log.xml | 7 + 8 files changed, 374 insertions(+), 1 deletion(-) create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/OkopfRecords.java create mode 100644 backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/OkopfRecordsRecord.java diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java index 1abaa0eb..2b603494 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Keys.java @@ -6,9 +6,11 @@ package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OkopfRecords; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.FilesRecord; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.InteractionLogRecord; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.OkopfRecordsRecord; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.OrgOkvedRecord; import org.jooq.TableField; @@ -30,5 +32,7 @@ public class Keys { public static final UniqueKey FILES_PKEY = Internal.createUniqueKey(Files.FILES, DSL.name("files_pkey"), new TableField[] { Files.FILES.FILE_ID }, true); public static final UniqueKey INTERACTION_LOG_PKEY = Internal.createUniqueKey(InteractionLog.INTERACTION_LOG, DSL.name("interaction_log_pkey"), new TableField[] { InteractionLog.INTERACTION_LOG.ID }, true); + public static final UniqueKey OKOPF_RECORDS_NAME_KEY = Internal.createUniqueKey(OkopfRecords.OKOPF_RECORDS, DSL.name("okopf_records_name_key"), new TableField[] { OkopfRecords.OKOPF_RECORDS.NAME }, true); + public static final UniqueKey OKOPF_RECORDS_PKEY = Internal.createUniqueKey(OkopfRecords.OKOPF_RECORDS, DSL.name("okopf_records_pkey"), new TableField[] { OkopfRecords.OKOPF_RECORDS.OKOPF_RECORDS_ID }, true); public static final UniqueKey ORG_OKVED_PKEY = Internal.createUniqueKey(OrgOkved.ORG_OKVED, DSL.name("org_okved_pkey"), new TableField[] { OrgOkved.ORG_OKVED.ID }, true); } diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java index 70477546..fe090649 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Public.java @@ -7,6 +7,7 @@ package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.DefaultCatalog; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OkopfRecords; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved; import java.util.Arrays; @@ -40,6 +41,11 @@ public class Public extends SchemaImpl { */ public final InteractionLog INTERACTION_LOG = InteractionLog.INTERACTION_LOG; + /** + * The table public.okopf_records. + */ + public final OkopfRecords OKOPF_RECORDS = OkopfRecords.OKOPF_RECORDS; + /** * The table public.org_okved. */ @@ -63,6 +69,7 @@ public class Public extends SchemaImpl { return Arrays.asList( Files.FILES, InteractionLog.INTERACTION_LOG, + OkopfRecords.OKOPF_RECORDS, OrgOkved.ORG_OKVED ); } diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java index 4377ef0c..0f51d8da 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/Tables.java @@ -6,6 +6,7 @@ package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.Files; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.InteractionLog; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OkopfRecords; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.OrgOkved; @@ -25,6 +26,11 @@ public class Tables { */ public static final InteractionLog INTERACTION_LOG = InteractionLog.INTERACTION_LOG; + /** + * The table public.okopf_records. + */ + public static final OkopfRecords OKOPF_RECORDS = OkopfRecords.OKOPF_RECORDS; + /** * The table public.org_okved. */ diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java index 865369f6..68d8ac43 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/InteractionLog.java @@ -96,6 +96,11 @@ public class InteractionLog extends TableImpl { */ public final TableField FILE_ID = createField(DSL.name("file_id"), SQLDataType.VARCHAR(36), this, ""); + /** + * The column public.interaction_log.ervu_id. + */ + public final TableField ERVU_ID = createField(DSL.name("ervu_id"), SQLDataType.VARCHAR(36), this, ""); + private InteractionLog(Name alias, Table aliased) { this(alias, aliased, (Field[]) null, null); } diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/OkopfRecords.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/OkopfRecords.java new file mode 100644 index 00000000..67e06a92 --- /dev/null +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/OkopfRecords.java @@ -0,0 +1,235 @@ +/* + * This file is generated by jOOQ. + */ +package ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables; + + +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Keys; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.Public; +import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.OkopfRecordsRecord; + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import org.jooq.Condition; +import org.jooq.Field; +import org.jooq.Name; +import org.jooq.PlainSQL; +import org.jooq.QueryPart; +import org.jooq.SQL; +import org.jooq.Schema; +import org.jooq.Select; +import org.jooq.Stringly; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.TableOptions; +import org.jooq.UniqueKey; +import org.jooq.impl.DSL; +import org.jooq.impl.SQLDataType; +import org.jooq.impl.TableImpl; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class OkopfRecords extends TableImpl { + + private static final long serialVersionUID = 1L; + + /** + * The reference instance of public.okopf_records + */ + public static final OkopfRecords OKOPF_RECORDS = new OkopfRecords(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return OkopfRecordsRecord.class; + } + + /** + * The column public.okopf_records.okopf_records_id. + */ + public final TableField OKOPF_RECORDS_ID = createField(DSL.name("okopf_records_id"), SQLDataType.VARCHAR.nullable(false), this, ""); + + /** + * The column public.okopf_records.name. + */ + public final TableField NAME = createField(DSL.name("name"), SQLDataType.VARCHAR, this, ""); + + /** + * The column public.okopf_records.version. + */ + public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, ""); + + private OkopfRecords(Name alias, Table aliased) { + this(alias, aliased, (Field[]) null, null); + } + + private OkopfRecords(Name alias, Table aliased, Field[] parameters, Condition where) { + super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); + } + + /** + * Create an aliased public.okopf_records table reference + */ + public OkopfRecords(String alias) { + this(DSL.name(alias), OKOPF_RECORDS); + } + + /** + * Create an aliased public.okopf_records table reference + */ + public OkopfRecords(Name alias) { + this(alias, OKOPF_RECORDS); + } + + /** + * Create a public.okopf_records table reference + */ + public OkopfRecords() { + this(DSL.name("okopf_records"), null); + } + + @Override + public Schema getSchema() { + return aliased() ? null : Public.PUBLIC; + } + + @Override + public UniqueKey getPrimaryKey() { + return Keys.OKOPF_RECORDS_PKEY; + } + + @Override + public List> getUniqueKeys() { + return Arrays.asList(Keys.OKOPF_RECORDS_NAME_KEY); + } + + @Override + public OkopfRecords as(String alias) { + return new OkopfRecords(DSL.name(alias), this); + } + + @Override + public OkopfRecords as(Name alias) { + return new OkopfRecords(alias, this); + } + + @Override + public OkopfRecords as(Table alias) { + return new OkopfRecords(alias.getQualifiedName(), this); + } + + /** + * Rename this table + */ + @Override + public OkopfRecords rename(String name) { + return new OkopfRecords(DSL.name(name), null); + } + + /** + * Rename this table + */ + @Override + public OkopfRecords rename(Name name) { + return new OkopfRecords(name, null); + } + + /** + * Rename this table + */ + @Override + public OkopfRecords rename(Table name) { + return new OkopfRecords(name.getQualifiedName(), null); + } + + /** + * Create an inline derived table from this table + */ + @Override + public OkopfRecords where(Condition condition) { + return new OkopfRecords(getQualifiedName(), aliased() ? this : null, null, condition); + } + + /** + * Create an inline derived table from this table + */ + @Override + public OkopfRecords where(Collection conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public OkopfRecords where(Condition... conditions) { + return where(DSL.and(conditions)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public OkopfRecords where(Field condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public OkopfRecords where(SQL condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public OkopfRecords where(@Stringly.SQL String condition) { + return where(DSL.condition(condition)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public OkopfRecords where(@Stringly.SQL String condition, Object... binds) { + return where(DSL.condition(condition, binds)); + } + + /** + * Create an inline derived table from this table + */ + @Override + @PlainSQL + public OkopfRecords where(@Stringly.SQL String condition, QueryPart... parts) { + return where(DSL.condition(condition, parts)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public OkopfRecords whereExists(Select select) { + return where(DSL.exists(select)); + } + + /** + * Create an inline derived table from this table + */ + @Override + public OkopfRecords whereNotExists(Select select) { + return where(DSL.notExists(select)); + } +} diff --git a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java index 1b306320..10553186 100644 --- a/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java +++ b/backend/src/main/java/ervu_lkrp_ul/ervu_lkrp_ul/db_beans/public_/tables/records/InteractionLogRecord.java @@ -146,6 +146,20 @@ public class InteractionLogRecord extends UpdatableRecordImplpublic.interaction_log.ervu_id. + */ + public void setErvuId(String value) { + set(9, value); + } + + /** + * Getter for public.interaction_log.ervu_id. + */ + public String getErvuId() { + return (String) get(9); + } + // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -169,7 +183,7 @@ public class InteractionLogRecord extends UpdatableRecordImpl { + + private static final long serialVersionUID = 1L; + + /** + * Setter for public.okopf_records.okopf_records_id. + */ + public void setOkopfRecordsId(String value) { + set(0, value); + } + + /** + * Getter for public.okopf_records.okopf_records_id. + */ + public String getOkopfRecordsId() { + return (String) get(0); + } + + /** + * Setter for public.okopf_records.name. + */ + public void setName(String value) { + set(1, value); + } + + /** + * Getter for public.okopf_records.name. + */ + public String getName() { + return (String) get(1); + } + + /** + * Setter for public.okopf_records.version. + */ + public void setVersion(Integer value) { + set(2, value); + } + + /** + * Getter for public.okopf_records.version. + */ + public Integer getVersion() { + return (Integer) get(2); + } + + // ------------------------------------------------------------------------- + // Primary key information + // ------------------------------------------------------------------------- + + @Override + public Record1 key() { + return (Record1) super.key(); + } + + // ------------------------------------------------------------------------- + // Constructors + // ------------------------------------------------------------------------- + + /** + * Create a detached OkopfRecordsRecord + */ + public OkopfRecordsRecord() { + super(OkopfRecords.OKOPF_RECORDS); + } + + /** + * Create a detached, initialised OkopfRecordsRecord + */ + public OkopfRecordsRecord(String okopfRecordsId, String name, Integer version) { + super(OkopfRecords.OKOPF_RECORDS); + + setOkopfRecordsId(okopfRecordsId); + setName(name); + setVersion(version); + resetChangedOnNotNull(); + } +} diff --git a/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml b/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml index f2d55aff..95fa184c 100644 --- a/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml +++ b/backend/src/main/resources/config/v_1.0/2024-09-11--01-add-new-column-interaction-log.xml @@ -10,4 +10,11 @@ + + + add ervu id column into interaction_log table + + + + \ No newline at end of file