Skip to content

Commit 0de8a7e

Browse files
authored
Merge pull request #140 from Team-Shaka/fix/138
🐛 Fix: 초대장 수락은 했는데 Member가 없는 경우도 고려
2 parents 92dcb21 + e75d0b5 commit 0de8a7e

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

src/main/java/treehouse/server/api/invitation/business/InvitationService.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import lombok.extern.slf4j.Slf4j;
55
import org.springframework.stereotype.Service;
66
import org.springframework.transaction.annotation.Transactional;
7-
import treehouse.server.api.branch.business.BranchService;
87
import treehouse.server.api.invitation.implement.InvitationCommandAdapter;
98
import treehouse.server.api.invitation.implement.InvitationQueryAdapter;
109
import treehouse.server.api.invitation.presentation.dto.InvitationRequestDTO;
@@ -21,7 +20,6 @@
2120
import treehouse.server.global.entity.treeHouse.TreeHouse;
2221
import treehouse.server.global.exception.GlobalErrorCode;
2322
import treehouse.server.global.exception.ThrowClass.InvitationException;
24-
import treehouse.server.global.exception.ThrowClass.UserException;
2523

2624
import java.util.List;
2725
import java.util.stream.Collectors;
@@ -50,7 +48,7 @@ public class InvitationService {
5048
@Transactional
5149
public InvitationResponseDTO.getInvitations getInvitations(User user) {
5250

53-
List<Invitation> invitations = invitationQueryAdapter.findAllByPhone(user.getPhone());
51+
List<Invitation> invitations = invitationQueryAdapter.findAllPendingByPhone(user.getPhone());
5452

5553
List<InvitationResponseDTO.getInvitation> invitationDtos = invitations.stream()
5654
.map(invitation -> {

src/main/java/treehouse/server/api/invitation/implement/InvitationQueryAdapter.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class InvitationQueryAdapter {
1818

1919
private final InvitationRepository invitationRepository;
2020

21-
public List<Invitation> findAllByPhone(String phone) {
21+
public List<Invitation> findAllPendingByPhone(String phone) {
2222
return invitationRepository.findAllByPhone(phone)
2323
.stream().filter(invitation -> invitation.getStatus().equals(InvitationStatus.PENDING)).toList();
2424
}
@@ -45,4 +45,8 @@ public Invitation findAcceptedInvitation(User user, TreeHouse treeHouse) {
4545
.filter(invitation -> invitation.getStatus().equals(InvitationStatus.ACCEPTED))
4646
.orElseThrow(() -> new InvitationException(GlobalErrorCode.INVITATION_NOT_FOUND));
4747
}
48+
49+
public List<Invitation> findAllByPhone(String phone) {
50+
return invitationRepository.findAllByPhone(phone);
51+
}
4852
}

src/main/java/treehouse/server/api/user/business/UserService.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import treehouse.server.global.entity.redis.RefreshToken;
1818
import treehouse.server.global.exception.GlobalErrorCode;
1919
import treehouse.server.global.exception.ThrowClass.AuthException;
20-
import treehouse.server.global.exception.ThrowClass.GeneralException;
2120
import treehouse.server.global.fcm.service.FcmService;
2221
import treehouse.server.global.redis.service.RedisService;
2322
import treehouse.server.global.security.jwt.dto.TokenDTO;
@@ -59,7 +58,7 @@ public User findById(Long id){
5958
public UserResponseDTO.registerUser register(UserRequestDTO.registerUser request){
6059
User user = UserMapper.toUser(request.getUserName(), request.getPhoneNumber());
6160
User savedUser = userCommandAdapter.register(user);
62-
List<Invitation> receivedInvitations = invitationQueryAdapter.findAllByPhone(request.getPhoneNumber());
61+
List<Invitation> receivedInvitations = invitationQueryAdapter.findAllPendingByPhone(request.getPhoneNumber());
6362
receivedInvitations.forEach(invitation -> {
6463
invitation.setReceiver(savedUser);
6564
invitationCommandAdapter.saveInvitation(invitation);
@@ -93,7 +92,7 @@ public UserResponseDTO.reissue reissue(UserRequestDTO.reissue request){
9392
return UserMapper.toReissue(token.getAccessToken(), token.getRefreshToken());
9493
}
9594

96-
95+
@Transactional
9796
public UserResponseDTO.checkUserStatus checkUserStatus(UserRequestDTO.checkUserStatus request) {
9897

9998
Boolean isNewUser = !userQueryAdapter.existByPhoneNumber(request.getPhoneNumber());

src/main/java/treehouse/server/global/entity/Invitation/Invitation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class Invitation extends BaseDateTimeEntity {
2828

2929
private LocalDateTime expiredAt; //초대장 만료일자
3030

31-
@JoinColumn(name = "senderId")
31+
@JoinColumn(name = "senderId", nullable = true)
3232
@ManyToOne(fetch = FetchType.LAZY)
3333
private Member sender;
3434

0 commit comments

Comments
 (0)