public Page<ProductBean> listRoute(Map<String, Object> params) { if (isFreness(params)) { ArgCheckUtils.validataRequiredArgs("toDest", "page", params); } else { ArgCheckUtils.validataRequiredArgs("fromDest", "toDest", "page", params); } ClientRouteSearchVO searchVo = new ClientRouteSearchVO(); searchVo.setChannel(Constant.CHANNEL.CLIENT.name()); List<String> productTypes = new ArrayList<String>(); productTypes.add(Constant.PRODUCT_TYPE.ROUTE.name()); searchVo.setProductType(productTypes); if (params.get("pageSize") != null) { searchVo.setPageSize(Integer.parseInt(params.get("pageSize").toString())); } if (params.get("subject") != null) { searchVo.setSubject(params.get("subject").toString()); } if (params.get("placeId") != null) { searchVo.setCityId(params.get("placeId").toString()); } searchVo.setPage(Integer.valueOf(params.get("page").toString())); if (params.get("searchType") != null) { if (params.get("subProductType") != null && !"".equals(params.get("subProductType"))) { String searchType = params.get("searchType").toString(); if (this.isNotOverSeaTravel(searchType)) { if (params.get("fromDest") != null) { String fromDest = params.get("fromDest").toString(); if (fromDest.contains(",")) { fromDest = fromDest.substring(0, fromDest.lastIndexOf(",")); params.put("fromDest", fromDest); } } } } } if (params.get("subProductType") != null) { if (this.isFreness(params)) { params.put("fromDest", null); } searchVo.setSubProductType(ClientUtils.convetToList(params.get("subProductType").toString())); } else { searchVo.setSubProductType(new ArrayList<String>()); } if (params.get("fromDest") != null) { searchVo.setFromDest(params.get("fromDest").toString()); } if (params.get("toDest") != null) { searchVo.setToDest(StringUtil.subStringStrNoSuffix(params.get("toDest").toString(), 60)); } if (params.get("sort") != null) { searchVo.setSort(params.get("sort").toString()); } else { // 添加默认seq排序 searchVo.setSort("seq"); } if (params.get("day") != null) { searchVo.setVisitDay(params.get("day").toString()); } if (params.get("keyword") != null) { searchVo.setKeyword(StringUtil.subStringStrNoSuffix(params.get("keyword").toString(), 60)); } Page<ProductBean> pageConfig = vstClientProductService.routeSearch(searchVo); return pageConfig; }
public Map<String, Object> routeSearch(Map<String, Object> params) { if (isFreness(params)) { ArgCheckUtils.validataRequiredArgs("toDest", "page", params); } else { ArgCheckUtils.validataRequiredArgs("fromDest", "toDest", "page", params); } Map<String, Object> resultMap = new HashMap<String, Object>(); ClientRouteSearchVO searchVo = new ClientRouteSearchVO(); searchVo.setChannel(Constant.CHANNEL.CLIENT.name()); List<String> productTypes = new ArrayList<String>(); productTypes.add(Constant.PRODUCT_TYPE.ROUTE.name()); searchVo.setProductType(productTypes); if (params.get("pageSize") != null) { searchVo.setPageSize(Integer.parseInt(params.get("pageSize").toString())); } if (params.get("subject") != null) { searchVo.setSubject(params.get("subject").toString()); } if (params.get("palceId") != null) { searchVo.setPlaceId(params.get("palceId").toString()); } searchVo.setPage(Integer.valueOf(params.get("page").toString())); if (params.get("searchType") != null) { if (params.get("subProductType") != null && !"".equals(params.get("subProductType"))) { String searchType = params.get("searchType").toString(); if (this.isNotOverSeaTravel(searchType)) { if (params.get("fromDest") != null) { String fromDest = params.get("fromDest").toString(); if (fromDest.contains(",")) { fromDest = fromDest.substring(0, fromDest.lastIndexOf(",")); params.put("fromDest", fromDest); } } } } } if (params.get("subProductType") != null) { if (this.isFreness(params)) { params.put("fromDest", null); } searchVo.setSubProductType(ClientUtils.convetToList(params.get("subProductType").toString())); } else { searchVo.setSubProductType(new ArrayList<String>()); } if (params.get("fromDest") != null) { searchVo.setFromDest(params.get("fromDest").toString()); } if (params.get("toDest") != null) { searchVo.setToDest(StringUtil.subStringStrNoSuffix(params.get("toDest").toString(), 60)); } if (params.get("sort") != null) { searchVo.setSort(params.get("sort").toString()); } if (params.get("day") != null) { searchVo.setVisitDay(params.get("day").toString()); } if (params.get("keyword") != null) { searchVo.setKeyword(StringUtil.subStringStrNoSuffix(params.get("keyword").toString(), 60)); } Page<ProductBean> pageConfig = vstClientProductService.routeSearch(searchVo); List<MobileProductTitle> mpList = new ArrayList<MobileProductTitle>(); Map<String, String> visitMap = new HashMap<String, String>(); for (ProductBean productBean : pageConfig.getAllItems()) { if (!StringUtil.isEmptyString(productBean.getRouteTopic())) { String[] topics = productBean.getRouteTopic().split(","); for (String string : topics) { String str = StringUtils.trimAllWhitespace(string); visitMap.put(str, str); } } } List<Map<String, Object>> topicList = new ArrayList<Map<String, Object>>(); Iterator<Entry<String, String>> it = visitMap.entrySet().iterator(); // subjectList列表 Map<String, Object> t_m = new HashMap<String, Object>(); t_m.put("title", "全部主题"); t_m.put("value", ""); topicList.add(t_m); while (it.hasNext()) { Map<String, Object> m = new HashMap<String, Object>(); Map.Entry<String, String> entry = (Map.Entry<String, String>) it.next(); String key = entry.getKey(); m.put("title", key); m.put("value", key); topicList.add(m); } for (ProductBean productBean : pageConfig.getItems()) { // 过滤掉超级自由行 if ("true".equals(productBean.getSelfPack())) { continue; } MobileProductTitle mp = new MobileProductTitle(); mp.setProductName(productBean.getProductName()); mp.setMarketPriceYuan(productBean.getMarketPrice()); mp.setSmallImage(productBean.getSmallImage()); mp.setSellPriceYuan(productBean.getSellPrice()); mp.setProductId(productBean.getProductId()); mp.setClientOnly(Constant.CHANNEL.CLIENT.name().equals(productBean.getProductChannel())); // 返现金额 分 mp.setMaxCashRefund( null == productBean.getCashRefund() ? 0l : PriceUtil.convertToFen(productBean.getCashRefund())); mp.setCmtNum(productBean.getCmtNum()); // 点评数 mp.setSubProductType(productBean.getSubProductType()); // 主题类型 mp.setVisitDay(productBean.getVisitDay() + ""); // 天数 try { ProductSearchInfo psi = this.productSearchInfoService.queryProductSearchInfoByProductId( productBean.getProductId()); mp.setHasBusinessCoupon(ClientUtils.hasBusinessCoupon(psi)); // 优惠 } catch (Exception e) { e.printStackTrace(); } mpList.add(mp); } resultMap.put("subjects", topicList); resultMap.put("datas", mpList); resultMap.put("isLastPage", isLastPage(pageConfig)); return resultMap; }