From 81e7e1d1b9d2585bf67f802a6a2a20e3079e4e60 Mon Sep 17 00:00:00 2001 From: jsj3282 Date: Mon, 16 Aug 2021 02:32:58 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EC=82=AC=EC=9E=A5=EB=8B=98=EC=9D=B4=20?= =?UTF-8?q?=EA=B0=80=EC=A7=84=20=EC=B9=B4=ED=8E=98=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=ED=95=98=EA=B8=B0=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CafeController.java | 17 ++++++++++++++++- .../flab/cafeguidebook/mapper/CafeMapper.java | 2 ++ .../flab/cafeguidebook/service/CafeService.java | 5 +++++ .../resources/mybatis/mapper/CafeMapper.xml | 7 +++++++ .../controller/CafeControllerTest.java | 13 +++++++++++++ .../cafeguidebook/service/CafeServiceTest.java | 6 ++++++ 6 files changed, 49 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/flab/cafeguidebook/controller/CafeController.java b/src/main/java/com/flab/cafeguidebook/controller/CafeController.java index 57b166d8..782f354f 100644 --- a/src/main/java/com/flab/cafeguidebook/controller/CafeController.java +++ b/src/main/java/com/flab/cafeguidebook/controller/CafeController.java @@ -8,10 +8,12 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -51,7 +53,7 @@ public ResponseEntity getMyAllCafe(HttpSession httpSession) { String userId = (String) httpSession.getAttribute("userId"); List myAllCafe = cafeService.getMyAllCafe(userId); if (myAllCafe.size() > 0) { - return ResponseEntity.ok().body(myAllCafe); + return ResponseEntity.ok(myAllCafe); } else { LOGGER.info("사장님의 카페를 조회할 수 없습니다."); return ResponseEntity.badRequest().build(); @@ -85,4 +87,17 @@ public ResponseEntity updateCafe(@PathVariable String cafeId, return ResponseEntity.ok(copyData); } } + + @DeleteMapping("/{cafeId}") + public ResponseEntity deleteCafe(@PathVariable String cafeId, HttpSession httpSession) { + String userId = (String) httpSession.getAttribute("userId"); + cafeService.validateMyCafe(cafeId, userId); + boolean deleteCafe = cafeService.deleteCafe(cafeId, userId); + if(!deleteCafe) { + LOGGER.info("카페를 삭제할 수 없습니다. cafeId ={}, loginUser={}", cafeId, userId); + return ResponseEntity.badRequest().build(); + }else { + return ResponseEntity.ok().build(); + } + } } diff --git a/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java b/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java index 77885e3f..3ac5ce58 100644 --- a/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java +++ b/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java @@ -20,4 +20,6 @@ public interface CafeMapper { public void deleteAllCafe(); public int updateCafe(UpdateCafeDTO updateCafeDTO); + + public int deleteCafe(@Param("cafeId") String cafeId, @Param("userId") String userId); } diff --git a/src/main/java/com/flab/cafeguidebook/service/CafeService.java b/src/main/java/com/flab/cafeguidebook/service/CafeService.java index 713a0691..eaf8e02a 100644 --- a/src/main/java/com/flab/cafeguidebook/service/CafeService.java +++ b/src/main/java/com/flab/cafeguidebook/service/CafeService.java @@ -40,4 +40,9 @@ public boolean updateCafe(UpdateCafeDTO updateCafeDTO) { int updateCafe = cafeMapper.updateCafe(updateCafeDTO); return updateCafe == 1; } + + public boolean deleteCafe(String cafeId, String userId) { + int deleteCafe = cafeMapper.deleteCafe(cafeId, userId); + return deleteCafe == 1; + } } diff --git a/src/main/resources/mybatis/mapper/CafeMapper.xml b/src/main/resources/mybatis/mapper/CafeMapper.xml index d8c87f17..4142e5b3 100644 --- a/src/main/resources/mybatis/mapper/CafeMapper.xml +++ b/src/main/resources/mybatis/mapper/CafeMapper.xml @@ -85,5 +85,12 @@ with_pet = #{withPet} WHERE cafe_id = #{cafeId} + + + DELETE + FROM cafe + WHERE cafe_id = #{cafeId} + AND user_id = #{userId} + diff --git a/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java b/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java index e6727f85..f59e94f1 100644 --- a/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java +++ b/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java @@ -1,6 +1,7 @@ package com.flab.cafeguidebook.controller; import static org.hamcrest.Matchers.hasSize; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; @@ -117,4 +118,16 @@ public void updateCafe(Cafe testCafe, UpdateCafe updateTestCafe) throws Exceptio .andExpect(jsonPath("tel").value(updateTestCafe.getTel())); } + @Test + public void deleteCafe(Cafe testCafe) throws Exception { + addCafe(testCafe); + + mockMvc.perform(delete("/owner/cafe/testCafeId1") + .sessionAttr("userId", testCafe.getUserId()) + .contentType(MediaType.APPLICATION_JSON_UTF8) + .accept(MediaType.APPLICATION_JSON_UTF8)) + .andDo(print()) + .andExpect(status().isOk()); + } + } diff --git a/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java b/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java index 5f196712..0796d021 100644 --- a/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java +++ b/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java @@ -65,4 +65,10 @@ public void updateCafe(UpdateCafeDTO updateTestCafeDTO) { assertThat(cafeService.updateCafe(updateTestCafeDTO)).isEqualTo(true); } + @Test + public void deleteCafe(CafeDTO testCafeDTO) { + given(cafeMapper.deleteCafe(testCafeDTO.getCafeId(), testCafeDTO.getUserId())).willReturn(1); + assertThat(cafeService.deleteCafe(testCafeDTO.getCafeId(), testCafeDTO.getUserId())).isEqualTo(true); + } + } From 503058795f8311cae39828f517d224d7814d5e57 Mon Sep 17 00:00:00 2001 From: jsj3282 Date: Mon, 16 Aug 2021 03:14:46 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=B9=B4=ED=8E=98=20=EC=98=A4=ED=94=88,=20?= =?UTF-8?q?=EB=A7=88=EA=B0=90=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= =?UTF-8?q?=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CafeController.java | 32 +++++++++++++++++-- .../flab/cafeguidebook/mapper/CafeMapper.java | 4 +++ .../cafeguidebook/service/CafeService.java | 10 ++++++ .../resources/mybatis/mapper/CafeMapper.xml | 12 +++++++ .../controller/CafeControllerTest.java | 24 ++++++++++++++ .../service/CafeServiceTest.java | 18 +++++++++-- 6 files changed, 96 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/flab/cafeguidebook/controller/CafeController.java b/src/main/java/com/flab/cafeguidebook/controller/CafeController.java index 782f354f..65f9beb3 100644 --- a/src/main/java/com/flab/cafeguidebook/controller/CafeController.java +++ b/src/main/java/com/flab/cafeguidebook/controller/CafeController.java @@ -93,11 +93,39 @@ public ResponseEntity deleteCafe(@PathVariable String cafeId, HttpSession httpSe String userId = (String) httpSession.getAttribute("userId"); cafeService.validateMyCafe(cafeId, userId); boolean deleteCafe = cafeService.deleteCafe(cafeId, userId); - if(!deleteCafe) { + if (!deleteCafe) { LOGGER.info("카페를 삭제할 수 없습니다. cafeId ={}, loginUser={}", cafeId, userId); return ResponseEntity.badRequest().build(); - }else { + } else { + return ResponseEntity.ok().build(); + } + } + + @PatchMapping("/{cafeId}/open") + public ResponseEntity openCafe(@PathVariable String cafeId, HttpSession httpSession) { + String userId = (String) httpSession.getAttribute("userId"); + cafeService.validateMyCafe(cafeId, userId); + boolean closeCafe = cafeService.closeCafe(cafeId); + if (!closeCafe) { + LOGGER.info("카페를 마감할 수 없습니다. cafeId ={}", cafeId); + return ResponseEntity.badRequest().build(); + } else { return ResponseEntity.ok().build(); } + + } + + @PatchMapping("/{cafeId}/close") + public ResponseEntity closeCafe(@PathVariable String cafeId, HttpSession httpSession) { + String userId = (String) httpSession.getAttribute("userId"); + cafeService.validateMyCafe(cafeId, userId); + boolean openCafe = cafeService.openCafe(cafeId); + if (!openCafe) { + LOGGER.info("카페를 오픈할 수 없습니다. cafeId ={}", cafeId); + return ResponseEntity.badRequest().build(); + } else { + return ResponseEntity.ok().build(); + } + } } diff --git a/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java b/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java index 3ac5ce58..1f250086 100644 --- a/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java +++ b/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java @@ -22,4 +22,8 @@ public interface CafeMapper { public int updateCafe(UpdateCafeDTO updateCafeDTO); public int deleteCafe(@Param("cafeId") String cafeId, @Param("userId") String userId); + + public int openCafe(@Param("cafeId") String cafeId); + + public int closeCafe(@Param("cafeId") String cafeId); } diff --git a/src/main/java/com/flab/cafeguidebook/service/CafeService.java b/src/main/java/com/flab/cafeguidebook/service/CafeService.java index eaf8e02a..bd1c7758 100644 --- a/src/main/java/com/flab/cafeguidebook/service/CafeService.java +++ b/src/main/java/com/flab/cafeguidebook/service/CafeService.java @@ -45,4 +45,14 @@ public boolean deleteCafe(String cafeId, String userId) { int deleteCafe = cafeMapper.deleteCafe(cafeId, userId); return deleteCafe == 1; } + + public boolean openCafe(String cafeId) { + int openCafe = cafeMapper.openCafe(cafeId); + return openCafe == 1; + } + + public boolean closeCafe(String cafeId) { + int closeCafe = cafeMapper.closeCafe(cafeId); + return closeCafe == 1; + } } diff --git a/src/main/resources/mybatis/mapper/CafeMapper.xml b/src/main/resources/mybatis/mapper/CafeMapper.xml index 4142e5b3..dbd67a7b 100644 --- a/src/main/resources/mybatis/mapper/CafeMapper.xml +++ b/src/main/resources/mybatis/mapper/CafeMapper.xml @@ -92,5 +92,17 @@ WHERE cafe_id = #{cafeId} AND user_id = #{userId} + + + UPDATE cafe + SET cafe_condition = 'OPEN' + WHERE cafe_id = #{cafeId} + + + + UPDATE cafe + SET cafe_condition = 'CLOSE' + WHERE cafe_id = #{cafeId} + diff --git a/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java b/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java index f59e94f1..fb8a0bfc 100644 --- a/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java +++ b/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java @@ -130,4 +130,28 @@ public void deleteCafe(Cafe testCafe) throws Exception { .andExpect(status().isOk()); } + @Test + public void openCafe(Cafe testCafe) throws Exception { + addCafe(testCafe); + + mockMvc.perform(patch("/owner/cafe/testCafeId1/open") + .sessionAttr("userId", testCafe.getUserId()) + .contentType(MediaType.APPLICATION_JSON_UTF8) + .accept(MediaType.APPLICATION_JSON_UTF8)) + .andDo(print()) + .andExpect(status().isOk()); + } + + @Test + public void closeCafe(Cafe testCafe) throws Exception { + addCafe(testCafe); + + mockMvc.perform(patch("/owner/cafe/testCafeId1/close") + .sessionAttr("userId", testCafe.getUserId()) + .contentType(MediaType.APPLICATION_JSON_UTF8) + .accept(MediaType.APPLICATION_JSON_UTF8)) + .andDo(print()) + .andExpect(status().isOk()); + } + } diff --git a/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java b/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java index 0796d021..f9aab03d 100644 --- a/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java +++ b/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java @@ -67,8 +67,22 @@ public void updateCafe(UpdateCafeDTO updateTestCafeDTO) { @Test public void deleteCafe(CafeDTO testCafeDTO) { - given(cafeMapper.deleteCafe(testCafeDTO.getCafeId(), testCafeDTO.getUserId())).willReturn(1); - assertThat(cafeService.deleteCafe(testCafeDTO.getCafeId(), testCafeDTO.getUserId())).isEqualTo(true); + given(cafeMapper.deleteCafe(testCafeDTO.getCafeId(), testCafeDTO.getUserId())) + .willReturn(1); + assertThat(cafeService.deleteCafe(testCafeDTO.getCafeId(), testCafeDTO.getUserId())) + .isEqualTo(true); + } + + @Test + public void openCafe(CafeDTO testCafeDTO) { + given(cafeMapper.openCafe(testCafeDTO.getCafeId())).willReturn(1); + assertThat(cafeService.openCafe(testCafeDTO.getCafeId())).isEqualTo(true); + } + + @Test + public void closeCafe(CafeDTO testCafeDTO) { + given(cafeMapper.closeCafe(testCafeDTO.getCafeId())).willReturn(1); + assertThat(cafeService.closeCafe(testCafeDTO.getCafeId())).isEqualTo(true); } }