parent
2ce13afc0a
commit
d454acdcbe
|
@ -50,8 +50,9 @@ class AdminAdMediaPartnerService(private val repository: AdMediaPartnerRepositor
|
|||
}
|
||||
}
|
||||
|
||||
fun getMediaPartnerList(offset: Long, limit: Long): List<GetAdminAdMediaPartnerResponse> {
|
||||
return repository.getMediaPartnerList(offset, limit)
|
||||
fun getMediaPartnerList(offset: Long, limit: Long): GetAdminAdMediaPartnerResponse {
|
||||
val totalCount = repository.getMediaPartnerListTotalCount()
|
||||
val items = repository.getMediaPartnerList(offset, limit)
|
||||
.map {
|
||||
val deepLinkValue = when (it.type) {
|
||||
AdMediaPartnerType.SERIES -> "series"
|
||||
|
@ -77,6 +78,11 @@ class AdminAdMediaPartnerService(private val repository: AdMediaPartnerRepositor
|
|||
it.link = link
|
||||
it
|
||||
}
|
||||
|
||||
return GetAdminAdMediaPartnerResponse(
|
||||
totalCount = totalCount,
|
||||
items = items
|
||||
)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -3,7 +3,12 @@ package kr.co.vividnext.sodalive.admin.marketing
|
|||
import com.querydsl.core.annotations.QueryProjection
|
||||
import kr.co.vividnext.sodalive.marketing.AdMediaPartnerType
|
||||
|
||||
data class GetAdminAdMediaPartnerResponse @QueryProjection constructor(
|
||||
data class GetAdminAdMediaPartnerResponse(
|
||||
val totalCount: Int,
|
||||
val items: List<GetAdminAdMediaPartnerResponseItem>
|
||||
)
|
||||
|
||||
data class GetAdminAdMediaPartnerResponseItem @QueryProjection constructor(
|
||||
val id: Long,
|
||||
val mediaGroup: String,
|
||||
val pid: String,
|
||||
|
|
|
@ -4,8 +4,8 @@ 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.admin.marketing.GetAdminAdMediaPartnerResponse
|
||||
import kr.co.vividnext.sodalive.admin.marketing.QGetAdminAdMediaPartnerResponse
|
||||
import kr.co.vividnext.sodalive.admin.marketing.GetAdminAdMediaPartnerResponseItem
|
||||
import kr.co.vividnext.sodalive.admin.marketing.QGetAdminAdMediaPartnerResponseItem
|
||||
import kr.co.vividnext.sodalive.marketing.QAdMediaPartner.adMediaPartner
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
|
@ -15,7 +15,8 @@ interface AdMediaPartnerRepository : JpaRepository<AdMediaPartner, Long>, AdMedi
|
|||
|
||||
interface AdMediaPartnerQueryRepository {
|
||||
fun findByPid(pid: String): AdMediaPartner?
|
||||
fun getMediaPartnerList(offset: Long, limit: Long): List<GetAdminAdMediaPartnerResponse>
|
||||
fun getMediaPartnerList(offset: Long, limit: Long): List<GetAdminAdMediaPartnerResponseItem>
|
||||
fun getMediaPartnerListTotalCount(): Int
|
||||
}
|
||||
|
||||
@Repository
|
||||
|
@ -27,10 +28,10 @@ class AdMediaPartnerQueryRepositoryImpl(private val queryFactory: JPAQueryFactor
|
|||
.fetchFirst()
|
||||
}
|
||||
|
||||
override fun getMediaPartnerList(offset: Long, limit: Long): List<GetAdminAdMediaPartnerResponse> {
|
||||
override fun getMediaPartnerList(offset: Long, limit: Long): List<GetAdminAdMediaPartnerResponseItem> {
|
||||
return queryFactory
|
||||
.select(
|
||||
QGetAdminAdMediaPartnerResponse(
|
||||
QGetAdminAdMediaPartnerResponseItem(
|
||||
adMediaPartner.id,
|
||||
adMediaPartner.mediaGroup,
|
||||
adMediaPartner.pid,
|
||||
|
@ -50,6 +51,14 @@ class AdMediaPartnerQueryRepositoryImpl(private val queryFactory: JPAQueryFactor
|
|||
.fetch()
|
||||
}
|
||||
|
||||
override fun getMediaPartnerListTotalCount(): Int {
|
||||
return queryFactory
|
||||
.select(adMediaPartner.id)
|
||||
.from(adMediaPartner)
|
||||
.fetch()
|
||||
.size
|
||||
}
|
||||
|
||||
private fun getFormattedDate(dateTimePath: DateTimePath<LocalDateTime>): StringTemplate {
|
||||
return Expressions.stringTemplate(
|
||||
"DATE_FORMAT({0}, {1})",
|
||||
|
|
Loading…
Reference in New Issue