From 2cdf19e2962b35c74774d2e42a559306db4091a9 Mon Sep 17 00:00:00 2001 From: AleksOBM Date: Fri, 20 Feb 2026 23:18:23 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BE=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D0=B8=D0=BD=D1=8B=20=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F=20=D0=94=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D1=8E=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BD=D0=B0=20=D0=B2=20=D0=BA?= =?UTF-8?q?=D0=B0=D1=87=D0=B5=D1=81=D1=82=D0=B2=D0=B5=20=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../filmorate/dto/request/create/UserCreateRequest.java | 2 +- .../ru/yandex/practicum/filmorate/servise/UserService.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java b/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java index d8e2a74..1edda74 100644 --- a/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java +++ b/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java @@ -8,7 +8,7 @@ @Data public class UserCreateRequest { - @Size(min = 2, max = 50, message = "Длина имени пользователя может быть от 2 до 50 символов.") + @Size(max = 50, message = "Длина имени пользователя не может быть больше 50 символов.") private String name; @NotNull(message = "Логин должен быть указан.") diff --git a/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java b/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java index 76ec5d5..df89256 100644 --- a/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java +++ b/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java @@ -90,6 +90,10 @@ public void changeFriends(FriendsAction action, long userId, long friendId) { public UserDto create(UserCreateRequest request) { log.info("Добавление нового пользователя login={}.", request.getLogin()); + if (request.getName().isBlank()) { + request.setName(request.getLogin()); + } + User user = UserMapper.mapToUser(request); try { From 2e33e77eab43c30125bcd78f9719f470b7d8f85c Mon Sep 17 00:00:00 2001 From: AleksOBM Date: Sat, 21 Feb 2026 00:13:35 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8E=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D0=BD=D0=B0=20=D0=B2=20=D0=BA=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B2=D0=B5=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B2=20update.=20=20=D0=94=D0=BE=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D0=B8=D1=82=D1=8C=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +++++++++- .../dto/request/update/UserUpdateRequest.java | 2 +- .../practicum/filmorate/servise/UserService.java | 4 ++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3b62c5a..e5e0f74 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # java-filmorate ### Описание (Description) The Filmorate project — это приложение для работы с базой данных фильмов. +А также площадка для общения и взаимодействия пользователей. + ### Основные возможности - Хранение данных о фильмах - Хранение данных о пользователях @@ -8,11 +10,17 @@ The Filmorate project — это приложение для работы с б - Возможность пользователям добавлять друг друга в друзья - Возможность получать рейтинг TOP_N фильмов по количеству лайков - Возможность получать общих с другим пользователем фильмов с сортировкой по их популярности +- Возможность заводить друзей +- Возможность оставлять отзывы о фильмах - Фильмы содержат возрастные ограничения по стандарту MPPA +- Реализован поиск по названию и описанию - Реализована система жанров для фильмов +- Есть лента событий + ### Требования (Environmental Requirements) Для запуска проекта требуется: - Java версии 21 -Приложение работает на порту 8080 +Приложение работает на порту 8080 + ### Установка и запуск (Installation and Running) Откройте терминал в корне проекта и выполните команды для запуска приложения. diff --git a/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java b/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java index 6276e1e..5a211d2 100644 --- a/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java +++ b/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java @@ -12,7 +12,7 @@ public class UserUpdateRequest { @Positive(message = "Id должен быть положительным числом.") private Long id; - @Size(min = 2, max = 50, message = "Длина имени пользователя может быть от 2 до 50 символов.") + @Size(max = 50, message = "Длина имени пользователя не может быть больше 50 символов.") private String name; @Pattern(regexp = "^[A-Za-z0-9_]+$", message = "Логин может состоять только из этих символов [A-Za-z0-9_].") diff --git a/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java b/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java index df89256..c7d7d20 100644 --- a/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java +++ b/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java @@ -107,6 +107,10 @@ public UserDto create(UserCreateRequest request) { public UserDto update(UserUpdateRequest request) { log.info("Обновление данных о пользователе с id={}.", request.getId()); + if (request.getName().isBlank()) { + request.setName(request.getLogin()); + } + User oldUser = findUser(request.getId()); logUserUpdate(request, oldUser); User newUser = UserMapper.updateUserFields(oldUser, request);