diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java index c85cfbbd..d00b1bec 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CheckDataRender.java @@ -95,8 +95,10 @@ public class CheckDataRender implements CartRenderStep { * @param tradeDTO 购物车视图 */ private void checkData(TradeDTO tradeDTO) { + List cartSkuVOS = tradeDTO.getSkuList(); + //循环购物车中的商品 - for (CartSkuVO cartSkuVO : tradeDTO.getSkuList()) { + for (CartSkuVO cartSkuVO : cartSkuVOS) { //如果失效,确认sku为未选中状态 if (Boolean.TRUE.equals(cartSkuVO.getInvalid())) { @@ -106,14 +108,17 @@ public class CheckDataRender implements CartRenderStep { //缓存中的商品信息 GoodsSku dataSku = goodsSkuService.getGoodsSkuByIdFromCache(cartSkuVO.getGoodsSku().getId()); + Map promotionMap = promotionGoodsService.getCurrentGoodsPromotion(dataSku, tradeDTO.getCartTypeEnum().name()); //商品有效性判定 - if (dataSku == null || dataSku.getCreateTime().after(cartSkuVO.getGoodsSku().getCreateTime())) { - //设置购物车未选中 - cartSkuVO.setChecked(false); - //设置购物车此sku商品已失效 - cartSkuVO.setInvalid(true); - //设置失效消息 - cartSkuVO.setErrorMessage("商品信息发生变化,已失效"); + if (dataSku == null || dataSku.getUpdateTime().after(cartSkuVO.getGoodsSku().getUpdateTime())) { + //商品失效,将商品移除并重新填充商品 + cartSkuVOS.remove(cartSkuVO); + //设置新商品 + CartSkuVO newCartSkuVO = new CartSkuVO(dataSku,promotionMap); + newCartSkuVO.setCartType(tradeDTO.getCartTypeEnum()); + newCartSkuVO.setNum(cartSkuVO.getNum()); + newCartSkuVO.setSubTotal(CurrencyUtil.mul(newCartSkuVO.getPurchasePrice(), cartSkuVO.getNum())); + cartSkuVOS.add(newCartSkuVO); continue; } //商品上架状态判定 diff --git a/framework/src/main/java/cn/lili/modules/system/entity/dto/BaseSetting.java b/framework/src/main/java/cn/lili/modules/system/entity/dto/BaseSetting.java index 98b8cacc..3c257e24 100644 --- a/framework/src/main/java/cn/lili/modules/system/entity/dto/BaseSetting.java +++ b/framework/src/main/java/cn/lili/modules/system/entity/dto/BaseSetting.java @@ -25,12 +25,21 @@ public class BaseSetting implements Serializable { @ApiModelProperty(value = "后端logo") private String domainLogo; + @ApiModelProperty(value = "后端icon") + private String domainIcon; + @ApiModelProperty(value = "买家端logo") private String buyerSideLogo; + @ApiModelProperty(value = "买家端icon") + private String buyerSideIcon; + @ApiModelProperty(value = "商家端logo") private String storeSideLogo; + @ApiModelProperty(value = "商家端icon") + private String storeSideIcon; + @ApiModelProperty(value = "站点地址") private String staticPageAddress;