Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички / spring_lab4.pdf
Скачиваний:
0
Добавлен:
28.06.2026
Размер:
111.26 Кб
Скачать

Часть 3. Создание DTO и репозиториев

3.1. DTO для User

package org.example.model.dto;

import lombok.AllArgsConstructor; import lombok.Builder;

import lombok.Getter;

import lombok.NoArgsConstructor; import lombok.Setter;

import java.time.LocalDateTime;

@Getter

@Setter

@Builder

@NoArgsConstructor

@AllArgsConstructor public class UserDto {

private String name;

private String email;

private String phone;

private String deviceToken;

private String telegramChatId;

private LocalDateTime createdAt;

}

3.2. DTO для Notification

package org.example.model.dto;

import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor;

import lombok.Builder; import lombok.Getter;

import lombok.NoArgsConstructor; import lombok.Setter;

import org.example.model.enums.NotificationChannel; import org.example.model.enums.NotificationStatus;

import java.time.LocalDateTime;

7

@Getter

@Setter

@Builder

@NoArgsConstructor

@AllArgsConstructor

public class NotificationDto {

@NotBlank(message = "Заголовок не должен быть пустым") private String title;

@NotBlank(message = "Текст сообщения не должен быть пустым") private String message;

@NotNull(message = "Канал обязателен") private NotificationChannel channel;

private NotificationStatus status;

private LocalDateTime createdAt;

private LocalDateTime sentAt;

@NotNull(message = "Идентификатор получателя обязателен") private Long recipientId;

}

3.3. Создайте репозитории

package org.example.repository;

import org.example.model.entity.User;

import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;

@Repository

public interface UserRepository extends JpaRepository<User, Long> {

}

package org.example.repository;

import org.example.model.entity.Notification; import org.example.model.enums.NotificationChannel; import org.example.model.enums.NotificationStatus;

import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;

import java.util.List;

8

Соседние файлы в папке Методички