오디션

- endDate 제거
This commit is contained in:
Klaus 2025-01-05 15:27:03 +09:00
parent 47dfaec226
commit 824cd2f3ea
6 changed files with 0 additions and 54 deletions

View File

@ -1,16 +1,11 @@
package kr.co.vividnext.sodalive.admin.audition package kr.co.vividnext.sodalive.admin.audition
import com.querydsl.core.types.dsl.CaseBuilder
import com.querydsl.core.types.dsl.DateTimePath
import com.querydsl.core.types.dsl.Expressions
import com.querydsl.core.types.dsl.StringTemplate
import com.querydsl.jpa.impl.JPAQueryFactory import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.audition.Audition import kr.co.vividnext.sodalive.audition.Audition
import kr.co.vividnext.sodalive.audition.QAudition.audition import kr.co.vividnext.sodalive.audition.QAudition.audition
import org.springframework.beans.factory.annotation.Value import org.springframework.beans.factory.annotation.Value
import org.springframework.data.jpa.repository.JpaRepository import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.stereotype.Repository import org.springframework.stereotype.Repository
import java.time.LocalDateTime
@Repository @Repository
interface AdminAuditionRepository : JpaRepository<Audition, Long>, AdminAuditionQueryRepository interface AdminAuditionRepository : JpaRepository<Audition, Long>, AdminAuditionQueryRepository
@ -33,10 +28,6 @@ class AdminAuditionQueryRepositoryImpl(
QGetAuditionListItem( QGetAuditionListItem(
audition.id, audition.id,
audition.title, audition.title,
CaseBuilder()
.`when`(audition.endDate.isNotNull)
.then(getFormattedDate(audition.endDate))
.otherwise(""),
audition.imagePath.prepend("/").prepend(coverImageHost), audition.imagePath.prepend("/").prepend(coverImageHost),
audition.isAdult, audition.isAdult,
audition.information, audition.information,
@ -75,18 +66,4 @@ class AdminAuditionQueryRepositoryImpl(
.where(audition.id.eq(auditionId)) .where(audition.id.eq(auditionId))
.fetchFirst() .fetchFirst()
} }
private fun getFormattedDate(dateTimePath: DateTimePath<LocalDateTime>): StringTemplate {
return Expressions.stringTemplate(
"DATE_FORMAT({0}, {1})",
Expressions.dateTimeTemplate(
LocalDateTime::class.java,
"CONVERT_TZ({0},{1},{2})",
dateTimePath,
"UTC",
"Asia/Seoul"
),
"%Y-%m-%d %H:%i:%s"
)
}
} }

View File

@ -11,9 +11,6 @@ import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional import org.springframework.transaction.annotation.Transactional
import org.springframework.web.multipart.MultipartFile import org.springframework.web.multipart.MultipartFile
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.format.DateTimeFormatter
@Service @Service
class AdminAuditionService( class AdminAuditionService(
@ -68,15 +65,6 @@ class AdminAuditionService(
audition.status = request.status audition.status = request.status
} }
if (request.endDateString != null) {
val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val endDate = LocalDateTime.parse(request.endDateString, dateTimeFormatter)
.atZone(ZoneId.of("Asia/Seoul"))
.withZoneSameInstant(ZoneId.of("UTC"))
.toLocalDateTime()
audition.endDate = endDate
}
if (request.originalWorkUrl != null) { if (request.originalWorkUrl != null) {
audition.originalWorkUrl = request.originalWorkUrl audition.originalWorkUrl = request.originalWorkUrl
} }

View File

@ -2,15 +2,11 @@ package kr.co.vividnext.sodalive.admin.audition
import kr.co.vividnext.sodalive.audition.Audition import kr.co.vividnext.sodalive.audition.Audition
import kr.co.vividnext.sodalive.common.SodaException import kr.co.vividnext.sodalive.common.SodaException
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.format.DateTimeFormatter
data class CreateAuditionRequest( data class CreateAuditionRequest(
val title: String, val title: String,
val information: String, val information: String,
val isAdult: Boolean = false, val isAdult: Boolean = false,
val endDateString: String? = null,
val originalWorkUrl: String? = null val originalWorkUrl: String? = null
) { ) {
init { init {
@ -24,21 +20,10 @@ data class CreateAuditionRequest(
} }
fun toAudition(): Audition { fun toAudition(): Audition {
val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val endDate = if (endDateString != null) {
LocalDateTime.parse(endDateString, dateTimeFormatter)
.atZone(ZoneId.of("Asia/Seoul"))
.withZoneSameInstant(ZoneId.of("UTC"))
.toLocalDateTime()
} else {
null
}
return Audition( return Audition(
title = title, title = title,
information = information, information = information,
isAdult = isAdult, isAdult = isAdult,
endDate = endDate,
originalWorkUrl = originalWorkUrl originalWorkUrl = originalWorkUrl
) )
} }

View File

@ -11,7 +11,6 @@ data class GetAuditionListResponse(
data class GetAuditionListItem @QueryProjection constructor( data class GetAuditionListItem @QueryProjection constructor(
val id: Long, val id: Long,
val title: String, val title: String,
val endDate: String,
val imageUrl: String, val imageUrl: String,
val isAdult: Boolean, val isAdult: Boolean,
val information: String, val information: String,

View File

@ -7,7 +7,6 @@ data class UpdateAuditionRequest(
val title: String? = null, val title: String? = null,
val information: String? = null, val information: String? = null,
val isAdult: Boolean? = null, val isAdult: Boolean? = null,
val endDateString: String? = null,
val status: AuditionStatus? = null, val status: AuditionStatus? = null,
val originalWorkUrl: String? = null, val originalWorkUrl: String? = null,
val isActive: Boolean? = null val isActive: Boolean? = null

View File

@ -1,7 +1,6 @@
package kr.co.vividnext.sodalive.audition package kr.co.vividnext.sodalive.audition
import kr.co.vividnext.sodalive.common.BaseEntity import kr.co.vividnext.sodalive.common.BaseEntity
import java.time.LocalDateTime
import javax.persistence.Column import javax.persistence.Column
import javax.persistence.Entity import javax.persistence.Entity
import javax.persistence.EnumType import javax.persistence.EnumType
@ -13,7 +12,6 @@ data class Audition(
@Column(columnDefinition = "TEXT") @Column(columnDefinition = "TEXT")
var information: String, var information: String,
var isAdult: Boolean = false, var isAdult: Boolean = false,
var endDate: LocalDateTime? = null,
// 원작 URL // 원작 URL
var originalWorkUrl: String? = null, var originalWorkUrl: String? = null,
@Enumerated(value = EnumType.STRING) @Enumerated(value = EnumType.STRING)