Compare commits

...

6 Commits

Author SHA1 Message Date
klaus a58a67e0a2 Merge pull request 'test' (#211) from test into main
Reviewed-on: #211
2024-09-11 06:00:31 +00:00
Klaus 472cfdb45b 라이브 방 정보 수정
- 연령제한 수정 기능 추가
2024-09-10 23:43:49 +09:00
Klaus d0a0b5ecbe 시리즈 콘텐츠 리스트 정렬
- required = false 대신 defaultValue를 이용하여 기본값 설정
2024-09-10 17:46:17 +09:00
Klaus 5e01ece02b 시리즈 콘텐츠 리스트 정렬
- 기본값을 NEWEST로 변경
2024-09-10 16:26:17 +09:00
Klaus 47748875c0 시리즈 콘텐츠 리스트
- 정렬(최신순, 등록순) 추가
2024-09-10 16:11:13 +09:00
Klaus d804ad268a 시리즈 콘텐츠 리스트
- 정렬(최신순, 등록순) 추가
2024-09-09 23:41:29 +09:00
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) {