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

Reviewed-on: #211
This commit is contained in:
klaus 2024-09-11 06:00:31 +00:00
commit a58a67e0a2
6 changed files with 34 additions and 5 deletions

View File

@ -50,6 +50,7 @@ class ContentSeriesController(private val service: ContentSeriesService) {
@GetMapping("/{id}/content")
fun getSeriesContentList(
@PathVariable id: Long,
@RequestParam("sortType", defaultValue = "NEWEST") sortType: SeriesSortType,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
pageable: Pageable
) = run {
@ -59,6 +60,7 @@ class ContentSeriesController(private val service: ContentSeriesService) {
service.getSeriesContentList(
seriesId = id,
member = member,
sortType = sortType,
offset = pageable.offset,
limit = pageable.pageSize.toLong()
)

View File

@ -75,7 +75,13 @@ class ContentSeriesService(
val rentalMinPrice = (minMaxPrice.minPrice * 0.6).toInt()
val rentalMaxPrice = (minMaxPrice.maxPrice * 0.6).toInt()
val seriesContentList = getSeriesContentList(seriesId = seriesId, member = member, offset = 0, limit = 5)
val seriesContentList = getSeriesContentList(
seriesId = seriesId,
member = member,
sortType = SeriesSortType.NEWEST,
offset = 0,
limit = 5
)
val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy.MM.dd")
return GetSeriesDetailResponse(
@ -110,7 +116,13 @@ class ContentSeriesService(
)
}
fun getSeriesContentList(seriesId: Long, member: Member, offset: Long, limit: Long): GetSeriesContentListResponse {
fun getSeriesContentList(
seriesId: Long,
member: Member,
sortType: SeriesSortType,
offset: Long,
limit: Long
): GetSeriesContentListResponse {
val isAdult = member.auth != null
val totalCount = seriesContentRepository.getContentCount(seriesId, isAdult = isAdult)
@ -118,6 +130,7 @@ class ContentSeriesService(
seriesId = seriesId,
isAdult = isAdult,
imageHost = coverImageHost,
sortType = sortType,
offset = offset,
limit = limit
)

View File

@ -6,6 +6,7 @@ import kr.co.vividnext.sodalive.content.QAudioContent.audioContent
import kr.co.vividnext.sodalive.creator.admin.content.series.QSeries.series
import kr.co.vividnext.sodalive.creator.admin.content.series.QSeriesContent.seriesContent
import kr.co.vividnext.sodalive.creator.admin.content.series.SeriesContent
import kr.co.vividnext.sodalive.creator.admin.content.series.SeriesSortType
import org.springframework.data.jpa.repository.JpaRepository
import java.time.LocalDateTime
@ -17,6 +18,7 @@ interface ContentSeriesContentQueryRepository {
seriesId: Long,
isAdult: Boolean,
imageHost: String,
sortType: SeriesSortType,
offset: Long,
limit: Long
): List<GetSeriesContentListItem>
@ -49,6 +51,7 @@ class ContentSeriesContentQueryRepositoryImpl(
seriesId: Long,
isAdult: Boolean,
imageHost: String,
sortType: SeriesSortType,
offset: Long,
limit: Long
): List<GetSeriesContentListItem> {
@ -56,6 +59,12 @@ class ContentSeriesContentQueryRepositoryImpl(
.and(audioContent.isActive.isTrue)
.and(audioContent.duration.isNotNull)
var orderBy = seriesContent.createdAt.desc()
if (sortType == SeriesSortType.OLDEST) {
orderBy = seriesContent.createdAt.asc()
}
if (!isAdult) {
where = where.and(audioContent.isAdult.isFalse)
}
@ -89,7 +98,7 @@ class ContentSeriesContentQueryRepositoryImpl(
.innerJoin(seriesContent.series, series)
.innerJoin(seriesContent.content, audioContent)
.where(where)
.orderBy(series.orders.asc(), series.createdAt.asc())
.orderBy(orderBy)
.offset(offset)
.limit(limit)
.fetch()

View File

@ -26,7 +26,7 @@ enum class SeriesState {
}
enum class SeriesSortType {
NEWEST, POPULAR
NEWEST, OLDEST
}
@Entity

View File

@ -8,5 +8,6 @@ data class EditLiveRoomInfoRequest(
val timezone: String?,
val menuPanId: Long = 0,
val menuPan: String = "",
val isActiveMenuPan: Boolean? = null
val isActiveMenuPan: Boolean? = null,
val isAdult: Boolean? = null
)

View File

@ -749,6 +749,10 @@ class LiveRoomService(
.toLocalDateTime()
}
if (request.isAdult != null) {
room.isAdult = request.isAdult
}
if (request.isActiveMenuPan != null) {
if (request.isActiveMenuPan) {
if (request.menuPanId > 0) {