Commit 191551cc by yu.sun

Merge branch 'feature/20210201_P5V3新增商品券门槛需求_yu.sun'

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CartGoods.java
parents d148ea9f 2d353782
...@@ -87,6 +87,10 @@ public class CartGoods { ...@@ -87,6 +87,10 @@ public class CartGoods {
*/ */
private int isSeedCouponGoods; private int isSeedCouponGoods;
/** /**
* 是否是太阳蛋商品
*/
private int isSunnyCoupon;
/**
* 月享卡信息 * 月享卡信息
*/ */
private MonthCardVo monthCardInfo; private MonthCardVo monthCardInfo;
......
...@@ -69,10 +69,6 @@ public class CartGoods { ...@@ -69,10 +69,6 @@ public class CartGoods {
*/ */
private Integer goodsType; private Integer goodsType;
/** /**
* 是否是太阳蛋商品
*/
private int isSunnyCoupon=0;
/**
* 1:称重菜 或 套餐商品包含称重菜 * 1:称重菜 或 套餐商品包含称重菜
*/ */
private boolean weightType; private boolean weightType;
......
...@@ -434,6 +434,16 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -434,6 +434,16 @@ public class ShoppingCartMCoffeeServiceImpl {
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, couponCode, calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, couponCode,
cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo,null); cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo,null);
// 促销算价若未返回优惠信息有可能会变更购物车数据,重新存储最新购物车,并进行新一次的算价
if (shoppingCartGoodsResponseVo.getChanged()) {
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
// 促销活动的优惠金额计算
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, couponCode,
cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo,null);
if (shoppingCartGoodsResponseVo.getChanged() && StringUtils.isEmpty(shoppingCartGoodsResponseVo.getToastMsg())){
shoppingCartGoodsResponseVo.setChanged(false);
}
}
//把月卡放到最后 //把月卡放到最后
if (CollectionUtils.isNotEmpty(cartGoodsList)) { if (CollectionUtils.isNotEmpty(cartGoodsList)) {
int size = cartGoodsList.size(); int size = cartGoodsList.size();
......
...@@ -78,7 +78,19 @@ public class CouponDiscountCalculation { ...@@ -78,7 +78,19 @@ public class CouponDiscountCalculation {
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts()) if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts())
|| !calculationDiscountResult.getDiscounts().stream().anyMatch(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType()) || !calculationDiscountResult.getDiscounts().stream().anyMatch(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType())
||(ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())) || (ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType())) ))) { ||(ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())) || (ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType()))))){
//订单级别优惠为空,则清除商品券信息,并且移除用券商品,更新商品价格
if (null != calculationDiscountResult && CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts())){
Iterator<CartGoods> cartGoodsIterator = cartGoodsList.iterator();
while (cartGoodsIterator.hasNext()){
if (StringUtils.isNotEmpty(cartGoodsIterator.next().getCouponCode())) {
cartGoodsIterator.remove();
//价格变动
shoppingCartGoodsResponseVo.setChanged(true);
break;
}
}
}
return; return;
} }
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods> goodsList = calculationDiscountResult.getGoods(); List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods> goodsList = calculationDiscountResult.getGoods();
...@@ -86,9 +98,20 @@ public class CouponDiscountCalculation { ...@@ -86,9 +98,20 @@ public class CouponDiscountCalculation {
return; return;
} }
//订单级别券优惠 //订单级别券优惠,订单级别优惠为空,则清除商品券信息,并且移除用券商品,更新商品价格
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> discounts = calculationDiscountResult.getDiscounts(); List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> discounts = calculationDiscountResult.getDiscounts();
if (CollectionUtils.isEmpty(discounts)) { if (CollectionUtils.isEmpty(discounts)) {
for (CartGoods cartGoods:cartGoodsList) {
Iterator<CartGoods> cartGoodsIterator = cartGoodsList.iterator();
while (cartGoodsIterator.hasNext()){
if (StringUtils.isNotEmpty(cartGoodsIterator.next().getCouponCode())) {
cartGoodsIterator.remove();
//价格变动
shoppingCartGoodsResponseVo.setChanged(true);
break;
}
}
}
return; return;
} }
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> couponDiscounts = discounts.stream().filter(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType()) List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> couponDiscounts = discounts.stream().filter(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType())
...@@ -128,6 +151,14 @@ public class CouponDiscountCalculation { ...@@ -128,6 +151,14 @@ public class CouponDiscountCalculation {
if (CollectionUtils.isNotEmpty(discountsNew)) { if (CollectionUtils.isNotEmpty(discountsNew)) {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount goodsDiscount = discountsNew.stream().filter(t -> ActivityTypeEnum.TYPE_32.getCode().equals(t.getType())).findFirst().get(); ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount goodsDiscount = discountsNew.stream().filter(t -> ActivityTypeEnum.TYPE_32.getCode().equals(t.getType())).findFirst().get();
cartGoods.setCouponName(goodsDiscount.getActivityName()); cartGoods.setCouponName(goodsDiscount.getActivityName());
}else{
Iterator<CartGoods> cartGoodsIterator = cartGoodsList.iterator();
while (cartGoodsIterator.hasNext()){
if (StringUtils.isNotEmpty(cartGoodsIterator.next().getCouponCode())) {
cartGoodsIterator.remove();
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