package cn.binux.search.controller; import cn.binux.constant.Const; import cn.binux.pojo.SearchResult; import cn.binux.search.service.SearchService; import com.alibaba.dubbo.config.annotation.Reference; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.io.UnsupportedEncodingException; /** * 搜索 Controller * * @author xubin. * @create 2017-02-04 下午7:10 */ @Controller public class SearchController { @Reference(version = Const.XBIN_STORE_SEARCH_VERSION) private SearchService searchService; @Value("${search_result_rows}") private Integer SEARCH_RESULT_ROWS; @RequestMapping("/search") public String search(@RequestParam("q") String queryString, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "0") Integer rows, Model model) throws Exception { if (rows == 0) { rows = SEARCH_RESULT_ROWS; } if (queryString != null) { String string = null; try { string = new String(queryString.getBytes("iso8859-1"), "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } SearchResult search = searchService.search(string, page, rows); // 异常测试 //int i = 1 / 0; model.addAttribute("query", string); model.addAttribute("totalPages", search.getPageCount()); model.addAttribute("itemList", search.getItemList()); model.addAttribute("page", search.getCurPage()); } return "search"; } @RequestMapping("/search22") public String search22(@RequestParam("q") String queryString, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "0") Integer rows, Model model) throws Exception { if (rows == 0) { rows = SEARCH_RESULT_ROWS; } if (queryString != null) { String string = null; try { string = new String(queryString.getBytes("iso8859-1"), "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } SearchResult search = searchService.search(queryString, page, rows); // 异常测试 //int i = 1 / 0; model.addAttribute("query", string); model.addAttribute("totalPages", search.getPageCount()); model.addAttribute("itemList", search.getItemList()); model.addAttribute("page", search.getCurPage()); } return "search"; } @RequestMapping("/adguard-ajax-api/api") @ResponseBody public String search223() throws Exception { //http://localhost:8102/adguard-ajax-api/api?type=gm-get-value&unique_name=Adguard%20Assistant&variable_key=settings&sn=fd731a823bcd6a61809b11be5fc8568e964b56bd12048c49cb7e3fe6af2e3860 return "[LString;{\"buttonPositionTop\":false,\"buttonPositionLeft\":false,\"largeIcon\":true,\"assistantFirstStart\"\n" + ":false,\"showWarnings\":true,\"scriptVersion\":1}"; } }