entity additions

This commit is contained in:
2025-04-18 22:42:57 +04:00
parent d2eaee9282
commit af46007de1
25 changed files with 445 additions and 125 deletions

View File

@@ -1,8 +1,13 @@
package ru.ip.example.domain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import java.util.List;
//dto - data transfer object
@Data
@Schema(description = "Информация о фильме")
public class FilmDto {
@@ -15,36 +20,7 @@ public class FilmDto {
@Schema(description = "Год выпуска")
private Integer releaseYear;
public FilmDto(String title, String category, Integer releaseYear) {
this.title = title;
this.category = category;
this.releaseYear = releaseYear;
}
public FilmDto() {
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public Integer getReleaseYear() {
return releaseYear;
}
public void setReleaseYear(Integer releaseYear) {
this.releaseYear = releaseYear;
}
@ToString.Exclude
@Schema(description = "Список сезонов")
private List<SeazonDto> seazons;
}

View File

@@ -1,79 +0,0 @@
package ru.ip.example.domain;
import java.util.Objects;
public class FilmEntity {
private Integer id;
private String title;
private String category;
private Integer releaseYear;
public FilmEntity(Integer id, String title, String category, Integer releaseYear) {
this.id = id;
this.title = title;
this.category = category;
this.releaseYear = releaseYear;
}
public FilmEntity() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public Integer getReleaseYear() {
return releaseYear;
}
public void setReleaseYear(Integer releaseYear) {
this.releaseYear = releaseYear;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FilmEntity that = (FilmEntity) o;
return Objects.equals(id, that.id);
}
@Override
public int hashCode() {
return Objects.hashCode(id);
}
@Override
public String toString() {
return "FilmEntity{" +
"id=" + id +
", title='" + title + '\'' +
", category='" + category + '\'' +
", releaseYear=" + releaseYear +
'}';
}
}

View File

@@ -0,0 +1,18 @@
package ru.ip.example.domain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
public class SeazonDto {
@Schema(description = "Номер сезона")
private Integer number;
@ToString.Exclude
@Schema(description = "Список серий")
private List<SeriesDto> series;
}

View File

@@ -0,0 +1,14 @@
package ru.ip.example.domain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class SeriesDto {
@Schema(description = "Название серии")
private String name;
@Schema(description = "Номер серии")
private Integer number;
}

View File

@@ -0,0 +1,25 @@
package ru.ip.example.domain.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
import java.util.Objects;
@Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class FilmEntity {
@EqualsAndHashCode.Include
private Integer id;
private String title;
private String category;
private Integer releaseYear;
@ToString.Exclude
private List<SeazonEntity> seasons;
}

View File

@@ -0,0 +1,20 @@
package ru.ip.example.domain.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class SeazonEntity {
@EqualsAndHashCode.Include
private Integer id;
private Integer number;
@ToString.Exclude
private List<SeriesEntity> series;
}

View File

@@ -0,0 +1,18 @@
package ru.ip.example.domain.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Objects;
@Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class SeriesEntity {
@EqualsAndHashCode.Include
private Integer id;
private String name;
private Integer number;
}