diff --git a/src/main/java/doldol_server/doldol/rollingPaper/repository/PaperRepository.java b/src/main/java/doldol_server/doldol/rollingPaper/repository/PaperRepository.java index 76dcac02..8e066cb8 100644 --- a/src/main/java/doldol_server/doldol/rollingPaper/repository/PaperRepository.java +++ b/src/main/java/doldol_server/doldol/rollingPaper/repository/PaperRepository.java @@ -1,5 +1,6 @@ package doldol_server.doldol.rollingPaper.repository; +import java.time.LocalDate; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; @@ -8,6 +9,7 @@ import doldol_server.doldol.rollingPaper.entity.Paper; import doldol_server.doldol.rollingPaper.repository.custom.PaperRepositoryCustom; +import feign.Param; @Repository public interface PaperRepository extends JpaRepository, PaperRepositoryCustom { @@ -15,4 +17,7 @@ public interface PaperRepository extends JpaRepository, PaperReposi @Query("select count(p) from Participant p where p.user.id = :userId") int countByUserId(Long userId); + + @Query("SELECT p.openDate FROM Paper p WHERE p.id = :paperId") + Optional findOpenDateById(@Param("paperId") Long paperId); } diff --git a/src/main/java/doldol_server/doldol/rollingPaper/service/MessageService.java b/src/main/java/doldol_server/doldol/rollingPaper/service/MessageService.java index b7020524..0454589f 100644 --- a/src/main/java/doldol_server/doldol/rollingPaper/service/MessageService.java +++ b/src/main/java/doldol_server/doldol/rollingPaper/service/MessageService.java @@ -49,10 +49,10 @@ public MessageResponse getMessage(Long messageId, Long userId) { public MessageListResponse getMessages(Long paperId, MessageType messageType, CursorPageRequest request, Long userId) { - Paper paper = paperRepository.findById(paperId) + LocalDate openDate = paperRepository.findOpenDateById(paperId) .orElseThrow(() -> new CustomException(PaperErrorCode.PAPER_NOT_FOUND)); - boolean isOpened = !paper.getOpenDate().isAfter(LocalDate.now()); + boolean isOpened = !openDate.isAfter(LocalDate.now()); boolean isReceiveType = messageType == MessageType.RECEIVE; List messages = isReceiveType @@ -81,7 +81,7 @@ public MessageListResponse getMessages(Long paperId, MessageType messageType, Cu @Transactional public void createMessage(CreateMessageRequest request, Long userId) { - User fromUser = userService.getById(userId); + User fromUser = new User(userId); User toUser = userService.getById(request.receiverId()); Paper paper = paperRepository.findById(request.paperId()) diff --git a/src/main/java/doldol_server/doldol/rollingPaper/service/ParticipantService.java b/src/main/java/doldol_server/doldol/rollingPaper/service/ParticipantService.java index 470d6fa2..b148160e 100644 --- a/src/main/java/doldol_server/doldol/rollingPaper/service/ParticipantService.java +++ b/src/main/java/doldol_server/doldol/rollingPaper/service/ParticipantService.java @@ -15,7 +15,7 @@ import doldol_server.doldol.rollingPaper.entity.Paper; import doldol_server.doldol.rollingPaper.entity.Participant; import doldol_server.doldol.rollingPaper.repository.ParticipantRepository; -import doldol_server.doldol.user.service.UserService; +import doldol_server.doldol.user.entity.User; import lombok.RequiredArgsConstructor; @Service @@ -24,12 +24,11 @@ public class ParticipantService { private final ParticipantRepository participantRepository; - private final UserService userService; @Transactional public void addUser(Long userId, Paper paper, boolean isMaster) { Participant participant = Participant.builder() - .user(userService.getById(userId)) + .user(new User(userId)) .paper(paper) .isMaster(isMaster) .build(); diff --git a/src/main/java/doldol_server/doldol/user/entity/User.java b/src/main/java/doldol_server/doldol/user/entity/User.java index 9cc797cc..61024561 100644 --- a/src/main/java/doldol_server/doldol/user/entity/User.java +++ b/src/main/java/doldol_server/doldol/user/entity/User.java @@ -70,6 +70,11 @@ public User(String loginId, String name, String password, String phone, this.socialType = socialType; } + @Builder + public User(Long id) { + this.id = id; + } + public void updateSocialInfo(String socialId, SocialType socialType) { this.socialId = socialId; this.socialType = socialType;