Merge pull request 'test' (#365) from test into main

Reviewed-on: #365
This commit is contained in:
2025-11-19 08:56:28 +00:00
4 changed files with 21 additions and 4 deletions

View File

@@ -124,7 +124,8 @@ class HomeService(
val originalAudioDramaList = seriesService.getOriginalAudioDramaList(
isAdult = isAdult,
contentType = contentType
contentType = contentType,
orderByRandom = true
)
val auditionList = auditionService.getInProgressAuditionList(isAdult = isAdult)

View File

@@ -39,6 +39,7 @@ interface ContentSeriesQueryRepository {
contentType: ContentType,
isOriginal: Boolean,
isCompleted: Boolean,
orderByRandom: Boolean,
offset: Long,
limit: Long
): List<Series>
@@ -65,6 +66,7 @@ interface ContentSeriesQueryRepository {
fun getOriginalAudioDramaList(
isAdult: Boolean,
contentType: ContentType,
orderByRandom: Boolean = false,
offset: Long = 0,
limit: Long = 20
): List<Series>
@@ -139,6 +141,7 @@ class ContentSeriesQueryRepositoryImpl(
contentType: ContentType,
isOriginal: Boolean,
isCompleted: Boolean,
orderByRandom: Boolean,
offset: Long,
limit: Long
): List<Series> {
@@ -173,7 +176,9 @@ class ContentSeriesQueryRepositoryImpl(
}
}
val orderBy = if (creatorId != null) {
val orderBy = if (orderByRandom) {
listOf(Expressions.numberTemplate(Double::class.java, "function('rand')").asc())
} else if (creatorId != null) {
listOf(series.orders.asc(), series.createdAt.asc())
} else {
listOf(audioContent.releaseDate.max().desc(), series.createdAt.asc())
@@ -362,6 +367,7 @@ class ContentSeriesQueryRepositoryImpl(
override fun getOriginalAudioDramaList(
isAdult: Boolean,
contentType: ContentType,
orderByRandom: Boolean,
offset: Long,
limit: Long
): List<Series> {
@@ -390,7 +396,13 @@ class ContentSeriesQueryRepositoryImpl(
.selectFrom(series)
.innerJoin(series.member, member)
.where(where)
.orderBy(series.id.desc())
.orderBy(
if (orderByRandom) {
Expressions.numberTemplate(Double::class.java, "function('rand')").asc()
} else {
series.id.desc()
}
)
.offset(offset)
.limit(limit)
.fetch()

View File

@@ -37,10 +37,11 @@ class ContentSeriesService(
fun getOriginalAudioDramaList(
isAdult: Boolean,
contentType: ContentType,
orderByRandom: Boolean = false,
offset: Long = 0,
limit: Long = 20
): List<GetSeriesListResponse.SeriesListItem> {
val originalAudioDramaList = repository.getOriginalAudioDramaList(isAdult, contentType, offset, limit)
val originalAudioDramaList = repository.getOriginalAudioDramaList(isAdult, contentType, orderByRandom, offset, limit)
return seriesToSeriesListItem(originalAudioDramaList, isAdult, contentType)
}
@@ -52,6 +53,7 @@ class ContentSeriesService(
creatorId: Long?,
isOriginal: Boolean = false,
isCompleted: Boolean = false,
orderByRandom: Boolean = false,
isAdultContentVisible: Boolean,
contentType: ContentType,
member: Member,
@@ -75,6 +77,7 @@ class ContentSeriesService(
contentType = contentType,
isOriginal = isOriginal,
isCompleted = isCompleted,
orderByRandom = orderByRandom,
offset = offset,
limit = limit
).filter { !blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it.member!!.id!!) }

View File

@@ -42,6 +42,7 @@ class SeriesMainController(
val completedSeriesList = contentSeriesService.getSeriesList(
creatorId = null,
isCompleted = true,
orderByRandom = true,
isAdultContentVisible = isAdultContentVisible ?: true,
contentType = contentType ?: ContentType.ALL,
member = member