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