Skip to content

Commit 2bdfd43

Browse files
committed
refactor(sort): Add secondary sort key startCount.desc() to trending
- Support multiple OrderSpecifiers in sort enums - Bump version to 0.4.6
1 parent 412aca1 commit 2bdfd43

7 files changed

Lines changed: 19 additions & 10 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ plugins {
1010

1111
group = "me.loghub"
1212

13-
version = "0.4.5-SNAPSHOT"
13+
version = "0.4.6-SNAPSHOT"
1414

1515
java { toolchain { languageVersion = JavaLanguageVersion.of(21) } }
1616

src/main/kotlin/me/loghub/api/dto/article/ArticleSort.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.querydsl.core.types.dsl.Expressions
55
import me.loghub.api.entity.article.QArticle
66
import me.loghub.api.lib.hibernate.PGroongaHibernateFunction
77

8-
enum class ArticleSort(val order: OrderSpecifier<*>) {
8+
enum class ArticleSort(vararg val order: OrderSpecifier<*>) {
99
latest(QArticle.article.createdAt.desc()),
1010
oldest(QArticle.article.createdAt.asc()),
1111
relevant(
@@ -15,5 +15,8 @@ enum class ArticleSort(val order: OrderSpecifier<*>) {
1515
QArticle.article.tableoid, QArticle.article.ctid,
1616
).desc()
1717
),
18-
trending(QArticle.article.stats.trendingScore.desc());
18+
trending(
19+
QArticle.article.stats.trendingScore.desc(),
20+
QArticle.article.stats.starCount.desc(),
21+
);
1922
}

src/main/kotlin/me/loghub/api/dto/question/QuestionSort.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.querydsl.core.types.dsl.Expressions
55
import me.loghub.api.entity.question.QQuestion
66
import me.loghub.api.lib.hibernate.PGroongaHibernateFunction
77

8-
enum class QuestionSort(val order: OrderSpecifier<*>) {
8+
enum class QuestionSort(vararg val order: OrderSpecifier<*>) {
99
latest(QQuestion.question.createdAt.desc()),
1010
oldest(QQuestion.question.createdAt.asc()),
1111
relevant(
@@ -15,5 +15,8 @@ enum class QuestionSort(val order: OrderSpecifier<*>) {
1515
QQuestion.question.tableoid, QQuestion.question.ctid,
1616
).desc()
1717
),
18-
trending(QQuestion.question.stats.trendingScore.desc());
18+
trending(
19+
QQuestion.question.stats.trendingScore.desc(),
20+
QQuestion.question.stats.starCount.desc(),
21+
);
1922
}

src/main/kotlin/me/loghub/api/dto/series/SeriesSort.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.querydsl.core.types.dsl.Expressions
55
import me.loghub.api.entity.series.QSeries
66
import me.loghub.api.lib.hibernate.PGroongaHibernateFunction
77

8-
enum class SeriesSort(val order: OrderSpecifier<*>) {
8+
enum class SeriesSort(vararg val order: OrderSpecifier<*>) {
99
latest(QSeries.series.createdAt.desc()),
1010
oldest(QSeries.series.createdAt.asc()),
1111
relevant(
@@ -15,5 +15,8 @@ enum class SeriesSort(val order: OrderSpecifier<*>) {
1515
QSeries.series.tableoid, QSeries.series.ctid,
1616
).desc()
1717
),
18-
trending(QSeries.series.stats.trendingScore.desc());
18+
trending(
19+
QSeries.series.stats.trendingScore.desc(),
20+
QSeries.series.stats.starCount.desc(),
21+
);
1922
}

src/main/kotlin/me/loghub/api/repository/article/ArticleCustomRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class ArticleCustomRepository(private val entityManager: EntityManager) {
3838
.from(article)
3939
.where(*conditions)
4040
.leftJoin(article.writer).fetchJoin()
41-
.orderBy(resolvedSort.order)
41+
.orderBy(*resolvedSort.order)
4242
.offset(pageable.offset)
4343
.limit(pageable.pageSize.toLong())
4444

src/main/kotlin/me/loghub/api/repository/question/QuestionCustomRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class QuestionCustomRepository(private val entityManager: EntityManager) {
4040
.from(question)
4141
.leftJoin(question.writer).fetchJoin()
4242
.where(*conditions)
43-
.orderBy(resolvedSort.order)
43+
.orderBy(*resolvedSort.order)
4444
.offset(pageable.offset)
4545
.limit(pageable.pageSize.toLong())
4646

src/main/kotlin/me/loghub/api/repository/series/SeriesCustomRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class SeriesCustomRepository(private val entityManager: EntityManager) {
3838
.from(series)
3939
.leftJoin(series.writer).fetchJoin()
4040
.where(*conditions)
41-
.orderBy(resolvedSort.order)
41+
.orderBy(*resolvedSort.order)
4242
.offset(pageable.offset)
4343
.limit(pageable.pageSize.toLong())
4444

0 commit comments

Comments
 (0)