/** * 查询结果页 * * @param dto * @param model * @return */ @RequestMapping("/search") public String toSearch(YouSearchDto dto, Model model, HttpServletRequest request) { logger.info("----search finds-----"); String pageSize = "-1"; model.addAttribute("autofillServer", autofillServer); setDtoParameter(dto, request); // 去掉搜索关键字中所有的空格 // dto.setKeyWords(dto.getKeyWords().replaceAll(" ", "")); // 攻略列表页面无需推荐 if (!Constants.NOTES_SEARCH.equals(dto.getAjaxType())) { // 攻略hot数据 List<YouGuideNotes> searchNotes = guideNotesService.findGuideNotesBySearchResul(null, "9"); model.addAttribute("searchNotes", searchNotes); } dto.setPageSize(Constants.DEFAULT_PAGE_SIZE); if (Constants.HOTEL_SEARCH.equals(dto.getAjaxType()) || "hotelSearchresult".equals(dto.getAjaxType()) || Constants.INDEX_HOTEL_SEARCH.equals(dto.getAjaxType())) { String tempFalg = request.getParameter("f"); // 酒店下拉框 更多链接地址 if (tempFalg != null && "map".equals(tempFalg)) { return "address"; } getCtiys(dto, model, "hotel"); B5MPageList<YouHotel> hotelList = hotelService.getYouHotelList(dto); boolean hotelSearchFlag = (StringUtils.isNotBlank(dto.getHotelPrice()) || StringUtils.isNotBlank(dto.getHotelStar())); String returnRuelt = attributeList(dto, model, hotelList); if (!"".equals(returnRuelt) && !hotelSearchFlag) { return returnRuelt; } } else if (Constants.NOTES_SEARCH.equals(dto.getAjaxType()) || Constants.INDEX_NOTE_SEARCH.equals(dto.getAjaxType())) { getCtiys(dto, model, ""); pageSize = toNotesList(dto, model, request); } else { // 默认 访问search.html的时候 if ("".equals(dto.getAjaxType())) { dto.setAjaxType("searchresult"); } getCtiys(dto, model, "you"); // 商品数据查询 B5MPageList<YouGoods> searchList = goodsService.getYouGoodsSearch(dto); model.addAttribute("pageList", searchList); String returnRuelt = attributeList(dto, model, searchList); boolean searchFlag = (StringUtils.isNotBlank(dto.getType0()) || StringUtils.isNotBlank(dto.getType1()) || StringUtils.isNotBlank(dto.getDays()) || StringUtils.isNotBlank(dto.getPriceStart() + "") || StringUtils.isNotBlank(dto.getPriceEnd() + "") || StringUtils.isNotBlank(dto.getTimeStart()) || StringUtils.isNotBlank(dto.getTimeEnd())); // 搜索无结果页 if (!"".equals(returnRuelt) && !searchFlag) { return returnRuelt; } } // 数据源 Map<String, String> dataSource = taoSourceService.findTaoSource(); model.addAttribute("dataSource", dataSource); // keywords List<YouKeyWords> dataKeyWords = keywordsService.findKeyWords(); model.addAttribute("keyWords", dataKeyWords); // 目的地城市列表 // model.addAttribute("dcList", goodsService.getCitysByKeyword(dto.getKeyWords())); model.addAttribute("searchDto", dto); model.addAttribute("curPageTag", dto.getAjaxType()); model.addAttribute("dataCityKey", Constants.XML_CITY_KEY); model.addAttribute("dataCityKeyId", Constants.XML_CITY); model.addAttribute("loginAndRegisterURL", ucServer); model.addAttribute("autofillFlag", dto.getAjaxType()); if (Constants.NOTES_SEARCH.equals(dto.getAjaxType()) || Constants.INDEX_NOTE_SEARCH.equals(dto.getAjaxType())) { if (Integer.parseInt(pageSize) <= 0) { logger.info("----notes_list---->" + pageSize); model.addAttribute("curPageTag", "noNoteResult"); model.addAttribute("menuCurPageTag", dto.getAjaxType()); model.addAttribute("keyWords", dto.getKeyWords()); dto.setKeyWords(""); B5MPageList<YouGuideNotes> pageList = guideNotesService.findGuideNotesBySearchResult(dto); model.addAttribute("hotList", pageList.getAll()); return "noresult"; } return "notesList"; } return "searchResult"; }