老系统中购物车内所有商品只能全部结算,现在需要购物车内商品可选择结算,需求如下
需求描述
增加选择结算功能
点击提交订单后选中商品从购物篮移除,未选择商品保留在购物车(支付中断或是支付失败时商品也会从购物车移除,订单记录在我的订单的未处理订单里)
购物车内商品下架时商品从购物车移除,商品库存不足时,提交订单后出现提示(该部分逻辑与现有一致未做改动)
需注意不同模式下商城界面的调整
注意点:
1. 进入购物车后所有商品默认全选
2. 购物车内商品下架时商品从购物车移除,商品库存不足时,提交订单后出现提示
关于注意点2的业务解释
老系统中,购物产内商品是否下架,库存是否不足的判断是在支付时一起处理的,现在改为商品是否下架的判断,在购物车页面的时候就做,已下架的商品要从购物车剔除,商品库存是否充足的判断还是在支付时做。
过去在一处的逻辑判断,现在分成两处,这样处理有2个原因,1.商品下架后,商品货架页该商品应剔除,这时购物车和货架应保持一致,均不显示该商品,故对商品是否下架的判断在购物车阶段处理。 2.系统允许超卖,这个功能用户可选,即在商品库存不足时,仍允许用户下单,故对商品库存的判断放在支付阶段处理。
开发的前后端设计,老系统基于cookie,购物车内商品查询信息存在cookie mCart中, 现在增加cookie mSettlement, 用于购物车中需要结算的商品信息查询。前后端思维导图如下
网友评论