From 9f7bc6adedf4f2c0339bc2cafd7b724d9e5b9ff3 Mon Sep 17 00:00:00 2001 From: Yujeong Lee <90572599+letskuku@users.noreply.github.com> Date: Mon, 15 Jul 2024 19:37:53 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"Revert=20"feat:=20=ED=94=84=EB=A1=A0?= =?UTF-8?q?=ED=8A=B8=20=EC=85=A7=EB=8B=A4=EC=9A=B4=20=EC=83=81=ED=83=9C=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5=20=EB=B0=8F=20=ED=99=95=EC=9D=B8=20=EC=9C=84?= =?UTF-8?q?=ED=95=9C=20api=20=EA=B5=AC=ED=98=84""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/application/AdminService.java | 4 ++++ .../admin/application/AdminServiceImpl.java | 18 ++++++++++++++++ .../admin/presentation/AdminController.java | 21 +++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/src/main/java/com/example/sharemind/admin/application/AdminService.java b/src/main/java/com/example/sharemind/admin/application/AdminService.java index 75cc65c7..b667d56d 100644 --- a/src/main/java/com/example/sharemind/admin/application/AdminService.java +++ b/src/main/java/com/example/sharemind/admin/application/AdminService.java @@ -46,4 +46,8 @@ public interface AdminService { void deletePostByPostId(Long postId); InformationGetResponse getInformation(); + + Boolean updateShutdown(Boolean shutdown); + + Boolean getShutdown(); } diff --git a/src/main/java/com/example/sharemind/admin/application/AdminServiceImpl.java b/src/main/java/com/example/sharemind/admin/application/AdminServiceImpl.java index a4453175..101f56c2 100644 --- a/src/main/java/com/example/sharemind/admin/application/AdminServiceImpl.java +++ b/src/main/java/com/example/sharemind/admin/application/AdminServiceImpl.java @@ -41,6 +41,8 @@ import com.example.sharemind.post.exception.PostErrorCode; import com.example.sharemind.post.exception.PostException; import lombok.RequiredArgsConstructor; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -50,6 +52,7 @@ @Transactional(readOnly = true) @RequiredArgsConstructor public class AdminServiceImpl implements AdminService { + private static final String SHUT_DOWN_KEY = "SHUT_DOWN"; private final ConsultService consultService; private final LetterService letterService; @@ -59,6 +62,7 @@ public class AdminServiceImpl implements AdminService { private final CustomerService customerService; private final PostService postService; private final EmailService emailService; + private final RedisTemplate redisTemplate; @Override public List getUnpaidConsults() { @@ -295,4 +299,18 @@ public InformationGetResponse getInformation() { publicPosts, completedPublicPosts, secretPosts, secretPostCosts, completedSecretPosts, completedSecretPostCosts); } + + @Override + public Boolean updateShutdown(Boolean shutdown) { + ValueOperations valueOperations = redisTemplate.opsForValue(); + valueOperations.set(SHUT_DOWN_KEY, shutdown); + + return valueOperations.get(SHUT_DOWN_KEY); + } + + @Override + public Boolean getShutdown() { + ValueOperations valueOperations = redisTemplate.opsForValue(); + return valueOperations.get(SHUT_DOWN_KEY); + } } diff --git a/src/main/java/com/example/sharemind/admin/presentation/AdminController.java b/src/main/java/com/example/sharemind/admin/presentation/AdminController.java index 129ed91e..559bda59 100644 --- a/src/main/java/com/example/sharemind/admin/presentation/AdminController.java +++ b/src/main/java/com/example/sharemind/admin/presentation/AdminController.java @@ -292,4 +292,25 @@ public ResponseEntity deletePostByPostId(@PathVariable Long postId) { public ResponseEntity getInformation() { return ResponseEntity.ok(adminService.getInformation()); } + + @Operation(summary = "서비스 셧다운 여부 수정", description = "서비스 셧다운 여부 수정") + @ApiResponses({ + @ApiResponse(responseCode = "200", description = "수정 성공") + }) + @Parameters({ + @Parameter(name = "shutdown", description = "true: 서비스 셧다운, false: 서비스 정상 동작") + }) + @PatchMapping("/managements") + public ResponseEntity updateShutdown(@RequestParam Boolean shutdown) { + return ResponseEntity.ok(adminService.updateShutdown(shutdown)); + } + + @Operation(summary = "서비스 셧다운 여부 조회", description = "서비스 셧다운 여부 조회") + @ApiResponses({ + @ApiResponse(responseCode = "200", description = "수정 성공") + }) + @GetMapping("/managements") + public ResponseEntity getShutdown() { + return ResponseEntity.ok(adminService.getShutdown()); + } }