Skip to content

Commit 6c9dcb3

Browse files
KoSeonJeclaude
andcommitted
feat: 피드 랭킹 좋아요·조회수 가중치 변경 (#406)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0a1282e commit 6c9dcb3

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

src/main/java/ddingdong/ddingdongBE/domain/feed/service/GeneralFeedRankingService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
public class GeneralFeedRankingService implements FeedRankingService {
2222

2323
private static final int FEED_WEIGHT = 10;
24-
private static final int VIEW_WEIGHT = 1;
25-
private static final int LIKE_WEIGHT = 3;
24+
private static final int VIEW_WEIGHT = 3;
25+
private static final int LIKE_WEIGHT = 1;
2626
private static final int COMMENT_WEIGHT = 5;
2727

2828
private final FeedRepository feedRepository;

src/test/java/ddingdong/ddingdongBE/domain/feed/controller/AdminFeedControllerE2ETest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void getClubFeedRanking_success() {
7070
// 동아리A: 피드 1개 → score = 10
7171
feedRepository.save(FeedFixture.createImageFeed(clubA, "피드A"));
7272

73-
// 동아리B: 피드 2개 + 좋아요 1개 → score = 2*10 + 1*3 = 23
73+
// 동아리B: 피드 2개 + 좋아요 1개 → score = 2*10 + 1*1 = 21
7474
Feed feedB = feedRepository.save(FeedFixture.createImageFeed(clubB, "피드B1"));
7575
feedRepository.save(FeedFixture.createImageFeed(clubB, "피드B2"));
7676
given()
@@ -105,9 +105,9 @@ void getClubFeedRanking_success() {
105105
assertThat(first.rank()).isEqualTo(1);
106106
assertThat(first.feedScore()).isEqualTo(2 * 10);
107107
assertThat(first.viewScore()).isEqualTo(0);
108-
assertThat(first.likeScore()).isEqualTo(1 * 3);
108+
assertThat(first.likeScore()).isEqualTo(1);
109109
assertThat(first.commentScore()).isEqualTo(0);
110-
assertThat(first.totalScore()).isEqualTo(23);
110+
assertThat(first.totalScore()).isEqualTo(21);
111111

112112
AdminClubFeedRankingResponse second = response.get(1);
113113
assertThat(second.clubName()).isEqualTo("동아리A");

src/test/java/ddingdong/ddingdongBE/domain/feed/controller/ClubFeedStatusE2ETest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ void getFeedStatus_success() {
8080
String token = signIn("club123", "1234");
8181

8282
// when & then
83-
// score = feedCount(2)*10 + viewCount(0)*1 + likeCount(1)*3 + commentCount(1)*5 = 28
83+
// score = feedCount(2)*10 + viewCount(0)*3 + likeCount(1)*1 + commentCount(1)*5 = 26
8484
Map<?, ?> response = given()
8585
.contentType(ContentType.JSON)
8686
.header("Authorization", "Bearer " + token)
@@ -93,14 +93,14 @@ void getFeedStatus_success() {
9393
.extract()
9494
.as(Map.class);
9595

96-
// feedScore = 2*10=20, viewScore = 0, likeScore = 1*3=3, commentScore = 1*5=5, totalScore = 28
96+
// feedScore = 2*10=20, viewScore = 0, likeScore = 1*1=1, commentScore = 1*5=5, totalScore = 26
9797
assertSoftly(softly -> {
9898
softly.assertThat(response.get("year")).isEqualTo(year);
9999
softly.assertThat(response.get("month")).isEqualTo(month);
100100
softly.assertThat(((Number) response.get("feedScore")).longValue()).isEqualTo(20L);
101-
softly.assertThat(((Number) response.get("likeScore")).longValue()).isEqualTo(3L);
101+
softly.assertThat(((Number) response.get("likeScore")).longValue()).isEqualTo(1L);
102102
softly.assertThat(((Number) response.get("commentScore")).longValue()).isEqualTo(5L);
103-
softly.assertThat(((Number) response.get("totalScore")).longValue()).isEqualTo(28L);
103+
softly.assertThat(((Number) response.get("totalScore")).longValue()).isEqualTo(26L);
104104
softly.assertThat(((Number) response.get("rank")).intValue()).isEqualTo(1);
105105
softly.assertThat(((Number) response.get("lastMonthRank")).intValue()).isEqualTo(0);
106106
});

src/test/java/ddingdong/ddingdongBE/domain/feed/service/GeneralFeedRankingServiceTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -194,14 +194,14 @@ void getClubFeedRanking_withLikesAndComments() {
194194
List<ClubFeedRankingQuery> result = feedRankingService.getClubFeedRanking(year, month);
195195

196196
// then
197-
// score = feedCount(1)*10 + viewCount(0)*1 + likeCount(2)*3 + commentCount(1)*5 = 10+0+6+5 = 21
197+
// score = feedCount(1)*10 + viewCount(0)*3 + likeCount(2)*1 + commentCount(1)*5 = 10+0+2+5 = 17
198198
assertThat(result).hasSize(1);
199199
assertSoftly(softly -> {
200200
softly.assertThat(result.get(0).clubName()).isEqualTo("활발한동아리");
201201
softly.assertThat(result.get(0).feedScore()).isEqualTo(10L);
202-
softly.assertThat(result.get(0).likeScore()).isEqualTo(6L);
202+
softly.assertThat(result.get(0).likeScore()).isEqualTo(2L);
203203
softly.assertThat(result.get(0).commentScore()).isEqualTo(5L);
204-
softly.assertThat(result.get(0).totalScore()).isEqualTo(21L);
204+
softly.assertThat(result.get(0).totalScore()).isEqualTo(17L);
205205
});
206206
}
207207

@@ -438,14 +438,14 @@ void getClubFeedRankingSnapshot_calculatesWeightedScores() {
438438
List<ClubFeedRankingQuery> result = feedRankingService.getClubFeedRankingSnapshot(2026, 2);
439439

440440
// then
441-
// feedScore=10*10=100, viewScore=100*1=100, likeScore=50*3=150, commentScore=20*5=100, total=450
441+
// feedScore=10*10=100, viewScore=100*3=300, likeScore=50*1=50, commentScore=20*5=100, total=550
442442
assertThat(result).hasSize(1);
443443
assertSoftly(softly -> {
444444
softly.assertThat(result.get(0).feedScore()).isEqualTo(100L);
445-
softly.assertThat(result.get(0).viewScore()).isEqualTo(100L);
446-
softly.assertThat(result.get(0).likeScore()).isEqualTo(150L);
445+
softly.assertThat(result.get(0).viewScore()).isEqualTo(300L);
446+
softly.assertThat(result.get(0).likeScore()).isEqualTo(50L);
447447
softly.assertThat(result.get(0).commentScore()).isEqualTo(100L);
448-
softly.assertThat(result.get(0).totalScore()).isEqualTo(450L);
448+
softly.assertThat(result.get(0).totalScore()).isEqualTo(550L);
449449
});
450450
}
451451
}

0 commit comments

Comments
 (0)