Compare commits

..

2 Commits

3 changed files with 26 additions and 4 deletions

View File

@@ -36,6 +36,7 @@ data class UseCan(
var chatRoomId: Long? = null,
var characterId: Long? = null,
// ISO 3166-1 alpha-2 국가 코드
var countryCode: String? = null
) : BaseEntity() {
@ManyToOne(fetch = FetchType.LAZY)

View File

@@ -44,6 +44,7 @@ interface AudioContentQueryRepository {
fun findByIdAndCreatorId(contentId: Long, creatorId: Long): AudioContent?
fun findByCreatorId(
creatorId: Long,
isCreator: Boolean = false,
coverImageHost: String,
isAdult: Boolean = false,
contentType: ContentType = ContentType.ALL,
@@ -55,6 +56,7 @@ interface AudioContentQueryRepository {
fun findTotalCountByCreatorId(
creatorId: Long,
isCreator: Boolean = false,
isAdult: Boolean = false,
categoryId: Long = 0,
contentType: ContentType = ContentType.ALL
@@ -230,6 +232,7 @@ class AudioContentQueryRepositoryImpl(
override fun findByCreatorId(
creatorId: Long,
isCreator: Boolean,
coverImageHost: String,
isAdult: Boolean,
contentType: ContentType,
@@ -246,11 +249,18 @@ class AudioContentQueryRepositoryImpl(
}
var where = audioContent.member.id.eq(creatorId)
.and(
where = if (isCreator) {
where.and(
audioContent.releaseDate.isNotNull
.and(audioContent.duration.isNotNull)
)
} else {
where.and(
audioContent.isActive.isTrue
.and(audioContent.duration.isNotNull)
.or(audioContent.releaseDate.isNotNull.and(audioContent.duration.isNotNull))
)
}
if (!isAdult) {
where = where.and(audioContent.isAdult.isFalse)
@@ -332,16 +342,24 @@ class AudioContentQueryRepositoryImpl(
override fun findTotalCountByCreatorId(
creatorId: Long,
isCreator: Boolean,
isAdult: Boolean,
categoryId: Long,
contentType: ContentType
): Int {
var where = audioContent.member.id.eq(creatorId)
.and(
where = if (isCreator) {
where.and(
audioContent.releaseDate.isNotNull
.and(audioContent.duration.isNotNull)
)
} else {
where.and(
audioContent.isActive.isTrue
.and(audioContent.duration.isNotNull)
.or(audioContent.releaseDate.isNotNull.and(audioContent.duration.isNotNull))
)
}
if (!isAdult) {
where = where.and(audioContent.isAdult.isFalse)

View File

@@ -979,9 +979,11 @@ class AudioContentService(
limit: Long
): GetAudioContentListResponse {
val isAdult = member.auth != null && isAdultContentVisible
val isCreator = member.id == creatorId
val totalCount = repository.findTotalCountByCreatorId(
creatorId = creatorId,
isCreator = isCreator,
isAdult = isAdult,
categoryId = categoryId,
contentType = contentType
@@ -989,6 +991,7 @@ class AudioContentService(
val audioContentList = repository.findByCreatorId(
creatorId = creatorId,
isCreator = isCreator,
coverImageHost = coverImageHost,
isAdult = isAdult,
contentType = contentType,