From 4bb8ad7b36bd2e1a43577279036923b4c9e8bfe1 Mon Sep 17 00:00:00 2001 From: hyunseo Date: Fri, 27 Jan 2023 19:30:00 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20?= =?UTF-8?q?=ED=83=9C=EA=B7=B8=20=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EB=A6=AC=ED=8C=A9=ED=84=B0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 게시글 연관 태그 삭제 및 수정 - PostTag 삭제 - UserTag 삭제 및 수정 --- .../prolog/domain/post/service/PostServiceImpl.java | 9 ++++++++- .../domain/posttag/repository/PostTagRepository.java | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/prgrms/prolog/domain/post/service/PostServiceImpl.java b/src/main/java/com/prgrms/prolog/domain/post/service/PostServiceImpl.java index 6899017..b92c36e 100644 --- a/src/main/java/com/prgrms/prolog/domain/post/service/PostServiceImpl.java +++ b/src/main/java/com/prgrms/prolog/domain/post/service/PostServiceImpl.java @@ -94,7 +94,8 @@ public Page findAll(Pageable pageable) { @Override @Transactional public PostResponse update(UpdateRequest update, Long userId, Long postId) { - Post findPost = postRepository.joinUserFindById(postId) + // Post findPost = postRepository.joinUserFindById(postId) + Post findPost = postRepository.findById(postId) .orElseThrow(() -> new IllegalArgumentException(POST_NOT_EXIST_MESSAGE)); if (!findPost.getUser().checkSameUserId(userId)) { @@ -114,6 +115,12 @@ public PostResponse update(UpdateRequest update, Long userId, Long postId) { public void delete(Long postId) { Post findPost = postRepository.findById(postId) .orElseThrow(() -> new IllegalArgumentException(POST_NOT_EXIST_MESSAGE)); + Set findRootTags = postTagRepository.joinRootTagFindByPostId(findPost.getId()) + .stream() + .map(PostTag::getRootTag) + .collect(Collectors.toSet()); + removeOrDecreaseUserTags(findPost.getUser(), findRootTags); + postTagRepository.deleteByPostId(postId); postRepository.delete(findPost); } diff --git a/src/main/java/com/prgrms/prolog/domain/posttag/repository/PostTagRepository.java b/src/main/java/com/prgrms/prolog/domain/posttag/repository/PostTagRepository.java index c42fd74..2b79d56 100644 --- a/src/main/java/com/prgrms/prolog/domain/posttag/repository/PostTagRepository.java +++ b/src/main/java/com/prgrms/prolog/domain/posttag/repository/PostTagRepository.java @@ -30,4 +30,12 @@ void deleteByPostIdAndRootTagIds( WHERE pt.post.id = :postId """) Set joinRootTagFindByPostId(@Param(value = "postId") Long postId); + + @Modifying + @Query(""" + DELETE + FROM PostTag pt + WHERE pt.post.id = :postId + """) + void deleteByPostId(@Param(value = "postId") Long postId); } From a702fa3ca02bc636e2cf40f9be2831a6e525243a Mon Sep 17 00:00:00 2001 From: hyunseo Date: Fri, 27 Jan 2023 19:33:58 +0900 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=EC=8B=9C=EB=A6=AC=EC=A6=88=20?= =?UTF-8?q?=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20=ED=8C=8C=EB=9D=BC?= =?UTF-8?q?=EB=AF=B8=ED=84=B0=20=EB=A6=AC=ED=8C=A9=ED=84=B0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prgrms/prolog/domain/series/api/SeriesController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/prgrms/prolog/domain/series/api/SeriesController.java b/src/main/java/com/prgrms/prolog/domain/series/api/SeriesController.java index 395ceaa..de6c972 100644 --- a/src/main/java/com/prgrms/prolog/domain/series/api/SeriesController.java +++ b/src/main/java/com/prgrms/prolog/domain/series/api/SeriesController.java @@ -3,8 +3,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.prgrms.prolog.domain.series.dto.SeriesResponse; @@ -20,9 +20,9 @@ public class SeriesController { private final SeriesService seriesService; - @GetMapping("/{title}") + @GetMapping() ResponseEntity findSeriesByTitle( - @PathVariable String title, + @RequestParam String title, @AuthenticationPrincipal JwtAuthentication user ) { return ResponseEntity.ok( From 0b16f29defac4409e014c6cfd52d0765e3dabfd7 Mon Sep 17 00:00:00 2001 From: hyunseo Date: Fri, 27 Jan 2023 19:39:30 +0900 Subject: [PATCH 3/3] =?UTF-8?q?test:=20=EC=8B=9C=EB=A6=AC=EC=A6=88=20?= =?UTF-8?q?=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?=EC=9A=94=EC=B2=AD=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prgrms/prolog/domain/series/api/SeriesControllerTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/prgrms/prolog/domain/series/api/SeriesControllerTest.java b/src/test/java/com/prgrms/prolog/domain/series/api/SeriesControllerTest.java index ca14c6c..4a646bd 100644 --- a/src/test/java/com/prgrms/prolog/domain/series/api/SeriesControllerTest.java +++ b/src/test/java/com/prgrms/prolog/domain/series/api/SeriesControllerTest.java @@ -87,8 +87,9 @@ void findSeriesByTitleTest() throws Exception { // given Claims claims = Claims.from(savedUser.getId(), USER_ROLE); // when - mockMvc.perform(get("/api/v1/series/{title}", SERIES_TITLE) + mockMvc.perform(get("/api/v1/series") .header(AUTHORIZATION, BEARER_TYPE + jwtTokenProvider.createAccessToken(claims)) + .param("title", SERIES_TITLE) ) // then .andExpectAll(