관리자 시리즈 검색 API - 검색어 추가

관리자/앱 콘텐츠 배너 API - 시리즈 추가
This commit is contained in:
Klaus 2025-01-17 14:00:09 +09:00
parent 40c0b72450
commit ddb49f6215
5 changed files with 15 additions and 0 deletions

View File

@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.admin.content.banner
import com.querydsl.jpa.impl.JPAQueryFactory import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.content.main.banner.AudioContentBanner import kr.co.vividnext.sodalive.content.main.banner.AudioContentBanner
import kr.co.vividnext.sodalive.content.main.banner.QAudioContentBanner.audioContentBanner import kr.co.vividnext.sodalive.content.main.banner.QAudioContentBanner.audioContentBanner
import kr.co.vividnext.sodalive.creator.admin.content.series.QSeries.series
import kr.co.vividnext.sodalive.event.QEvent.event import kr.co.vividnext.sodalive.event.QEvent.event
import kr.co.vividnext.sodalive.member.QMember.member import kr.co.vividnext.sodalive.member.QMember.member
import org.springframework.beans.factory.annotation.Value import org.springframework.beans.factory.annotation.Value
@ -32,6 +33,8 @@ class AdminContentBannerQueryRepositoryImpl(
audioContentBanner.event.thumbnailImage, audioContentBanner.event.thumbnailImage,
audioContentBanner.creator.id, audioContentBanner.creator.id,
audioContentBanner.creator.nickname, audioContentBanner.creator.nickname,
audioContentBanner.series.id,
audioContentBanner.series.title,
audioContentBanner.link, audioContentBanner.link,
audioContentBanner.isAdult audioContentBanner.isAdult
) )
@ -39,6 +42,7 @@ class AdminContentBannerQueryRepositoryImpl(
.from(audioContentBanner) .from(audioContentBanner)
.leftJoin(audioContentBanner.event, event) .leftJoin(audioContentBanner.event, event)
.leftJoin(audioContentBanner.creator, member) .leftJoin(audioContentBanner.creator, member)
.leftJoin(audioContentBanner.series, series)
.where(audioContentBanner.isActive.isTrue) .where(audioContentBanner.isActive.isTrue)
.orderBy(audioContentBanner.orders.asc()) .orderBy(audioContentBanner.orders.asc())
.fetch() .fetch()

View File

@ -11,6 +11,8 @@ data class GetAdminContentBannerResponse @QueryProjection constructor(
val eventThumbnailImage: String?, val eventThumbnailImage: String?,
val creatorId: Long?, val creatorId: Long?,
val creatorNickname: String?, val creatorNickname: String?,
val seriesId: Long?,
val seriesTitle: String?,
val link: String?, val link: String?,
val isAdult: Boolean val isAdult: Boolean
) )

View File

@ -80,6 +80,7 @@ class AdminContentSeriesQueryRepositoryImpl(
override fun searchSeriesList(searchWord: String): List<GetAdminSearchSeriesListItem> { override fun searchSeriesList(searchWord: String): List<GetAdminSearchSeriesListItem> {
val where = series.isActive.isTrue val where = series.isActive.isTrue
.and(series.title.contains(searchWord))
.and(series.member.isNotNull) .and(series.member.isNotNull)
.and(series.member.isActive.isTrue) .and(series.member.isActive.isTrue)

View File

@ -97,6 +97,8 @@ class AudioContentMainService(
.filter { .filter {
if (it.type == AudioContentBannerType.CREATOR && it.creator != null) { if (it.type == AudioContentBannerType.CREATOR && it.creator != null) {
!blockMemberRepository.isBlocked(blockedMemberId = memberId, memberId = it.creator!!.id!!) !blockMemberRepository.isBlocked(blockedMemberId = memberId, memberId = it.creator!!.id!!)
} else if (it.type == AudioContentBannerType.SERIES && it.series != null) {
!blockMemberRepository.isBlocked(blockedMemberId = memberId, memberId = it.series!!.member!!.id!!)
} else { } else {
true true
} }
@ -132,6 +134,11 @@ class AudioContentMainService(
} else { } else {
null null
}, },
seriesId = if (it.type == AudioContentBannerType.SERIES && it.series != null) {
it.series!!.id
} else {
null
},
link = it.link link = it.link
) )
} }

View File

@ -8,5 +8,6 @@ data class GetAudioContentBannerResponse(
@JsonProperty("thumbnailImageUrl") val thumbnailImageUrl: String, @JsonProperty("thumbnailImageUrl") val thumbnailImageUrl: String,
@JsonProperty("eventItem") val eventItem: EventItem?, @JsonProperty("eventItem") val eventItem: EventItem?,
@JsonProperty("creatorId") val creatorId: Long?, @JsonProperty("creatorId") val creatorId: Long?,
@JsonProperty("seriesId") val seriesId: Long?,
@JsonProperty("link") val link: String? @JsonProperty("link") val link: String?
) )