diff --git a/src/main/java/backend/wal/wal/nextwal/application/service/NextWalSettingService.java b/src/main/java/backend/wal/wal/nextwal/application/service/NextWalSettingService.java index 9528eeb6..5c21d174 100644 --- a/src/main/java/backend/wal/wal/nextwal/application/service/NextWalSettingService.java +++ b/src/main/java/backend/wal/wal/nextwal/application/service/NextWalSettingService.java @@ -41,6 +41,7 @@ public void updateNextWal(NextWals nextWals, NextWal randomNextWal, WalCategoryT Long countOfCorrespondCategoryType = itemRepository.countAllByCategoryCategoryType(categoryType); double nextItemId = nextWals.calculateNextItemId(randomNextWal, countOfCorrespondCategoryType); Item nextItem = itemRepository.findByCategoryCategoryTypeAndCategoryItemNumber(categoryType, nextItemId); + nextWalRepository.updateNextWalItem(randomNextWal.getId(), nextItem); randomNextWal.updateItem(nextItem); nextWals.updateNextWalInfo(randomNextWal); } diff --git a/src/main/java/backend/wal/wal/nextwal/domain/repository/NextWalRepository.java b/src/main/java/backend/wal/wal/nextwal/domain/repository/NextWalRepository.java index 5b95e1b3..482c05c9 100644 --- a/src/main/java/backend/wal/wal/nextwal/domain/repository/NextWalRepository.java +++ b/src/main/java/backend/wal/wal/nextwal/domain/repository/NextWalRepository.java @@ -1,9 +1,11 @@ package backend.wal.wal.nextwal.domain.repository; import backend.wal.wal.common.domain.WalCategoryType; +import backend.wal.wal.nextwal.domain.aggregate.Item; import backend.wal.wal.nextwal.domain.aggregate.NextWal; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import java.util.List; @@ -18,5 +20,9 @@ public interface NextWalRepository extends JpaRepository { @Query("SELECT nw FROM NextWal nw JOIN FETCH nw.item WHERE nw.userId = :userId") List findNextWalsWithItemByUserId(Long userId); + @Modifying + @Query("UPDATE NextWal nw SET nw.item = :item WHERE nw.id = :nextWalId") + void updateNextWalItem(Long nextWalId, Item item); + void deleteAllByUserId(Long userId); }