@GetMapping("/shop-cart") public String cartListPage(HttpServletRequest request, HttpSession httpSession) { NewBeeMallUserVO user = (NewBeeMallUserVO) httpSession.getAttribute(Constants.MALL_USER_SESSION_KEY); int itemsTotal = 0; int priceTotal = 0; List<NewBeeMallShoppingCartItemVO> myShoppingCartItems = newBeeMallShoppingCartService.getMyShoppingCartItems(user.getUserId()); if (!CollectionUtils.isEmpty(myShoppingCartItems)) { //购物项总数 itemsTotal = myShoppingCartItems.stream().mapToInt(NewBeeMallShoppingCartItemVO::getGoodsCount).sum(); if (itemsTotal < 1) { NewBeeMallException.fail("购物项不能为空"); } //总价 for (NewBeeMallShoppingCartItemVO newBeeMallShoppingCartItemVO : myShoppingCartItems) { priceTotal += newBeeMallShoppingCartItemVO.getGoodsCount() * newBeeMallShoppingCartItemVO.getSellingPrice(); } if (priceTotal < 1) { NewBeeMallException.fail("购物项价格异常"); } } request.setAttribute("itemsTotal", itemsTotal); request.setAttribute("priceTotal", priceTotal); request.setAttribute("myShoppingCartItems", myShoppingCartItems); return "mall/cart"; }
时间: 2023-06-24 07:05:55 浏览: 138
stevenli91748#JAVA-Architecture#@GetMapping与 @PostMapping1
这段代码是一个后端控制器方法,使用了Spring MVC框架的@GetMapping注解,表示处理GET请求,并且映射了路径"/shop-cart"。
该方法接受了HttpServletRequest和HttpSession两个参数,分别表示当前请求和当前会话。
在方法中,首先从会话中获取当前用户信息,然后根据用户ID获取该用户的购物车项列表。如果购物车项列表不为空,则统计购物项总数和总价,并将它们分别设置到请求对象的属性中;最后将购物车项列表也设置到请求对象的属性中。
这段代码的作用是返回购物车页面,并且展示当前用户的购物车项列表、购物项总数和总价。
阅读全文