build: update version parent

This commit is contained in:
Petr Rudichev 2025-02-19 10:22:26 +03:00
parent e78afd10e2
commit ca803cdcf7
11 changed files with 77 additions and 31 deletions

View File

@ -22,7 +22,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.0</version>
<version>2.7.10</version>
</parent>
<dependencies>

View File

@ -1,9 +1,6 @@
package com.example.nto.domain.entity;
import jakarta.persistence.*;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -12,8 +9,11 @@ import org.springframework.data.annotation.CreatedDate;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import javax.persistence.*;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -62,9 +62,9 @@ public class Employee implements UserDetails {
@Size(max = 300, message = "Максимальная длина пароля 300 символов!")
private String password;
// @ManyToOne(fetch = FetchType.EAGER)
// @JoinColumn(name = "office_id", referencedColumnName = "id", nullable = false)
// private Office office;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "office_id", referencedColumnName = "id", nullable = false)
private Office office;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "pos_id", referencedColumnName = "id", nullable = false)
@ -78,12 +78,15 @@ public class Employee implements UserDetails {
@Size(max = 300, message = "Максимальная длина адреса изображения 300 символов!")
private String profileImageUrl;
@Column(name = "is_blocked")
private boolean isBlocked;
@CreatedDate
@Column(name = "created_at", columnDefinition = "TIMESTAMP", nullable = false)
private LocalDateTime createdAt;
// @OneToMany(mappedBy = "employee")
// private List<Visit> visits = new ArrayList<>();
@OneToMany(mappedBy = "employee")
private List<Visit> visits;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
@ -92,7 +95,7 @@ public class Employee implements UserDetails {
@Override
public String getPassword() {
return "";
return this.password;
}
@Override

View File

@ -1,15 +1,16 @@
package com.example.nto.domain.entity;
import jakarta.persistence.*;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
@Data

View File

@ -0,0 +1,32 @@
package com.example.nto.domain.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;
@Data
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "passages")
public class Passage {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "passage", unique = true)
@NotBlank(message = "Название не может быть пустым!")
@Size(max = 100, message = "Максимальная длина названия 100 символов!")
private String passage;
@OneToMany(mappedBy = "typePassage")
private List<Visit> visits;
}

View File

@ -1,13 +1,14 @@
package com.example.nto.domain.entity;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;
@Data

View File

@ -1,14 +1,15 @@
package com.example.nto.domain.entity;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.security.core.GrantedAuthority;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;
@Data

View File

@ -1,14 +1,15 @@
package com.example.nto.domain.entity;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;
@Data
@ -29,8 +30,9 @@ public class Terminal {
// Мне нужна была рандомная генерация кода для терминала, так что я мог сделать кривую реализацию через самописную функцию,
// но боялся, что она будет генерировать не уникальные значения. (я очень смутно представляю, как эта штука работает)
// Код взят отсюда: https://stackoverflow.com/questions/76723290/using-the-new-type-for-uuidgenerator-instead-of-strategy
@UuidGenerator
// Код взят отсюда: https://stackoverflow.com/questions/25082244/auto-generate-unique-random-string-in-spring-mvc-hibernate
@GenericGenerator(name = "uuid-gen", strategy = "uuid")
@GeneratedValue(generator = "uuid-gen")
@NotBlank(message = "Код не может быть пустым!")
@Column(name = "code", nullable = false, unique = true)
private String code;

View File

@ -1,11 +1,11 @@
package com.example.nto.domain.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.time.LocalDateTime;
@Data
@ -30,7 +30,7 @@ public class Visit {
private LocalDateTime endVisit;
@Column(name = "is_finished", nullable = false)
private boolean isFinished = false;
private final boolean isFinished = false;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "start_terminal_id", referencedColumnName = "code", nullable = false)
@ -39,5 +39,8 @@ public class Visit {
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "end_terminal_id", referencedColumnName = "code")
private Terminal endTerminal;
@OneToMany(mappedBy = "passage")
private long typePassage;
}

View File

@ -16,6 +16,7 @@ public class EmployeeCreateDTO {
private String telephone;
private String email;
private String password;
private boolean isBlocked;
private String officeName; // Имя офиса, к которому присоединится работник.
private String positionName; // Должность работника.

View File

@ -27,6 +27,7 @@ public class EmployeeDTO {
private String role; // строка либо ROLE_USER, либо ROLE_ADMIN
private String profileImageUrl;
private boolean isBlocked;
// Текущее состояние входа: false - visit (посещение) ещё не началось, true - visit идёт
private boolean visitStatus;

View File

@ -16,6 +16,7 @@ public class EmployeeItemDTO {
private String surname;
private String patronymic;
private String profileImageUrl;
private boolean isBlocked;
private String officeName;
private String position; // Название должности