Skip to content

Commit

Permalink
Merge pull request #196 from Codiary-UMC-6th/refactor/#173-myPage
Browse files Browse the repository at this point in the history
Fix: 팔로우 기능 관련 에러 해결
  • Loading branch information
yumzen authored Aug 20, 2024
2 parents a18d0c8 + dfcc0e1 commit 111921b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ public interface MemberRepository extends JpaRepository<Member, Long> {

Optional<Member> findByEmail(String email);

@Query("SELECT m FROM Member m LEFT JOIN m.followers LEFT JOIN m.followings WHERE m = :member")
Optional<Member> findByMemberWithAndFollowersAndFollowings(@Param("member")Member member);

@Query("SELECT m FROM Member m LEFT JOIN FETCH m.followings WHERE m.memberId = :toId")
Optional<Member> findByToIdWithFollowings(@Param("toId") long id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.codiary.backend.global.repository.MemberRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.stream.Collectors;
Expand All @@ -20,11 +21,13 @@ public class FollowServiceImpl implements FollowService {
private final MemberRepository memberRepository;

@Override
@Transactional
public Follow follow(Long toId, Member fromMember) {
//Validation: fromMember 존재 여부 확인/ toMember 존재 여부 확인/ 자기 자신 팔로우 불가/ 이미 팔로우 중인지 확인
if (fromMember == null) {
throw new GeneralException(ErrorStatus.MEMBER_NOT_FOUND);
}
fromMember = memberRepository.findByMemberWithAndFollowersAndFollowings(fromMember).orElseThrow(() -> new GeneralException(ErrorStatus.MEMBER_NOT_FOUND));

Member toMember = memberRepository.findByToIdWithFollowers(toId)
.orElseThrow(() -> new GeneralException(ErrorStatus.MEMBER_NOT_FOUND));
Expand Down

0 comments on commit 111921b

Please sign in to comment.