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

View File

@ -75,7 +75,13 @@ class ContentSeriesService(
val rentalMinPrice = (minMaxPrice.minPrice * 0.6).toInt() val rentalMinPrice = (minMaxPrice.minPrice * 0.6).toInt()
val rentalMaxPrice = (minMaxPrice.maxPrice * 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") val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy.MM.dd")
return GetSeriesDetailResponse( 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 isAdult = member.auth != null
val totalCount = seriesContentRepository.getContentCount(seriesId, isAdult = isAdult) val totalCount = seriesContentRepository.getContentCount(seriesId, isAdult = isAdult)
@ -118,6 +130,7 @@ class ContentSeriesService(
seriesId = seriesId, seriesId = seriesId,
isAdult = isAdult, isAdult = isAdult,
imageHost = coverImageHost, imageHost = coverImageHost,
sortType = sortType,
offset = offset, offset = offset,
limit = limit 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.QSeries.series
import kr.co.vividnext.sodalive.creator.admin.content.series.QSeriesContent.seriesContent 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.SeriesContent
import kr.co.vividnext.sodalive.creator.admin.content.series.SeriesSortType
import org.springframework.data.jpa.repository.JpaRepository import org.springframework.data.jpa.repository.JpaRepository
import java.time.LocalDateTime import java.time.LocalDateTime
@ -17,6 +18,7 @@ interface ContentSeriesContentQueryRepository {
seriesId: Long, seriesId: Long,
isAdult: Boolean, isAdult: Boolean,
imageHost: String, imageHost: String,
sortType: SeriesSortType,
offset: Long, offset: Long,
limit: Long limit: Long
): List<GetSeriesContentListItem> ): List<GetSeriesContentListItem>
@ -49,6 +51,7 @@ class ContentSeriesContentQueryRepositoryImpl(
seriesId: Long, seriesId: Long,
isAdult: Boolean, isAdult: Boolean,
imageHost: String, imageHost: String,
sortType: SeriesSortType,
offset: Long, offset: Long,
limit: Long limit: Long
): List<GetSeriesContentListItem> { ): List<GetSeriesContentListItem> {
@ -56,6 +59,12 @@ class ContentSeriesContentQueryRepositoryImpl(
.and(audioContent.isActive.isTrue) .and(audioContent.isActive.isTrue)
.and(audioContent.duration.isNotNull) .and(audioContent.duration.isNotNull)
var orderBy = seriesContent.createdAt.desc()
if (sortType == SeriesSortType.OLDEST) {
orderBy = seriesContent.createdAt.asc()
}
if (!isAdult) { if (!isAdult) {
where = where.and(audioContent.isAdult.isFalse) where = where.and(audioContent.isAdult.isFalse)
} }
@ -89,7 +98,7 @@ class ContentSeriesContentQueryRepositoryImpl(
.innerJoin(seriesContent.series, series) .innerJoin(seriesContent.series, series)
.innerJoin(seriesContent.content, audioContent) .innerJoin(seriesContent.content, audioContent)
.where(where) .where(where)
.orderBy(series.orders.asc(), series.createdAt.asc()) .orderBy(orderBy)
.offset(offset) .offset(offset)
.limit(limit) .limit(limit)
.fetch() .fetch()

View File

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

View File

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

View File

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