Commit 8d8dcf96 by 孙昱

Merge branch 'feature/20210324_切换门店清空券缓存bug修复_yu.sun'

parents df8cd7ad 3bb55272
......@@ -965,6 +965,17 @@ public class ShoppingCartMCoffeeServiceImpl {
break;
}
}
//清空商品券商品
Iterator<CartGoods> cartGoodsIterator = cartGoodsList.iterator();
while (cartGoodsIterator.hasNext()){
if (StringUtils.isNotEmpty(cartGoodsIterator.next().getCouponCode())){
cartGoodsIterator.remove();
}
}
log.info("switchCartGoods:{}",JSONObject.toJSONString(cartGoodsList));
// 重新存储门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
assortmentSdkService.setShoppingCart(partnerId, fromStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
}
List<CartGoods> onlyCheckGoodsList = new ArrayList<>();
......@@ -987,7 +998,9 @@ public class ShoppingCartMCoffeeServiceImpl {
//设置更新响应信息,校验失败只弹框提示消息,不切换门店,故将门店id重置为原来门店
shoppingCartGoodsResponseVo.setProducts(cartGoodsList);
shoppingCartInfoRequestVo.setShopId(requestVo.getFromShopId());
setAddAndUpdateResponse(shoppingCartGoodsResponseVo, cartGoodsList, shoppingCartGoodsResponseVo.getToastMsg(), ShoppingCartConstant.QUERY_INFO, shoppingCartInfoRequestVo);
setAddAndUpdateResponse(shoppingCartGoodsResponseVo, cartGoodsList, shoppingCartGoodsResponseVo.getToastMsg(), ShoppingCartConstant.ADD_AND_UPDATE, shoppingCartInfoRequestVo);
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
return ResponseUtil.success(shoppingCartGoodsResponseVo);
}else {
//清除当前用户的代金券缓存,防止切换门店券数据带到不适用门店
......@@ -1001,11 +1014,9 @@ public class ShoppingCartMCoffeeServiceImpl {
}
cartGoodsList = temList;
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
//清空商品券商品
clearCartCouponGoods(partnerId, toStoreId, userId, sessionId, cartGoodsList);
// 当couponCode不为空时,需参与价格计算
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = getCoupon(couponCode, null, cartGoodsList,null,null);
......@@ -1021,8 +1032,7 @@ public class ShoppingCartMCoffeeServiceImpl {
if (requestVo.getOperationType() == ShoppingCartOperationType.CONFIRM.getCode()) {
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
//清空商品券商品
clearCartCouponGoods(partnerId, toStoreId, userId, sessionId, cartGoodsList);
// 当couponCode不为空时,需参与价格计算
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = getCoupon(couponCode, null, cartGoodsList,null,null);
......@@ -1043,9 +1053,16 @@ public class ShoppingCartMCoffeeServiceImpl {
if (CollectionUtils.isEmpty(cartGoodsList)) {
return;
}
cartGoodsList = cartGoodsList.stream().filter(cartGoods -> cartGoods.getCouponCode() == null).collect(Collectors.toList());
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
cartGoodsList = cartGoodsList.stream().filter(cartGoods -> StringUtils.isEmpty(cartGoods.getCouponCode())).collect(Collectors.toList());
//如果购物车商品剔除商品券商品后列表为空,则清空缓存信息
if (CollectionUtils.isEmpty(cartGoodsList)){
com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto cartParamDto = assortmentSdkService.getCartParamDto(partnerId, storeId, userId);
log.info("clearCouponInfo:{}",JSONObject.toJSONString(cartParamDto));
shoppingCartBaseService.clearMCCafe(cartParamDto, LogThreadLocal.getTrackingNo());
}else{
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment