diff --git a/src/main/java/com/app/domain/categorizedproblem/service/CategorizedProblemService.java b/src/main/java/com/app/domain/categorizedproblem/service/CategorizedProblemService.java index 5d5028c..a205b51 100644 --- a/src/main/java/com/app/domain/categorizedproblem/service/CategorizedProblemService.java +++ b/src/main/java/com/app/domain/categorizedproblem/service/CategorizedProblemService.java @@ -6,11 +6,9 @@ import com.app.domain.category.service.CategoryService; import com.app.domain.member.entity.Member; import com.app.domain.member.service.MemberService; -import com.app.domain.problem.aigeneratedproblem.service.AiGeneratedProblemService; import com.app.domain.problem.entity.Problem; import com.app.domain.problem.membersavedproblem.dto.MemberSavedProblemDto; import com.app.domain.problem.membersavedproblem.mapper.MemberSavedProblemMapper; -import com.app.domain.problem.membersavedproblem.service.MemberSavedProblemService; import com.app.domain.problem.service.ProblemService; import com.app.domain.summary.membersavedsummary.dto.MemberSavedSummaryDto; import com.app.global.config.ENUM.ProblemType; @@ -27,6 +25,7 @@ import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.apache.pdfbox.pdmodel.font.PDType0Font; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -39,8 +38,6 @@ public class CategorizedProblemService { private final CategoryService categoryService; - private final MemberSavedProblemService memberSavedProblemService; - private final MemberService memberService; private final MemberSavedProblemMapper memberSavedProblemMapper; @@ -49,6 +46,7 @@ public class CategorizedProblemService { private final ProblemService problemService; + @CacheEvict(value = "categorizedProblem", key = "#categoryId") public CategorizedProblem createCategorizedProblem(Long categoryId, Long problemId) { checkForDuplicateCategorizedProblem(categoryId, problemId); @@ -232,7 +230,7 @@ public MemberSavedSummaryDto.pdfResponse createCategorizedProblemsPdf(Long categ } - + @CacheEvict(value = "categorizedProblem", key = "#categoryId") public CategorizedProblem updateCategorizedProblem(Long categorizedProblemId, MemberSavedProblemDto.Patch problemPatchDto) { CategorizedProblem categorizedProblem = findVerifiedCategorizedProblemByCategorizedProblemId(categorizedProblemId); problemService.updateProblem( @@ -249,6 +247,7 @@ public Page findCategorizedProblemsByCategoryId(Long categor return categorizedProblemRepository.findByCategoryCategoryId(categoryId, pageRequest); } + @CacheEvict(value = "categorizedProblem", key = "#categoryId") public void deleteCategorizedProblem(Long categorizedProblemID){ CategorizedProblem categorizedProblem = findVerifiedCategorizedProblemByCategorizedProblemId(categorizedProblemID); categorizedProblemRepository.deleteById(categorizedProblemID); @@ -256,7 +255,7 @@ public void deleteCategorizedProblem(Long categorizedProblemID){ Problem problem = categorizedProblem.getProblem(); Long problemId = problem.getProblemId(); if (problem.isMemberSavedProblem() && !isProblemUsedInOtherCategorizedProblems(problemId)) { - memberSavedProblemService.deleteProblem(problemId); + problemService.deleteProblem(problemId); } } diff --git a/src/main/java/com/app/domain/categorizedsummary/service/CategorizedSummaryService.java b/src/main/java/com/app/domain/categorizedsummary/service/CategorizedSummaryService.java index 890f57e..54e068c 100644 --- a/src/main/java/com/app/domain/categorizedsummary/service/CategorizedSummaryService.java +++ b/src/main/java/com/app/domain/categorizedsummary/service/CategorizedSummaryService.java @@ -17,6 +17,7 @@ import java.io.IOException; import javax.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -39,6 +40,7 @@ public class CategorizedSummaryService { private final SummaryRepository summaryRepository; + @CacheEvict(value = "categorizedSummary", key = "#categoryId") public CategorizedSummary createCategorizedSummary(Long categoryId, Long summaryId) { checkForDuplicateCategorizedProblem(categoryId, summaryId); @@ -74,6 +76,7 @@ public SummaryDto.pdfResponse createSummaryPdf(Long categorizedSummaryId) throws return summaryService.createSummaryPdf(summaryId); } + @CacheEvict(value = "categorizedSummary", key = "#categoryId") public CategorizedSummary updateCategorizedSummary(Long categorizedSummaryId, SummaryDto.Patch summaryPatchDto) { CategorizedSummary categorizedSummary = findVerifiedCategorizedSummaryByCategorizedSummaryId(categorizedSummaryId); summaryService.updateSummary( @@ -84,6 +87,7 @@ public CategorizedSummary updateCategorizedSummary(Long categorizedSummaryId, Su return categorizedSummaryRepository.save(categorizedSummary); } + @CacheEvict(value = "categorizedSummary", key = "#categoryId") public void deleteCategorizedSummary(Long categorizedSummaryId) { CategorizedSummary categorizedSummary = findVerifiedCategorizedSummaryByCategorizedSummaryId(categorizedSummaryId); diff --git a/src/main/java/com/app/domain/problem/service/ProblemService.java b/src/main/java/com/app/domain/problem/service/ProblemService.java index fb7a261..cc7cf48 100644 --- a/src/main/java/com/app/domain/problem/service/ProblemService.java +++ b/src/main/java/com/app/domain/problem/service/ProblemService.java @@ -1,6 +1,7 @@ package com.app.domain.problem.service; import com.app.domain.problem.entity.Problem; +import com.app.domain.problem.membersavedproblem.entity.MemberSavedProblem; import com.app.domain.problem.repository.ProblemRepository; import com.app.global.error.ErrorCode; import com.app.global.error.exception.EntityNotFoundException; @@ -38,4 +39,10 @@ public Problem findVerifiedProblemByProblemId(Long problemId) { .orElseThrow(() -> new EntityNotFoundException(ErrorCode.PROBLEM_NOT_EXISTS)); } + public void deleteProblem(Long problemId){ + Problem problem = findVerifiedProblemByProblemId(problemId); + + problemRepository.deleteById(problemId); + } + }