From 50974d55c24d9b28126d8c586b3f2e8f5e299eb2 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 14 Aug 2024 16:20:35 +0900 Subject: [PATCH] =?UTF-8?q?=ED=81=AC=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=20=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=8B=9C=EB=A6=AC=EC=A6=88=20?= =?UTF-8?q?-=20=EC=88=9C=EC=84=9C=20=EB=B3=80=EA=B2=BD=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../series/CreatorAdminContentSeriesController.kt | 5 +++++ .../series/CreatorAdminContentSeriesRepository.kt | 2 +- .../series/CreatorAdminContentSeriesService.kt | 12 ++++++++++++ .../admin/content/series/UpdateOrdersRequest.kt | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/UpdateOrdersRequest.kt diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesController.kt index 0785176..ae7f864 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesController.kt @@ -134,4 +134,9 @@ class CreatorAdminContentSeriesController(private val service: CreatorAdminConte ) ) } + + @PutMapping("/orders") + fun updateSeriesOrders( + @RequestBody request: UpdateOrdersRequest + ) = ApiResponse.ok(service.updateSeriesOrders(ids = request.ids), "수정되었습니다.") } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt index f391285..7ee5536 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt @@ -72,7 +72,7 @@ class CreatorAdminContentSeriesQueryRepositoryImpl( series.member.id.eq(creatorId) .and(series.isActive.isTrue) ) - .orderBy(series.id.desc()) + .orderBy(series.orders.asc()) .offset(offset) .limit(limit) .fetch() diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt index b0317bc..eba9469 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt @@ -15,6 +15,7 @@ import kr.co.vividnext.sodalive.creator.admin.content.series.keyword.SeriesKeywo import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.utils.generateFileName import org.springframework.beans.factory.annotation.Value +import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional import org.springframework.web.multipart.MultipartFile @@ -270,4 +271,15 @@ class CreatorAdminContentSeriesService( imageHost = coverImageHost ) } + + @Transactional + fun updateSeriesOrders(ids: List) { + for (index in ids.indices) { + val series = repository.findByIdOrNull(ids[index]) + + if (series != null) { + series.orders = index + 1 + } + } + } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/UpdateOrdersRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/UpdateOrdersRequest.kt new file mode 100644 index 0000000..109fc0f --- /dev/null +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/UpdateOrdersRequest.kt @@ -0,0 +1,3 @@ +package kr.co.vividnext.sodalive.creator.admin.content.series + +data class UpdateOrdersRequest(val ids: List)