parent
85f14edc0a
commit
baeea79e66
|
@ -14,6 +14,8 @@ import org.springframework.cache.annotation.Cacheable
|
|||
import org.springframework.data.domain.Pageable
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
import java.time.ZoneId
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@Service
|
||||
class AudioContentMainService(
|
||||
|
@ -107,6 +109,17 @@ class AudioContentMainService(
|
|||
type = it.type,
|
||||
thumbnailImageUrl = "$imageHost/${it.thumbnailImage}",
|
||||
eventItem = if (it.type == AudioContentBannerType.EVENT && it.event != null) {
|
||||
val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
|
||||
val startDate = it.event!!.startDate
|
||||
.atZone(ZoneId.of("UTC"))
|
||||
.withZoneSameInstant(ZoneId.of("Asia/Seoul"))
|
||||
.format(dateTimeFormatter)
|
||||
|
||||
val endDate = it.event!!.endDate
|
||||
.atZone(ZoneId.of("UTC"))
|
||||
.withZoneSameInstant(ZoneId.of("Asia/Seoul"))
|
||||
.format(dateTimeFormatter)
|
||||
|
||||
EventItem(
|
||||
id = it.event!!.id!!,
|
||||
thumbnailImageUrl = if (!it.event!!.thumbnailImage.startsWith("https://")) {
|
||||
|
@ -123,8 +136,8 @@ class AudioContentMainService(
|
|||
it.event!!.detailImage
|
||||
},
|
||||
popupImageUrl = null,
|
||||
startDate = it.event!!.startDate,
|
||||
endDate = it.event!!.endDate,
|
||||
startDate = startDate,
|
||||
endDate = endDate,
|
||||
link = it.event!!.link,
|
||||
title = it.event!!.title,
|
||||
isPopup = false
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package kr.co.vividnext.sodalive.event
|
||||
|
||||
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 kr.co.vividnext.sodalive.event.QEvent.event
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
@ -44,8 +47,8 @@ class EventQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : Even
|
|||
event.thumbnailImage,
|
||||
event.detailImage,
|
||||
event.popupImage,
|
||||
event.startDate,
|
||||
event.endDate,
|
||||
getFormattedDate(event.startDate),
|
||||
getFormattedDate(event.endDate),
|
||||
event.link,
|
||||
event.isAdult,
|
||||
event.isPopup
|
||||
|
@ -85,8 +88,8 @@ class EventQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : Even
|
|||
event.thumbnailImage,
|
||||
event.detailImage,
|
||||
event.popupImage,
|
||||
event.startDate,
|
||||
event.endDate,
|
||||
getFormattedDate(event.startDate),
|
||||
getFormattedDate(event.endDate),
|
||||
event.link,
|
||||
event.isAdult,
|
||||
event.isPopup
|
||||
|
@ -97,4 +100,18 @@ class EventQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : Even
|
|||
.orderBy(event.id.desc())
|
||||
.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"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ package kr.co.vividnext.sodalive.event
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.querydsl.core.annotations.QueryProjection
|
||||
import java.time.LocalDateTime
|
||||
|
||||
data class GetEventResponse(
|
||||
@JsonProperty("totalCount") val totalCount: Int,
|
||||
|
@ -17,8 +16,8 @@ data class EventItem @QueryProjection constructor(
|
|||
@JsonProperty("thumbnailImageUrl") var thumbnailImageUrl: String,
|
||||
@JsonProperty("detailImageUrl") var detailImageUrl: String? = null,
|
||||
@JsonProperty("popupImageUrl") var popupImageUrl: String? = null,
|
||||
@JsonProperty("startDate") var startDate: LocalDateTime,
|
||||
@JsonProperty("endDate") var endDate: LocalDateTime,
|
||||
@JsonProperty("startDate") var startDate: String,
|
||||
@JsonProperty("endDate") var endDate: String,
|
||||
@JsonProperty("link") val link: String? = null,
|
||||
@JsonProperty("isAdult") val isAdult: Boolean? = null,
|
||||
@JsonProperty("isPopup") val isPopup: Boolean
|
||||
|
|
Loading…
Reference in New Issue