Commit a3ed76dc by 孙昱

sunyu::update::fix bug about clear couponInfo for switchCartGoods method

parent 28bdce61
......@@ -987,7 +987,11 @@ 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);
//清空商品券商品
clearCartCouponGoods(partnerId, toStoreId, userId, sessionId, cartGoodsList);
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
return ResponseUtil.success(shoppingCartGoodsResponseVo);
}else {
//清除当前用户的代金券缓存,防止切换门店券数据带到不适用门店
......@@ -1001,27 +1005,12 @@ public class ShoppingCartMCoffeeServiceImpl {
}
cartGoodsList = temList;
//清空商品券商品
clearCartCouponGoods(partnerId, toStoreId, userId, sessionId, cartGoodsList);
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
//清空商品券商品
clearCartCouponGoods(partnerId, toStoreId, userId, sessionId, cartGoodsList);
//当购物车列表里只有一个商品券商品时,clearCartCouponGoods方法不会清空缓存,这里调用clear方法来清空
if (CollectionUtils.isEmpty(cartGoodsList)){
ShoppingCartClearRequestVo clearRequestVo = new ShoppingCartClearRequestVo();
clearRequestVo.setAppId(appId);
clearRequestVo.setUserId(userId);
clearRequestVo.setOperationType(3);
clearRequestVo.setTableNumber(null);
clearRequestVo.setCreateCollageUserId(null);
clearRequestVo.setReceiveId(receiveId);
clearRequestVo.setSessionId(sessionId);
clearRequestVo.setPartnerId(partnerId);
clearRequestVo.setShopId(toStoreId);
clearRequestVo.setOrderType(orderType);
clearRequestVo.setChannelType(menuType);
this.clear(clearRequestVo);
}
// 当couponCode不为空时,需参与价格计算
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = getCoupon(couponCode, null, cartGoodsList,null,null);
......@@ -1035,26 +1024,12 @@ public class ShoppingCartMCoffeeServiceImpl {
}
// 新门店check购物车中所有商品
if (requestVo.getOperationType() == ShoppingCartOperationType.CONFIRM.getCode()) {
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
//清空商品券商品
clearCartCouponGoods(partnerId, toStoreId, userId, sessionId, cartGoodsList);
//当购物车列表里只有一个商品券商品时,clearCartCouponGoods方法不会清空缓存,这里调用clear方法来清空
if (CollectionUtils.isEmpty(cartGoodsList)){
ShoppingCartClearRequestVo clearRequestVo = new ShoppingCartClearRequestVo();
clearRequestVo.setAppId(appId);
clearRequestVo.setUserId(userId);
clearRequestVo.setOperationType(3);
clearRequestVo.setTableNumber(null);
clearRequestVo.setCreateCollageUserId(null);
clearRequestVo.setReceiveId(receiveId);
clearRequestVo.setSessionId(sessionId);
clearRequestVo.setPartnerId(partnerId);
clearRequestVo.setShopId(toStoreId);
clearRequestVo.setOrderType(orderType);
clearRequestVo.setChannelType(menuType);
this.clear(clearRequestVo);
}
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
// 当couponCode不为空时,需参与价格计算
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = getCoupon(couponCode, null, cartGoodsList,null,null);
......@@ -1076,8 +1051,14 @@ public class ShoppingCartMCoffeeServiceImpl {
return;
}
cartGoodsList = cartGoodsList.stream().filter(cartGoods -> cartGoods.getCouponCode() == null).collect(Collectors.toList());
// 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
//如果购物车商品剔除商品券商品后列表为空,则清空缓存信息
if (CollectionUtils.isEmpty(cartGoodsList)){
com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto cartParamDto = assortmentSdkService.getCartParamDto(partnerId, storeId, userId);
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