From 1aee226562c5f1e5255e5bdc2910b825316f39d9 Mon Sep 17 00:00:00 2001 From: Ji Ho June <129824629+ho0010@users.noreply.github.com> Date: Wed, 7 Aug 2024 22:32:17 +0900 Subject: [PATCH] =?UTF-8?q?Feat:=20signup=EC=97=90=20likedTopics=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itpick/backend/dto/auth/PostUserRequest.java | 5 +++++ .../store/itpick/backend/service/AuthService.java | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/store/itpick/backend/dto/auth/PostUserRequest.java b/src/main/java/store/itpick/backend/dto/auth/PostUserRequest.java index 3b29786..b6ce6c0 100644 --- a/src/main/java/store/itpick/backend/dto/auth/PostUserRequest.java +++ b/src/main/java/store/itpick/backend/dto/auth/PostUserRequest.java @@ -9,6 +9,8 @@ import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.Length; +import java.util.List; + @Data @NoArgsConstructor @@ -37,4 +39,7 @@ public class PostUserRequest { @NotBlank(message = "birth_date: 필수입니다.") @Length(min = 6, max = 6, message = "birth_date: 정확히 {max}자리여야 합니다") private String birth_date; + + private List likedTopics; + } diff --git a/src/main/java/store/itpick/backend/service/AuthService.java b/src/main/java/store/itpick/backend/service/AuthService.java index 6ef4c38..dad74f9 100644 --- a/src/main/java/store/itpick/backend/service/AuthService.java +++ b/src/main/java/store/itpick/backend/service/AuthService.java @@ -18,7 +18,9 @@ import store.itpick.backend.dto.auth.PostUserRequest; import store.itpick.backend.dto.auth.PostUserResponse; import store.itpick.backend.jwt.JwtProvider; +import store.itpick.backend.model.LikedTopic; import store.itpick.backend.model.User; +import store.itpick.backend.repository.LikedTopicRepository; import store.itpick.backend.repository.UserRepository; @@ -46,6 +48,7 @@ public class AuthService { private final JwtProvider jwtTokenProvider; private final MailService mailService; private final RedisService redisService; + private final LikedTopicRepository likedTopicRepository; @Value("${spring.mail.auth-code-expiration-millis}") private long authCodeExpirationMillis; @@ -107,6 +110,18 @@ public PostUserResponse signUp(PostUserRequest postUserRequest) { user = userRepository.save(user); + if (postUserRequest.getLikedTopics() != null) { + for (String likedTopic : postUserRequest.getLikedTopics()) { + LikedTopic newLikedTopic = LikedTopic.builder() + .user(user) + .liked_topic(likedTopic) + .status("active") + .createAt(Timestamp.valueOf(LocalDateTime.now())) + .build(); + likedTopicRepository.save(newLikedTopic); + } + } + return new PostUserResponse(user.getUserId()); }