From 25dd96d4fb6f68596d70f97c59f1929eb07223ba Mon Sep 17 00:00:00 2001 From: Junling Bu Date: Sun, 27 Oct 2019 23:08:16 +0800 Subject: [PATCH] =?UTF-8?q?feat[litemall-wx-api]:=20=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=A0=E9=99=A4=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../litemall/wx/web/WxCartController.java | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java index 8435c12e..29dc11a4 100644 --- a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java +++ b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java @@ -1,6 +1,7 @@ package org.linlinjava.litemall.wx.web; import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.linlinjava.litemall.core.system.SystemConfig; @@ -14,10 +15,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static org.linlinjava.litemall.wx.util.WxResponseCode.GOODS_NO_STOCK; import static org.linlinjava.litemall.wx.util.WxResponseCode.GOODS_UNSHELVE; @@ -60,7 +58,22 @@ public class WxCartController { return ResponseUtil.unlogin(); } - List cartList = cartService.queryByUid(userId); + List list = cartService.queryByUid(userId); + List cartList = new ArrayList<>(); + // TODO + // 如果系统检查商品已删除或已下架,则系统自动删除。 + // 更好的效果应该是告知用户商品失效,允许用户点击按钮来清除失效商品。 + for (LitemallCart cart : list) { + LitemallGoods goods = goodsService.findById(cart.getGoodsId()); + if (goods == null || !goods.getIsOnSale()) { + cartService.deleteById(cart.getId()); + logger.debug("系统自动删除失效购物车商品 goodsId=" + cart.getGoodsId() + " productId=" + cart.getProductId()); + } + else{ + cartList.add(cart); + } + } + Integer goodsCount = 0; BigDecimal goodsAmount = new BigDecimal(0.00); Integer checkedGoodsCount = 0; @@ -133,7 +146,12 @@ public class WxCartController { cart.setId(null); cart.setGoodsSn(goods.getGoodsSn()); cart.setGoodsName((goods.getName())); - cart.setPicUrl(goods.getPicUrl()); + if(StringUtils.isEmpty(product.getUrl())){ + cart.setPicUrl(goods.getPicUrl()); + } + else{ + cart.setPicUrl(product.getUrl()); + } cart.setPrice(product.getPrice()); cart.setSpecifications(product.getSpecifications()); cart.setUserId(userId); @@ -202,7 +220,12 @@ public class WxCartController { cart.setId(null); cart.setGoodsSn(goods.getGoodsSn()); cart.setGoodsName((goods.getName())); - cart.setPicUrl(goods.getPicUrl()); + if(StringUtils.isEmpty(product.getUrl())){ + cart.setPicUrl(goods.getPicUrl()); + } + else{ + cart.setPicUrl(product.getUrl()); + } cart.setPrice(product.getPrice()); cart.setSpecifications(product.getSpecifications()); cart.setUserId(userId);