From a168d90dd3e6949228a25768f146185d445c11f0 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 2 May 2024 15:45:41 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=8B=9C?= =?UTF-8?q?=EA=B7=B8=EB=8B=88=EC=B2=98=20=EC=84=A4=EC=A0=95=20-=20?= =?UTF-8?q?=EC=9E=AC=EC=83=9D=20=EC=8B=9C=EA=B0=84,=20=EC=BA=94=20?= =?UTF-8?q?=EC=9C=A0=ED=9A=A8=EC=84=B1=20=EA=B2=80=EC=82=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../signature/AdminSignatureCanController.kt | 13 +++++++++++-- .../signature/AdminSignatureCanRepository.kt | 1 + .../signature/AdminSignatureCanService.kt | 19 +++++++++++++++++-- .../signature/GetSignatureCanListResponse.kt | 1 + .../signature/CreatorAdminSignatureService.kt | 6 +++--- 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt index 1abe191..196b893 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt @@ -22,11 +22,12 @@ class AdminSignatureCanController(private val service: AdminSignatureCanService) @PostMapping fun createSignatureCan( @RequestParam("can") can: Int, + @RequestParam("time") time: Int, @RequestParam("image") image: MultipartFile, @RequestParam("creator_id") creatorId: Long, @RequestParam("isAdult", required = false) isAdult: Boolean = false ) = ApiResponse.ok( - service.createSignatureCan(can = can, creatorId = creatorId, image = image, isAdult = isAdult), + service.createSignatureCan(can = can, time = time, creatorId = creatorId, image = image, isAdult = isAdult), "등록되었습니다." ) @@ -34,6 +35,7 @@ class AdminSignatureCanController(private val service: AdminSignatureCanService) fun modifySignatureCan( @RequestParam("id") id: Long, @RequestParam("can", required = false) can: Int?, + @RequestParam("time", required = false) time: Int?, @RequestParam("image", required = false) image: MultipartFile?, @RequestParam("isActive", required = false) isActive: Boolean?, @RequestParam("isAdult", required = false) isAdult: Boolean? @@ -43,7 +45,14 @@ class AdminSignatureCanController(private val service: AdminSignatureCanService) } ApiResponse.ok( - service.modifySignatureCan(id = id, can = can, image = image, isActive = isActive, isAdult = isAdult), + service.modifySignatureCan( + id = id, + can = can, + time = time, + image = image, + isActive = isActive, + isAdult = isAdult + ), "수정되었습니다." ) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt index 7825fa8..cea1b35 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt @@ -30,6 +30,7 @@ class AdminSignatureCanQueryRepositoryImpl( QGetSignatureCanListItem( signatureCan.id, signatureCan.can, + signatureCan.time, signatureCan.image.prepend("/").prepend(imageHost), signatureCan.isAdult, member.nickname diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt index d5028cd..e2e4d69 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt @@ -37,8 +37,10 @@ class AdminSignatureCanService( } @Transactional - fun createSignatureCan(can: Int, creatorId: Long, image: MultipartFile, isAdult: Boolean) { + fun createSignatureCan(can: Int, time: Int, creatorId: Long, image: MultipartFile, isAdult: Boolean) { if (creatorId < 1) throw SodaException("올바른 크리에이터를 선택해 주세요.") + if (can <= 0) throw SodaException("1캔 이상 설정할 수 있습니다.") + if (time < 3 || time > 20) throw SodaException("시간은 3초 이상 20초 이하로 설정할 수 있습니다.") val creator = memberRepository.findCreatorByIdOrNull(memberId = creatorId) ?: throw SodaException("올바른 크리에이터를 선택해 주세요.") @@ -60,14 +62,27 @@ class AdminSignatureCanService( } @Transactional - fun modifySignatureCan(id: Long, can: Int?, image: MultipartFile?, isActive: Boolean?, isAdult: Boolean?) { + fun modifySignatureCan( + id: Long, + can: Int?, + time: Int?, + image: MultipartFile?, + isActive: Boolean?, + isAdult: Boolean? + ) { val signatureCan = repository.findByIdOrNull(id = id) ?: throw SodaException("잘못된 요청입니다.") if (can != null) { + if (can <= 0) throw SodaException("1캔 이상 설정할 수 있습니다.") signatureCan.can = can } + if (time != null) { + if (time < 3 || time > 20) throw SodaException("시간은 3초 이상 20초 이하로 설정할 수 있습니다.") + signatureCan.time = time + } + if (isActive != null) { signatureCan.isActive = isActive } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt index 1969a4d..7e54518 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt @@ -10,6 +10,7 @@ data class GetSignatureCanListResponse( data class GetSignatureCanListItem @QueryProjection constructor( val id: Long, val can: Int, + val time: Int, val image: String, val isAdult: Boolean, val nickname: String diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt index 10ae45d..71bf228 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt @@ -38,12 +38,12 @@ class CreatorAdminSignatureService( @Transactional fun createSignature(can: Int, time: Int, image: MultipartFile, memberId: Long, isAdult: Boolean) { - val member = memberRepository.findCreatorByIdOrNull(memberId = memberId) - ?: throw SodaException("잘못된 접근입니다.") - if (can <= 0) throw SodaException("1캔 이상 설정할 수 있습니다.") if (time < 3 || time > 20) throw SodaException("시간은 3초 이상 20초 이하로 설정할 수 있습니다.") + val member = memberRepository.findCreatorByIdOrNull(memberId = memberId) + ?: throw SodaException("잘못된 접근입니다.") + val signatureCan = SignatureCan(can = can, time = time, isAdult = isAdult) signatureCan.creator = member repository.save(signatureCan) From 6cba58c301eb03507264650218449e31df8fd66f Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 2 May 2024 15:57:32 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=8B=9C?= =?UTF-8?q?=EA=B7=B8=EB=8B=88=EC=B2=98=20=EC=84=A4=EC=A0=95=20-=20?= =?UTF-8?q?=EC=9E=AC=EC=83=9D=20=EC=8B=9C=EA=B0=84,=20=EC=BA=94=20?= =?UTF-8?q?=EC=9C=A0=ED=9A=A8=EC=84=B1=20=EA=B2=80=EC=82=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/live/signature/AdminSignatureCanController.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt index 196b893..158bf61 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt @@ -40,7 +40,7 @@ class AdminSignatureCanController(private val service: AdminSignatureCanService) @RequestParam("isActive", required = false) isActive: Boolean?, @RequestParam("isAdult", required = false) isAdult: Boolean? ) = run { - if (can == null && image == null && isActive == null && isAdult == null) { + if (can == null && time == null && image == null && isActive == null && isAdult == null) { throw SodaException("변경사항이 없습니다.") }