干货 | 京东购物车的Java架构实现及道理!
将购物车追加到Redis中的代码:insertBuyerCartToRedis(这内里包括了判定添加的是否是同款) 判定用户是否登录: String username = sessionProviderService.getAttributterForUsername(RequestUtils.getCSessionId(request, response)); 2、购物趁魅展示页面 最后 重定向到购物趁魅展示页: return "redirect:/shopping/toCart"; 这里进入结算页有两种方法: 1) 在商品详情页 点击插手购物车. 2) 直接点击购物车按钮 进入购物车结算页. 下面来看下结算页的代码: 这里 就是 购物车详情展示页面, 这里必要留意, 假如是统一件商品持续添加, 是必要归并的. 购物车详情展示页面就包罗两大块, 1) 商品详情 2)总计(商品总额,运费) 个中1)商品详情又包罗 商品尺码,商品颜色, 商品购置数目, 是否有货. 取出Redis中的购物车: buyerCart = cartService.selectBuyerCartFromRedis(username); 将购物车装满, 前面只是将skuId装进购物车, 这里还必要查出sku详情: List<BuyerItem> items = buyerCart.getItems(); buyerItem.setSku(cartService.selectSkuById(buyerItem.getSku().getId())); 接着就返回"cart.jsp", 这个就是购物车详情展示页面了. 3、去结算页面 到了这里就声名用户必必要 登录, 并且购物车中必必要有商品. 以是这里我么你必要操作springmvc的过滤成果, 用户点击结算的时辰必必要先登录, 假如没有登录的话就提醒用户必要登录. 取出 所指定的购物车, 由于我们结算之前在购物车详情页面会勾选 我们 必要购置的商品, 以是这里是按照所勾选的商品去结算的. BuyerCart buyerCart = cartService.selectBuyerCartFromRedisBySkuIds(skuIds, username); 从购物车中取出指定商品: 1) 当我们购置的商品只要有一件是无货的状态, 那么革新购物车详情页面, 回显无货的商品状态. 2)当购物车午时商品时, 革新当前页面. 购物车就这么多对象, 也许有讲授不到可能错误的处所, 接待各人指出来.假如对你有辅佐的话也请点个赞支持一下,感谢~ (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |