Commit fe718d33 by yu.sun

sunyu::update::fix bug about monthcard payCardFee

parent 8a02e2fa
...@@ -213,12 +213,9 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -213,12 +213,9 @@ public class ShoppingCartMCoffeeServiceImpl {
// 购物车数据更新(保存商品原价) // 购物车数据更新(保存商品原价)
List<CartGoods> newCartGoods = updateCartGoodsLegal(partnerId, storeId, orderType, tableNumber, menuType, userId, addCartGoods, shoppingCartGoodsResponseVo, oldCartGoodsList); List<CartGoods> newCartGoods = updateCartGoodsLegal(partnerId, storeId, orderType, tableNumber, menuType, userId, addCartGoods, shoppingCartGoodsResponseVo, oldCartGoodsList);
//月享卡购卡费用
Long payCardPrice =
newCartGoods.stream().filter(goods->Objects.equals(1,goods.getIsMonthCard())).mapToLong(CartGoods::getOriginalPrice).sum();
// 促销活动等价格计算 // 促销活动等价格计算
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, null, calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, null,
newCartGoods, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo, payCardPrice); newCartGoods, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo, null);
// 返回购物车数据 // 返回购物车数据
setAddAndUpdateResponse(shoppingCartGoodsResponseVo, newCartGoods, null, ShoppingCartConstant.ADD_AND_UPDATE, null); setAddAndUpdateResponse(shoppingCartGoodsResponseVo, newCartGoods, null, ShoppingCartConstant.ADD_AND_UPDATE, null);
...@@ -1579,19 +1576,36 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1579,19 +1576,36 @@ public class ShoppingCartMCoffeeServiceImpl {
allCartGoodsList.addAll(reduceGoods); allCartGoodsList.addAll(reduceGoods);
} }
//如果是餐具商品,则放到最后
if (CollectionUtils.isNotEmpty(allCartGoodsList)) { if (CollectionUtils.isNotEmpty(allCartGoodsList)) {
int size = allCartGoodsList.size(); int size = allCartGoodsList.size();
Boolean hasTableWareSku = false;
for(int i=0;i<size;i++) { for(int i=0;i<size;i++) {
//如果是餐具商品,则放到最后
if(allCartGoodsList.get(i).getSkuId().equals(mcCafeTablewareSkuId)) { if(allCartGoodsList.get(i).getSkuId().equals(mcCafeTablewareSkuId)) {
CartGoods cartGoods = allCartGoodsList.get(i); CartGoods cartGoods = allCartGoodsList.get(i);
cartGoods.setIsTableware(true); cartGoods.setIsTableware(true);
hasTableWareSku = true;
if(i != size-1) { if(i != size-1) {
allCartGoodsList.remove(i); allCartGoodsList.remove(i);
allCartGoodsList.add(cartGoods); allCartGoodsList.add(cartGoods);
break; break;
} }
} }
//如果有餐具,月享卡放倒数第二; 没有餐具,月享卡放最后
if(Objects.equals(1,allCartGoodsList.get(i).getIsMonthCard())) {
CartGoods cartGoods = allCartGoodsList.get(i);
if(hasTableWareSku && i != size-2) {
allCartGoodsList.remove(i);
allCartGoodsList.add(cartGoods);
break;
}else{
if(i != size-1) {
cartGoods.setIsMonthCard(1);
cartGoodsList.add(cartGoods);
break;
}
}
}
} }
} }
......
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