diff --git a/src/main/java/com/flab/cafeguidebook/controller/CafeController.java b/src/main/java/com/flab/cafeguidebook/controller/CafeController.java index 3b7e2916..820c8393 100644 --- a/src/main/java/com/flab/cafeguidebook/controller/CafeController.java +++ b/src/main/java/com/flab/cafeguidebook/controller/CafeController.java @@ -81,7 +81,7 @@ public ResponseEntity getMyCafe(@PathVariable Long cafeId, } @PatchMapping("/{cafeId}") - public ResponseEntity updateCafe(@PathVariable long cafeId, + public ResponseEntity updateCafe(@PathVariable Long cafeId, @RequestBody @Validated CafeDTO cafeDTO, BindingResult bindingResult, HttpSession httpSession) { Long userId = (Long) httpSession.getAttribute(SessionKeys.USER_ID); @@ -94,4 +94,28 @@ public ResponseEntity updateCafe(@PathVariable long cafeId, cafeService.updateCafe(cafeDTO); return ResponseEntity.ok(cafeDTO); } + + @PatchMapping("/{cafeId}/open") + public ResponseEntity openCafe (@PathVariable Long cafeId, HttpSession httpSession){ + Long userId = (Long) httpSession.getAttribute(SessionKeys.USER_ID); + boolean openCafe = cafeService.openCafe(cafeId); + if (!openCafe) { + LOGGER.info("카페를 오픈할 수 없습니다. userId = {}, cafeId = {}", userId, cafeId); + return ResponseEntity.badRequest().build(); + } else { + return ResponseEntity.ok().build(); + } + } + + @PatchMapping("/{cafeId}/close") + public ResponseEntity closeCafe (@PathVariable Long cafeId, HttpSession httpSession){ + Long userId = (Long) httpSession.getAttribute(SessionKeys.USER_ID); + boolean closeCafe = cafeService.closeCafe(cafeId); + if (!closeCafe) { + LOGGER.info("카페를 마감할 수 없습니다. userId = {}, cafeId = {}", userId, cafeId); + return ResponseEntity.badRequest().build(); + } else { + return ResponseEntity.ok().build(); + } + } } diff --git a/src/main/java/com/flab/cafeguidebook/domain/Cafe.java b/src/main/java/com/flab/cafeguidebook/domain/Cafe.java index 0b504098..3f4452f6 100644 --- a/src/main/java/com/flab/cafeguidebook/domain/Cafe.java +++ b/src/main/java/com/flab/cafeguidebook/domain/Cafe.java @@ -3,7 +3,6 @@ import com.flab.cafeguidebook.enumeration.CafeCondition; import com.flab.cafeguidebook.enumeration.CafeRegistration; import java.time.LocalDateTime; -import org.checkerframework.checker.nullness.qual.NonNull; public class Cafe { diff --git a/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java b/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java index 12909488..268bd868 100644 --- a/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java +++ b/src/main/java/com/flab/cafeguidebook/mapper/CafeMapper.java @@ -2,6 +2,7 @@ import com.flab.cafeguidebook.domain.Cafe; import com.flab.cafeguidebook.dto.CafeDTO; +import com.flab.cafeguidebook.enumeration.CafeCondition; import java.util.List; import org.apache.ibatis.annotations.Param; import com.flab.cafeguidebook.enumeration.CafeRegistration; @@ -25,4 +26,8 @@ public interface CafeMapper { public int updateRegistration(@Param("id") Long id, @Param("registration") CafeRegistration registration); + public int openCafe(@Param("cafeId") long cafeId, @Param("cafeCondition") CafeCondition cafeCondition); + + public int closeCafe(@Param("cafeId") long cafeId, @Param("cafeCondition") CafeCondition cafeCondition); + } diff --git a/src/main/java/com/flab/cafeguidebook/service/CafeService.java b/src/main/java/com/flab/cafeguidebook/service/CafeService.java index 0a333c2c..47ee4efe 100644 --- a/src/main/java/com/flab/cafeguidebook/service/CafeService.java +++ b/src/main/java/com/flab/cafeguidebook/service/CafeService.java @@ -2,6 +2,7 @@ import com.flab.cafeguidebook.converter.CafeConverter.CafeDTOToCafeConverter; import com.flab.cafeguidebook.dto.CafeDTO; +import com.flab.cafeguidebook.enumeration.CafeCondition; import com.flab.cafeguidebook.enumeration.CafeRegistration; import com.flab.cafeguidebook.mapper.CafeMapper; import java.util.List; @@ -42,4 +43,14 @@ public boolean updateCafe(CafeDTO cafeDTO) { int updateCafe = cafeMapper.updateCafe(cafeDTOToCafeConverter.convert(cafeDTO)); return updateCafe == 1; } + + public boolean openCafe(Long cafeId) { + int openCafe = cafeMapper.openCafe(cafeId, CafeCondition.OPEN); + return openCafe == 1; + } + + public boolean closeCafe(Long cafeId) { + int closeCafe = cafeMapper.closeCafe(cafeId, CafeCondition.CLOSE); + return closeCafe == 1; + } } diff --git a/src/main/resources/mybatis/mapper/CafeMapper.xml b/src/main/resources/mybatis/mapper/CafeMapper.xml index 196dd112..27cc435b 100644 --- a/src/main/resources/mybatis/mapper/CafeMapper.xml +++ b/src/main/resources/mybatis/mapper/CafeMapper.xml @@ -39,15 +39,16 @@ #{withPet}, #{cafeCondition}, #{cafeRegistration}) + + SELECT LAST_INSERT_ID() + - - - DELETE FROM CAFE; - UPDATE CAFE SET @@ -79,11 +78,19 @@ update_date = now() WHERE cafe_id = #{cafeId} - + + UPDATE CAFE + SET cafe_condition = #{cafeCondition} + WHERE cafe_id = #{cafeId} + + + UPDATE CAFE + SET cafe_condition = #{cafeCondition} + WHERE cafe_id = #{cafeId} + - UPDATE CAFE SET cafe_registration = #{cafeRegistration} - WHERE cafe_id = #{cafeId} - - + UPDATE CAFE SET cafe_registration = #{cafeRegistration} + WHERE cafe_id = #{cafeId} + diff --git a/src/main/resources/mybatis/mapper/OptionMapper.xml b/src/main/resources/mybatis/mapper/OptionMapper.xml index 6dbe6430..a4ad1b68 100644 --- a/src/main/resources/mybatis/mapper/OptionMapper.xml +++ b/src/main/resources/mybatis/mapper/OptionMapper.xml @@ -11,6 +11,9 @@ #{menuId}, #{optionPrice}, #{optionStatus}) + + SELECT LAST_INSERT_ID() + UPDATE MENUOPTION diff --git a/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java b/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java index 25ddb3c4..2036a60d 100644 --- a/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java +++ b/src/test/java/com/flab/cafeguidebook/controller/CafeControllerTest.java @@ -69,6 +69,7 @@ public void addCafe(CafeDTO testCafeDTO) throws Exception { @Test public void getMyAllCafe(List testCafeDTOList) throws Exception { + for (int i = 0; i < testCafeDTOList.size(); i++) { addCafe(testCafeDTOList.get(i)); } @@ -85,12 +86,10 @@ public void getMyAllCafe(List testCafeDTOList) throws Exception { @Test public void updateCafe(CafeDTO testCafeDTO) throws Exception { - final long CAFEID = 1; - testCafeDTO.setCafeId(CAFEID); addCafe(testCafeDTO); - mockMvc.perform(patch("/owner/cafe/" + CAFEID) - .sessionAttr("userId", testCafeDTO.getUserId()) + mockMvc.perform(patch("/owner/cafe/" + testCafeDTO.getCafeId()) + .sessionAttr(SessionKeys.USER_ID, testCafeDTO.getUserId()) .contentType(MediaType.APPLICATION_JSON_UTF8) .content(objectMapper.writeValueAsString(testCafeDTO)) .accept(MediaType.APPLICATION_JSON_UTF8)) diff --git a/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java b/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java index 3a4889fd..78e07087 100644 --- a/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java +++ b/src/test/java/com/flab/cafeguidebook/service/CafeServiceTest.java @@ -8,6 +8,7 @@ import com.flab.cafeguidebook.converter.CafeConverter.CafeDTOToCafeConverter; import com.flab.cafeguidebook.domain.Cafe; +import com.flab.cafeguidebook.enumeration.CafeCondition; import com.flab.cafeguidebook.fixture.CafeDTOListFixtureProvider; import com.flab.cafeguidebook.dto.CafeDTO; import com.flab.cafeguidebook.fixture.CafeDTOFixtureProvider; @@ -80,4 +81,16 @@ public void updateCafe(CafeDTO testCafeDTO, Cafe testCafe) { given(cafeMapper.updateCafe(testCafe)).willReturn(1); assertThat(cafeService.updateCafe(testCafeDTO)).isEqualTo(true); } + + @Test + public void openCafe(CafeDTO testCafeDTO) { + given(cafeMapper.openCafe(testCafeDTO.getCafeId(), CafeCondition.OPEN)).willReturn(1); + assertThat(cafeService.openCafe(testCafeDTO.getCafeId())).isEqualTo(true); + } + + @Test + public void closeCafe(CafeDTO testCafeDTO) { + given(cafeMapper.closeCafe(testCafeDTO.getCafeId(), CafeCondition.CLOSE)).willReturn(1); + assertThat(cafeService.closeCafe(testCafeDTO.getCafeId())).isEqualTo(true); + } }