Skip to content

Commit 0b3fc36

Browse files
committed
[DDING-82] OSIV 비활성화로 인한 지연로딩 에러 수정 (#226)
(cherry picked from commit b5c3729)
1 parent f74144b commit 0b3fc36

File tree

10 files changed

+26
-17
lines changed

10 files changed

+26
-17
lines changed

src/main/java/ddingdong/ddingdongBE/domain/club/repository/ClubRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import ddingdong.ddingdongBE.domain.club.entity.Club;
44
import java.util.Optional;
5+
import org.springframework.data.jpa.repository.EntityGraph;
56
import org.springframework.data.jpa.repository.JpaRepository;
67
import org.springframework.stereotype.Repository;
78

@@ -10,4 +11,6 @@ public interface ClubRepository extends JpaRepository<Club, Long> {
1011

1112
Optional<Club> findByUserId(Long userId);
1213

14+
@EntityGraph(attributePaths = {"clubMembers"})
15+
Optional<Club> findEntityGraphByUserId(Long userId);
1316
}

src/main/java/ddingdong/ddingdongBE/domain/club/service/ClubService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,5 @@ public interface ClubService {
1717

1818
void delete(Long clubId);
1919

20-
21-
20+
Club getByUserIdWithFetch(Long userId);
2221
}

src/main/java/ddingdong/ddingdongBE/domain/club/service/GeneralClubService.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
import ddingdong.ddingdongBE.domain.club.repository.ClubRepository;
66
import java.util.List;
77
import lombok.RequiredArgsConstructor;
8+
import lombok.extern.slf4j.Slf4j;
89
import org.springframework.stereotype.Service;
910
import org.springframework.transaction.annotation.Transactional;
1011

1112
@Service
1213
@Transactional(readOnly = true)
1314
@RequiredArgsConstructor
15+
@Slf4j
1416
public class GeneralClubService implements ClubService {
1517

1618
private final ClubRepository clubRepository;
@@ -34,6 +36,11 @@ public Club getByUserId(Long userId) {
3436
.orElseThrow(() -> new ResourceNotFound("Club(userId=" + userId + ")를 찾을 수 없습니다."));
3537
}
3638

39+
@Override
40+
public Club getByUserIdWithFetch(Long userId) {
41+
return clubRepository.findEntityGraphByUserId(userId)
42+
.orElseThrow(() -> new ResourceNotFound("Club(userId=" + userId + ")를 찾을 수 없습니다.")); }
43+
3744
@Override
3845
public List<Club> findAll() {
3946
return clubRepository.findAll();
@@ -51,5 +58,4 @@ public void delete(Long clubId) {
5158
Club club = getById(clubId);
5259
clubRepository.delete(club);
5360
}
54-
5561
}

src/main/java/ddingdong/ddingdongBE/domain/clubmember/service/FacadeCentralClubMemberServiceImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@
1212
import java.util.Set;
1313
import java.util.stream.Collectors;
1414
import lombok.RequiredArgsConstructor;
15+
import lombok.extern.slf4j.Slf4j;
1516
import org.springframework.stereotype.Service;
1617
import org.springframework.transaction.annotation.Transactional;
1718

1819
@Service
1920
@Transactional(readOnly = true)
2021
@RequiredArgsConstructor
22+
@Slf4j
2123
public class FacadeCentralClubMemberServiceImpl implements FacadeCentralClubMemberService {
2224

2325
private final ClubService clubService;
@@ -32,7 +34,7 @@ public byte[] getClubMemberListFile(Long userId) {
3234

3335
@Override
3436
public AllClubMemberInfoQuery getAllMyClubMember(Long userId) {
35-
Club club = clubService.getByUserId(userId);
37+
Club club = clubService.getByUserIdWithFetch(userId);
3638
return AllClubMemberInfoQuery.of(club.getName(), club.getClubMembers());
3739
}
3840

src/main/java/ddingdong/ddingdongBE/domain/scorehistory/controller/dto/response/AdminScoreHistoryListResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public record AdminScoreHistoryListResponse(
2424

2525
public static AdminScoreHistoryListResponse from(AdminClubScoreHistoryListQuery query) {
2626
return new AdminScoreHistoryListResponse(
27-
query.club().getScore().getValue(),
27+
query.clubTotalScore(),
2828
query.scoreHistories().stream()
2929
.map(ScoreHistoryResponse::from)
3030
.toList()

src/main/java/ddingdong/ddingdongBE/domain/scorehistory/controller/dto/response/ClubScoreHistoryListResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public record ClubScoreHistoryListResponse(
2323

2424
public static ClubScoreHistoryListResponse from(ClubScoreHistoryListQuery query) {
2525
return new ClubScoreHistoryListResponse(
26-
query.club().getScore().getValue(),
26+
query.clubTotalScore(),
2727
query.scoreHistories().stream()
2828
.map(ScoreHistoryResponse::from)
2929
.toList()

src/main/java/ddingdong/ddingdongBE/domain/scorehistory/service/FacadeAdminScoreHistoryServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public Long create(CreateScoreHistoryCommand command) {
3434
public AdminClubScoreHistoryListQuery findAllByClubId(Long clubId) {
3535
Club club = clubService.getById(clubId);
3636
List<ScoreHistory> scoreHistories = scoreHistoryService.findAllByClubId(clubId);
37-
return AdminClubScoreHistoryListQuery.of(club, scoreHistories);
37+
return AdminClubScoreHistoryListQuery.of(club.getScore().getValue(), scoreHistories);
3838
}
3939

4040
private BigDecimal roundToThirdPoint(BigDecimal value) {

src/main/java/ddingdong/ddingdongBE/domain/scorehistory/service/FacadeClubScoreHistoryServiceImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import ddingdong.ddingdongBE.domain.club.entity.Club;
44
import ddingdong.ddingdongBE.domain.club.service.ClubService;
55
import ddingdong.ddingdongBE.domain.scorehistory.entity.ScoreHistory;
6-
import ddingdong.ddingdongBE.domain.scorehistory.service.dto.query.AdminClubScoreHistoryListQuery;
76
import ddingdong.ddingdongBE.domain.scorehistory.service.dto.query.ClubScoreHistoryListQuery;
87
import java.util.List;
98
import lombok.RequiredArgsConstructor;
@@ -22,6 +21,6 @@ public class FacadeClubScoreHistoryServiceImpl implements FacadeClubScoreHistory
2221
public ClubScoreHistoryListQuery findMyScoreHistories(Long userId) {
2322
Club club = clubService.getByUserId(userId);
2423
List<ScoreHistory> scoreHistories = scoreHistoryService.findAllByClubId(club.getId());
25-
return ClubScoreHistoryListQuery.of(club, scoreHistories);
24+
return ClubScoreHistoryListQuery.of(club.getScore().getValue(), scoreHistories);
2625
}
2726
}
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package ddingdong.ddingdongBE.domain.scorehistory.service.dto.query;
22

3-
import ddingdong.ddingdongBE.domain.club.entity.Club;
43
import ddingdong.ddingdongBE.domain.scorehistory.entity.ScoreHistory;
4+
import java.math.BigDecimal;
55
import java.util.List;
66

77
public record AdminClubScoreHistoryListQuery(
8-
Club club,
8+
BigDecimal clubTotalScore,
99
List<ScoreHistory> scoreHistories
1010
) {
1111

12-
public static AdminClubScoreHistoryListQuery of(Club club, List<ScoreHistory> scoreHistories) {
13-
return new AdminClubScoreHistoryListQuery(club, scoreHistories);
12+
public static AdminClubScoreHistoryListQuery of(BigDecimal clubTotalScore, List<ScoreHistory> scoreHistories) {
13+
return new AdminClubScoreHistoryListQuery(clubTotalScore, scoreHistories);
1414
}
1515
}
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package ddingdong.ddingdongBE.domain.scorehistory.service.dto.query;
22

3-
import ddingdong.ddingdongBE.domain.club.entity.Club;
43
import ddingdong.ddingdongBE.domain.scorehistory.entity.ScoreHistory;
4+
import java.math.BigDecimal;
55
import java.util.List;
66

77
public record ClubScoreHistoryListQuery(
8-
Club club,
8+
BigDecimal clubTotalScore,
99
List<ScoreHistory> scoreHistories
1010
) {
1111

12-
public static ClubScoreHistoryListQuery of(Club club, List<ScoreHistory> scoreHistories) {
13-
return new ClubScoreHistoryListQuery(club, scoreHistories);
12+
public static ClubScoreHistoryListQuery of(BigDecimal clubTotalScore, List<ScoreHistory> scoreHistories) {
13+
return new ClubScoreHistoryListQuery(clubTotalScore, scoreHistories);
1414
}
1515
}

0 commit comments

Comments
 (0)