From fc1166726cad40ec037007d9093b7b78c71c3559 Mon Sep 17 00:00:00 2001 From: JJEONGG94 Date: Thu, 25 May 2017 23:02:53 +0900 Subject: [PATCH] SearchAPI --- .../momuck/controller/SearchController.java | 41 +++++++++++++++++++ .../java/com/danchu/momuck/dao/FoodDao.java | 1 + .../com/danchu/momuck/mapper/FoodMapper.java | 17 ++++++++ .../danchu/momuck/service/SearchService.java | 10 +++++ .../momuck/service/SearchServiceImpl.java | 25 +++++++++++ .../main/resources/mapper/food/Food_SQL.xml | 16 ++++++++ 6 files changed, 110 insertions(+) create mode 100644 momuck-web/src/main/java/com/danchu/momuck/controller/SearchController.java create mode 100644 momuck-web/src/main/java/com/danchu/momuck/service/SearchService.java create mode 100644 momuck-web/src/main/java/com/danchu/momuck/service/SearchServiceImpl.java diff --git a/momuck-web/src/main/java/com/danchu/momuck/controller/SearchController.java b/momuck-web/src/main/java/com/danchu/momuck/controller/SearchController.java new file mode 100644 index 0000000..f37aba7 --- /dev/null +++ b/momuck-web/src/main/java/com/danchu/momuck/controller/SearchController.java @@ -0,0 +1,41 @@ +package com.danchu.momuck.controller; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.danchu.momuck.service.SearchService; +import com.danchu.momuck.view.ResultView; +import com.danchu.momuck.vo.Food; + +@Controller +public class SearchController { + + private static final Logger LOG = LoggerFactory.getLogger(SearchController.class); + + @Autowired + private SearchService searchService; + + @ResponseBody + @RequestMapping(value = "/search", method = RequestMethod.GET, produces = "application/json; charset=UTF-8") + public ResultView search(@RequestParam String keyword, @RequestParam int page, @RequestParam(defaultValue = "0") int sort) { + LOG.info(keyword); + LOG.info(String.valueOf(page)); + LOG.info(String.valueOf(sort)); + List result = searchService.search(keyword, page, sort); + + + return new ResultView("200", "success", result); + } + +} diff --git a/momuck-web/src/main/java/com/danchu/momuck/dao/FoodDao.java b/momuck-web/src/main/java/com/danchu/momuck/dao/FoodDao.java index 001512c..08f5ba3 100644 --- a/momuck-web/src/main/java/com/danchu/momuck/dao/FoodDao.java +++ b/momuck-web/src/main/java/com/danchu/momuck/dao/FoodDao.java @@ -14,5 +14,6 @@ public interface FoodDao { public Food insertFood(Food food); public List selectFoodList(int page); public List selectFoodListByCategory(String category, int page); + public List selectFoodListByKeyword(String keyword, int page, int sort); public int deleteFood(String name, int restaurantSeq); } diff --git a/momuck-web/src/main/java/com/danchu/momuck/mapper/FoodMapper.java b/momuck-web/src/main/java/com/danchu/momuck/mapper/FoodMapper.java index 2b360ac..4a6c25a 100644 --- a/momuck-web/src/main/java/com/danchu/momuck/mapper/FoodMapper.java +++ b/momuck-web/src/main/java/com/danchu/momuck/mapper/FoodMapper.java @@ -3,13 +3,17 @@ import java.util.HashMap; import java.util.List; +import org.apache.ibatis.logging.log4j.Log4jImpl; import org.mybatis.spring.SqlSessionTemplate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Repository; import com.danchu.momuck.dao.FoodDao; import com.danchu.momuck.vo.Food; +import com.mysql.jdbc.log.Log; /** @@ -24,6 +28,7 @@ public class FoodMapper implements FoodDao { private SqlSessionTemplate sqlSessionTemplate; private static final String NAMESPACE = "Food"; + private static final Logger LOG = LoggerFactory.getLogger(AccountMapper.class); public Food insertFood(Food food) { HashMap map = new HashMap(); @@ -58,4 +63,16 @@ public int deleteFood(String name, int restaurantSeq) { sqlSessionTemplate.delete(NAMESPACE + ".deleteFood", map); return 0; } + + public List selectFoodListByKeyword(String keyword, int page, int sort) { + HashMap map = new HashMap(); + map.put("offset", 0 + 10 * (page - 1)); + map.put("keyword", keyword); + map.put("sort", sort); + + LOG.info(keyword); + LOG.info(String.valueOf(page)); + LOG.info(String.valueOf(sort)); + return sqlSessionTemplate.selectList(NAMESPACE + ".selectFoodListByKeyword", map); + } } diff --git a/momuck-web/src/main/java/com/danchu/momuck/service/SearchService.java b/momuck-web/src/main/java/com/danchu/momuck/service/SearchService.java new file mode 100644 index 0000000..ecc5f20 --- /dev/null +++ b/momuck-web/src/main/java/com/danchu/momuck/service/SearchService.java @@ -0,0 +1,10 @@ +package com.danchu.momuck.service; + +import java.util.List; + +import com.danchu.momuck.vo.Food; + +public interface SearchService { + + List search(String keyword, int page, int sort); +} diff --git a/momuck-web/src/main/java/com/danchu/momuck/service/SearchServiceImpl.java b/momuck-web/src/main/java/com/danchu/momuck/service/SearchServiceImpl.java new file mode 100644 index 0000000..f4cb35c --- /dev/null +++ b/momuck-web/src/main/java/com/danchu/momuck/service/SearchServiceImpl.java @@ -0,0 +1,25 @@ +package com.danchu.momuck.service; + +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.danchu.momuck.dao.FoodDao; +import com.danchu.momuck.vo.Food; + +@Service +public class SearchServiceImpl implements SearchService { + + private static final Logger LOG = LoggerFactory.getLogger(SearchServiceImpl.class); + + @Autowired + private FoodDao foodDao; + + public List search(String keyword, int page, int sort) { + return foodDao.selectFoodListByKeyword(keyword, page, sort); + } + +} diff --git a/momuck-web/src/main/resources/mapper/food/Food_SQL.xml b/momuck-web/src/main/resources/mapper/food/Food_SQL.xml index 7c38809..c863af4 100644 --- a/momuck-web/src/main/resources/mapper/food/Food_SQL.xml +++ b/momuck-web/src/main/resources/mapper/food/Food_SQL.xml @@ -40,4 +40,20 @@ DELETE FROM food WHERE name = #{name} and restaurant_seq = #{restaurantSeq} + + \ No newline at end of file