diff --git a/src/main/java/zero/eight/donut/repository/GiftboxRepository.java b/src/main/java/zero/eight/donut/repository/GiftboxRepository.java index 1fbbd6e..2ed400b 100644 --- a/src/main/java/zero/eight/donut/repository/GiftboxRepository.java +++ b/src/main/java/zero/eight/donut/repository/GiftboxRepository.java @@ -20,6 +20,7 @@ public interface GiftboxRepository extends JpaRepository { @Query("SELECT gb FROM Giftbox gb WHERE gb.receiver.id = ?1 and gb.isAvailable = true") List findAllByReceiverIdAndIsAvailable(Long receiver_id); - @Query("SELECT SUM(gb.amount) FROM Giftbox gb WHERE gb.store = ?1") - Integer getSumByStore(Store store); + @Query("SELECT SUM(gb.amount) FROM Giftbox gb " + + "WHERE gb.store = ?1 AND gb.isAvailable = true AND gb.receiver.id = ?2") + Integer getSumByStore(Store store, Long id); } diff --git a/src/main/java/zero/eight/donut/service/HomeReceiverService.java b/src/main/java/zero/eight/donut/service/HomeReceiverService.java index 6ed1dd3..0a08420 100644 --- a/src/main/java/zero/eight/donut/service/HomeReceiverService.java +++ b/src/main/java/zero/eight/donut/service/HomeReceiverService.java @@ -37,15 +37,16 @@ public ApiResponse receiverHome(){ return ApiResponse.failure(Error.NOT_AUTHENTICATED_EXCEPTION); } Receiver receiver = authUtils.getReceiver(); + Long receiver_id = receiver.getId(); //사용 가능한 꾸러미만 조회 List giftboxList = Optional.ofNullable(giftboxRepository.findAllByReceiverIdAndIsAvailable(receiver.getId())) .orElse(Collections.emptyList()); - //사용처별 꾸러미 잔액 - Optional cuGiftBox = Optional.ofNullable(giftboxRepository.getSumByStore(Store.CU)); - Optional gs25GiftBox = Optional.ofNullable(giftboxRepository.getSumByStore(Store.GS25)); - Optional sevenelevenGiftBox = Optional.ofNullable(giftboxRepository.getSumByStore(Store.SEVENELEVEN)); + //수혜자의 사용처별 꾸러미 잔액 + Optional cuGiftBox = Optional.ofNullable(giftboxRepository.getSumByStore(Store.CU,receiver_id)); + Optional gs25GiftBox = Optional.ofNullable(giftboxRepository.getSumByStore(Store.GS25,receiver_id)); + Optional sevenelevenGiftBox = Optional.ofNullable(giftboxRepository.getSumByStore(Store.SEVENELEVEN,receiver_id)); Integer cu = cuGiftBox.orElse(0); Integer gs25 = gs25GiftBox.orElse(0); Integer seveneleven = sevenelevenGiftBox.orElse(0);