/** 列表 */ @RequestMapping(value = "/list", method = RequestMethod.GET) public String list( Long brandId, Long promotionId, Long[] tagIds, BigDecimal startPrice, BigDecimal endPrice, OrderType orderType, Integer pageNumber, Integer pageSize, HttpServletRequest request, ModelMap model) { Brand brand = brandService.find(brandId); Promotion promotion = promotionService.find(promotionId); List<Tag> tags = tagService.findList(tagIds); Pageable pageable = new Pageable(pageNumber, pageSize); model.addAttribute("orderTypes", OrderType.values()); model.addAttribute("brand", brand); model.addAttribute("promotion", promotion); model.addAttribute("tags", tags); model.addAttribute("startPrice", startPrice); model.addAttribute("endPrice", endPrice); model.addAttribute("orderType", orderType); model.addAttribute("pageNumber", pageNumber); model.addAttribute("pageSize", pageSize); model.addAttribute( "page", productService.findPage( null, brand, promotion, tags, null, startPrice, endPrice, true, true, null, false, null, null, orderType, pageable)); if (null != tags && tags.size() == 1 && (tags.get(0).getId() == 405 || tags.get(0).getName().equals("积分"))) { System.out.println("检查积分静态页面"); return "/shop/product/pointsList"; } return "/shop/product/list"; }
/** 点击商品属性获取结果 */ @RequestMapping(value = "/slist/{productCategoryId}", method = RequestMethod.GET) public String slist( @PathVariable Long productCategoryId, Long brandId, Long promotionId, Long[] tagIds, BigDecimal startPrice, BigDecimal endPrice, OrderType orderType, Boolean isOutOfStock, Integer pageNumber, Integer pageSize, HttpServletRequest request, ModelMap model) { ProductCategory productCategory = productCategoryService.find(productCategoryId); List<ProductCategory> childrenpCategory = productCategoryService.findChildrenByParent(productCategoryId); if (productCategory == null) { throw new ResourceNotFoundException(); } Brand brand = brandService.find(brandId); Promotion promotion = promotionService.find(promotionId); List<Tag> tags = tagService.findList(tagIds); Map<Attribute, String> attributeValue = new HashMap<Attribute, String>(); if (productCategory != null) { Set<Attribute> attributes = productCategory.getAttributes(); for (Attribute attribute : attributes) { String value = request.getParameter("attribute_" + attribute.getId()); if (StringUtils.isNotEmpty(value) && attribute.getOptions().contains(value)) { attributeValue.put(attribute, value); } } } Pageable pageable = new Pageable(pageNumber, pageSize); model.addAttribute("orderTypes", OrderType.values()); model.addAttribute("productCategory", productCategory); model.addAttribute("childrenpCategory", childrenpCategory); model.addAttribute("brand", brand); model.addAttribute("promotion", promotion); model.addAttribute("tags", tags); model.addAttribute("isOutOfStock", isOutOfStock); model.addAttribute("attributeValue", attributeValue); model.addAttribute("startPrice", startPrice); model.addAttribute("endPrice", endPrice); model.addAttribute("orderType", orderType); model.addAttribute("pageNumber", pageNumber); model.addAttribute("pageSize", pageSize); model.addAttribute( "page", productService.findPage( productCategory, brand, promotion, tags, attributeValue, startPrice, endPrice, true, true, null, false, isOutOfStock, null, orderType, pageable)); return "/gw/product/slist"; }
// 获取所有商品品牌集合 @Transient public List<Brand> getAllBrandList() { return brandService.getAllList(); }