test #165
|
@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.admin.content.series.genre
|
||||||
|
|
||||||
import kr.co.vividnext.sodalive.common.ApiResponse
|
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||||
import org.springframework.security.access.prepost.PreAuthorize
|
import org.springframework.security.access.prepost.PreAuthorize
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping
|
||||||
import org.springframework.web.bind.annotation.PostMapping
|
import org.springframework.web.bind.annotation.PostMapping
|
||||||
import org.springframework.web.bind.annotation.PutMapping
|
import org.springframework.web.bind.annotation.PutMapping
|
||||||
import org.springframework.web.bind.annotation.RequestBody
|
import org.springframework.web.bind.annotation.RequestBody
|
||||||
|
@ -27,4 +28,7 @@ class AdminContentSeriesGenreController(private val service: AdminContentSeriesG
|
||||||
service.modifySeriesGenreOrders(ids = request.ids),
|
service.modifySeriesGenreOrders(ids = request.ids),
|
||||||
"수정되었습니다."
|
"수정되었습니다."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
fun getSeriesGenreList() = ApiResponse.ok(service.getSeriesGenreList())
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,24 @@
|
||||||
package kr.co.vividnext.sodalive.admin.content.series.genre
|
package kr.co.vividnext.sodalive.admin.content.series.genre
|
||||||
|
|
||||||
|
import com.querydsl.jpa.impl.JPAQueryFactory
|
||||||
|
import kr.co.vividnext.sodalive.admin.content.series.genre.QSeriesGenre.seriesGenre
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
|
|
||||||
interface AdminContentSeriesGenreRepository : JpaRepository<SeriesGenre, Long>, AdminContentSeriesGenreQueryRepository
|
interface AdminContentSeriesGenreRepository : JpaRepository<SeriesGenre, Long>, AdminContentSeriesGenreQueryRepository
|
||||||
|
|
||||||
interface AdminContentSeriesGenreQueryRepository
|
interface AdminContentSeriesGenreQueryRepository {
|
||||||
|
fun getSeriesGenreList(): List<GetSeriesGenreListResponse>
|
||||||
|
}
|
||||||
|
|
||||||
class AdminContentSeriesGenreQueryRepositoryImpl : AdminContentSeriesGenreQueryRepository
|
class AdminContentSeriesGenreQueryRepositoryImpl(
|
||||||
|
private val queryFactory: JPAQueryFactory
|
||||||
|
) : AdminContentSeriesGenreQueryRepository {
|
||||||
|
override fun getSeriesGenreList(): List<GetSeriesGenreListResponse> {
|
||||||
|
return queryFactory
|
||||||
|
.select(QGetSeriesGenreListResponse(seriesGenre.id, seriesGenre.genre, seriesGenre.isAdult))
|
||||||
|
.from(seriesGenre)
|
||||||
|
.where(seriesGenre.isActive.isTrue)
|
||||||
|
.orderBy(seriesGenre.orders.asc())
|
||||||
|
.fetch()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -46,4 +46,8 @@ class AdminContentSeriesGenreService(private val repository: AdminContentSeriesG
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getSeriesGenreList(): List<GetSeriesGenreListResponse> {
|
||||||
|
return repository.getSeriesGenreList()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package kr.co.vividnext.sodalive.admin.content.series.genre
|
||||||
|
|
||||||
|
import com.querydsl.core.annotations.QueryProjection
|
||||||
|
|
||||||
|
data class GetSeriesGenreListResponse @QueryProjection constructor(
|
||||||
|
val id: Long,
|
||||||
|
val genre: String,
|
||||||
|
val isAdult: Boolean
|
||||||
|
)
|
Loading…
Reference in New Issue