Skip to content

Commit 69fd61b

Browse files
junsoo22limdodod
andauthored
fix: 뉴스 조회 시 댓글 수 반영 & view,voteNumm DB에 update (#89)
Co-authored-by: limdodod <rosalim2001@naver.com>
1 parent c5a5420 commit 69fd61b

5 files changed

Lines changed: 12 additions & 1 deletion

File tree

src/main/java/com/tave/alarmissue/news/controller/NewsVoteController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.tave.alarmissue.news.dto.request.NewsVoteRequestDto;
55
import com.tave.alarmissue.news.dto.response.NewsVoteResponseDto;
66
import com.tave.alarmissue.news.service.NewsVoteService;
7+
import io.swagger.v3.oas.annotations.tags.Tag;
78
import lombok.RequiredArgsConstructor;
89
import org.springframework.http.HttpStatus;
910
import org.springframework.http.ResponseEntity;
@@ -14,6 +15,7 @@
1415

1516
@RestController
1617
@RequiredArgsConstructor
18+
@Tag(name = "뉴스 투표 API")
1719
public class NewsVoteController {
1820
private final NewsVoteService newsvoteService;
1921

src/main/java/com/tave/alarmissue/news/converter/NewsConverter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ public NewsResponseDto toDto(News news){
2020
.thema(news.getThema())
2121
.sentiment(news.getSentiment() != null ? news.getSentiment() : 0.0)
2222
.view(news.getView())
23+
.commentNum(news.getCommentNum())
24+
.voteNum(news.getVoteNum())
2325
.imageUrl(news.getImageUrl())
2426
.imageCaption(news.getImageCaption())
2527
.build();
@@ -34,6 +36,8 @@ public NewsDetailResponseDto toDetailDto(News news) {
3436
.thema(news.getThema())
3537
.sentiment(news.getSentiment() != null ? news.getSentiment() : 0.0)
3638
.view(news.getView())
39+
.commentNum(news.getCommentNum())
40+
.voteNum(news.getVoteNum())
3741
.imageUrl(news.getImageUrl())
3842
.imageCaption(news.getImageCaption())
3943
.build();

src/main/java/com/tave/alarmissue/news/domain/News.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,7 @@ public void decrementCommentCount(){
115115
this.commentNum-=1;
116116
}
117117
}
118+
public void incrementVoteCount(){
119+
this.voteNum+=1;
120+
}
118121
}

src/main/java/com/tave/alarmissue/news/service/NewsService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class NewsService {
3131
private final NewsConverter newsConverter;
3232

3333
public SliceResponseDto<NewsResponseDto> getAllNews(NewsSortType sortType,Pageable pageable){
34-
// Slice<News> newsSlice=newsRepository.findAll(sortType,pageable);
34+
3535
Slice<News> newsSlice=switch(sortType){
3636
case LATEST -> newsRepository.findAllByOrderByDateDesc(pageable);
3737
case VIEWEST -> newsRepository.findAllByOrderByViewDesc(pageable);
@@ -43,6 +43,7 @@ public SliceResponseDto<NewsResponseDto> getAllNews(NewsSortType sortType,Pageab
4343
return new SliceResponseDto<>(content, newsSlice.hasNext(),newsSlice.getNumber());
4444
}
4545

46+
@Transactional
4647
public SliceResponseDto<NewsResponseDto> getAllThemaNews(NewsSortType sortType,Thema thema,Pageable pageable) {
4748
Slice<News> newsSlice=switch(sortType){
4849
case LATEST -> newsRepository.findByThemaOrderByDateDesc(thema,pageable);

src/main/java/com/tave/alarmissue/news/service/NewsVoteService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public NewsVoteResponseDto getVoteResult(NewsVoteRequestDto dto, Long userId) {
7272
NewsVote vote = getNewsVote(news, user);
7373

7474
List<NewsVoteCountResponse> voteCounts = newsVoteRepository.countVotesByType(news);
75+
news.incrementVoteCount(); //총 투표수 증가
7576

7677
return NewsVoteConverter.toVoteResponseDto(news, vote.getVoteType(), voteCounts);
7778
}

0 commit comments

Comments
 (0)