diff --git a/src/main/java/com/example/gtable/store/controller/StoreController.java b/src/main/java/com/example/gtable/store/controller/StoreController.java index d0594e4..807db2f 100644 --- a/src/main/java/com/example/gtable/store/controller/StoreController.java +++ b/src/main/java/com/example/gtable/store/controller/StoreController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.example.gtable.global.api.ApiUtils; @@ -86,4 +87,15 @@ public ResponseEntity deleteStore(@PathVariable Long storeId) { ) ); } + + @GetMapping("/search") + public ResponseEntity searchStores(@RequestParam("name") String name) { + return ResponseEntity + .ok() + .body( + ApiUtils.success( + storeService.searchStoresByName(name) + ) + ); + } } diff --git a/src/main/java/com/example/gtable/store/repository/StoreRepository.java b/src/main/java/com/example/gtable/store/repository/StoreRepository.java index e0ba279..ffeaeb2 100644 --- a/src/main/java/com/example/gtable/store/repository/StoreRepository.java +++ b/src/main/java/com/example/gtable/store/repository/StoreRepository.java @@ -14,4 +14,6 @@ public interface StoreRepository extends JpaRepository { List findAllByDeletedFalse(); Optional findByStoreIdAndDeletedFalse(Long storeId); + + List findByNameContainingIgnoreCaseAndDeletedFalse(String name); } diff --git a/src/main/java/com/example/gtable/store/service/StoreService.java b/src/main/java/com/example/gtable/store/service/StoreService.java index ae7f46d..3511dd1 100644 --- a/src/main/java/com/example/gtable/store/service/StoreService.java +++ b/src/main/java/com/example/gtable/store/service/StoreService.java @@ -1,10 +1,13 @@ package com.example.gtable.store.service; +import java.util.List; + import com.example.gtable.store.dto.StoreCreateRequest; import com.example.gtable.store.dto.StoreCreateResponse; import com.example.gtable.store.dto.StoreReadDto; import com.example.gtable.store.dto.StoreReadResponse; import com.example.gtable.store.dto.StoreUpdateRequest; +import com.example.gtable.store.model.Store; public interface StoreService { @@ -18,4 +21,6 @@ public interface StoreService { String deleteStore(Long storeId); + List searchStoresByName(String name); + } diff --git a/src/main/java/com/example/gtable/store/service/StoreServiceImpl.java b/src/main/java/com/example/gtable/store/service/StoreServiceImpl.java index 165f3e6..36900cf 100644 --- a/src/main/java/com/example/gtable/store/service/StoreServiceImpl.java +++ b/src/main/java/com/example/gtable/store/service/StoreServiceImpl.java @@ -91,4 +91,11 @@ public String deleteStore(Long storeId) { return "Store ID " + storeId + " 삭제되었습니다."; } + + @Override + public List searchStoresByName(String name) { + List stores = storeRepository.findByNameContainingIgnoreCaseAndDeletedFalse(name); + return stores.stream().map(StoreReadDto::fromEntity).toList(); + } + } diff --git a/src/main/java/com/example/gtable/user/service/UserService.java b/src/main/java/com/example/gtable/user/service/UserService.java index 46bf308..eab0c3a 100644 --- a/src/main/java/com/example/gtable/user/service/UserService.java +++ b/src/main/java/com/example/gtable/user/service/UserService.java @@ -5,7 +5,6 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;