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);
+ }
}