/** * Danh sách sản phẩm cần review * * @param modelMap * @param session * @param page * @return */ @RequestMapping( value = {"/reviewitem"}, method = RequestMethod.GET) public String reviewList( ModelMap modelMap, HttpSession session, @RequestParam(value = "page", defaultValue = "0") int page) { ItemSearch itemSearch = new ItemSearch(); itemSearch.setStatus(4); List<String> cateIds = new ArrayList<>(); List<String> shopCateIds = new ArrayList<>(); List<String> manufIds = new ArrayList<>(); List<String> modelIds = new ArrayList<>(); if (itemSearch.getCategoryIds() == null) { itemSearch.setCategoryIds(new ArrayList<String>()); } itemSearch.setSource(ItemSource.SELLER); long createTime = 1388509200 * 1000L; itemSearch.setCreateTimeFrom(createTime); itemSearch.setCreateTimeTo(System.currentTimeMillis()); if (session.getAttribute("itemSearch") != null && page != 0) { itemSearch = (ItemSearch) session.getAttribute("itemSearch"); } else { session.setAttribute("itemSearch", itemSearch); } Map<String, Object> parentCategorys = new HashMap<>(); getAncestors(itemSearch, parentCategorys); if (page > 0) { itemSearch.setPageIndex(page - 1); } else { itemSearch.setPageIndex(0); } itemSearch.setPageSize(50); DataPage<Item> itemPage = itemService.searchMongo(itemSearch); for (Item item : itemPage.getData()) { if (item.getCategoryId() != null && !item.getCategoryId().equals("") && !cateIds.contains(item.getCategoryId())) { cateIds.add(item.getCategoryId()); } if (item.getShopCategoryId() != null && !item.getShopCategoryId().equals("") && !shopCateIds.contains(item.getShopCategoryId())) { shopCateIds.add(item.getShopCategoryId()); } if (item.getManufacturerId() != null && !item.getManufacturerId().equals("") && !manufIds.contains(item.getManufacturerId())) { manufIds.add(item.getManufacturerId()); } if (item.getModelId() != null && !item.getModelId().equals("") && !modelIds.contains(item.getModelId())) { modelIds.add(item.getModelId()); } } for (Item item : itemPage.getData()) { List<String> images = new ArrayList<>(); if (item != null && item.getImages() != null && !item.getImages().isEmpty()) { for (String img : item.getImages()) { images.add( imageService.getUrl(img).thumbnail(200, 200, "outbound").getUrl(item.getName())); } item.setImages(images); } if (item.getSellerName() == null || item.getSellerName().equals("")) { try { User seller = userService.get(item.getSellerId()); item.setSellerName(seller.getEmail()); } catch (Exception ex) { } } } List<City> cities = cityService.list(); modelMap.put("itemSearch", itemSearch); modelMap.put("itemPage", itemPage); modelMap.put("cities", cities); modelMap.put("itemCates", categoryService.getCategories(cateIds)); modelMap.put("itemShopCates", shopCategoryService.get(shopCateIds)); modelMap.put("itemManuf", manufacturerService.getManufacturers(manufIds)); modelMap.put("itemModels", modelService.getModels(modelIds)); modelMap.put( "clientScript", "category = " + gson.toJson(categoryService.getChilds(null)) + ",cities=" + gson.toJson(cities) + ";reviewitem.init({parentCategorys:" + gson.toJson(parentCategorys) + ", categoryId:'" + (itemSearch.getCategoryIds().isEmpty() ? "" : itemSearch.getCategoryIds().get(0)) + "'});"); return "cp.item.review"; }
/** * Tìm kiếm tất cả sản phẩm * * @param itemSearch * @param session * @param modelMap * @return */ @RequestMapping( value = {"/reviewitem"}, method = RequestMethod.POST) public String reviewSearch( @ModelAttribute("itemSearch") ItemSearch itemSearch, HttpSession session, ModelMap modelMap) { Map<String, Object> parentCategorys = new HashMap<>(); List<String> cateIds = new ArrayList<>(); List<String> shopCateIds = new ArrayList<>(); List<String> manufIds = new ArrayList<>(); List<String> modelIds = new ArrayList<>(); itemSearch.setPageIndex(0); itemSearch.setPageSize(50); if (itemSearch.getCategoryId() != null && !itemSearch.getCategoryId().equals("")) { itemSearch.setCategoryIds(new ArrayList<String>()); itemSearch.getCategoryIds().add(itemSearch.getCategoryId()); } getAncestors(itemSearch, parentCategorys); session.setAttribute("itemSearch", itemSearch); DataPage<Item> itemPage = itemService.searchMongo(itemSearch); for (Item item : itemPage.getData()) { if (item.getCategoryId() != null && !item.getCategoryId().equals("") && !cateIds.contains(item.getCategoryId())) { cateIds.add(item.getCategoryId()); } if (item.getShopCategoryId() != null && !item.getShopCategoryId().equals("") && !shopCateIds.contains(item.getShopCategoryId())) { shopCateIds.add(item.getShopCategoryId()); } if (item.getManufacturerId() != null && !item.getManufacturerId().equals("") && !manufIds.contains(item.getManufacturerId())) { manufIds.add(item.getManufacturerId()); } if (item.getModelId() != null && !item.getModelId().equals("") && !modelIds.contains(item.getModelId())) { modelIds.add(item.getModelId()); } } for (Item item : itemPage.getData()) { List<String> images = new ArrayList<>(); if (item != null && item.getImages() != null && !item.getImages().isEmpty()) { for (String img : item.getImages()) { images.add( imageService.getUrl(img).thumbnail(200, 200, "outbound").getUrl(item.getName())); } item.setImages(images); } if (item.getSellerName() == null || item.getSellerName().equals("")) { try { User seller = userService.get(item.getSellerId()); item.setSellerName(seller.getEmail()); } catch (Exception ex) { } } } if (itemSearch.getCategoryIds() == null) { itemSearch.setCategoryIds(new ArrayList<String>()); } List<City> cities = cityService.list(); modelMap.put("itemSearch", itemSearch); modelMap.put("itemPage", itemPage); modelMap.put("cities", cities); modelMap.put("itemCates", categoryService.getCategories(cateIds)); modelMap.put("itemShopCates", shopCategoryService.get(shopCateIds)); modelMap.put("itemManuf", manufacturerService.getManufacturers(manufIds)); modelMap.put("itemModels", modelService.getModels(modelIds)); modelMap.put( "clientScript", "category = " + gson.toJson(categoryService.getChilds(null)) + ",cities=" + gson.toJson(cities) + ";reviewitem.init({parentCategorys:" + gson.toJson(parentCategorys) + ", categoryId:'" + (itemSearch.getCategoryIds().isEmpty() ? "" : itemSearch.getCategoryIds().get(0)) + "'});"); return "cp.item.review"; }