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 {
*/
private int isSeedCouponGoods;
/**
* 是否是太阳蛋商品
*/
private int isSunnyCoupon;
/**
* 月享卡信息
*/
private MonthCardVo monthCardInfo;
......
......@@ -69,10 +69,6 @@ public class CartGoods {
*/
private Integer goodsType;
/**
* 是否是太阳蛋商品
*/
private int isSunnyCoupon=0;
/**
* 1:称重菜 或 套餐商品包含称重菜
*/
private boolean weightType;
......
......@@ -434,6 +434,16 @@ public class ShoppingCartMCoffeeServiceImpl {
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, couponCode,
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)) {
int size = cartGoodsList.size();
......
......@@ -78,7 +78,19 @@ public class CouponDiscountCalculation {
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts())
|| !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;
}
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods> goodsList = calculationDiscountResult.getGoods();
......@@ -86,9 +98,20 @@ public class CouponDiscountCalculation {
return;
}
//订单级别券优惠
//订单级别券优惠,订单级别优惠为空,则清除商品券信息,并且移除用券商品,更新商品价格
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> discounts = calculationDiscountResult.getDiscounts();
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;
}
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> couponDiscounts = discounts.stream().filter(discount -> (ActivityTypeEnum.TYPE_3.getCode().equals(discount.getType())
......@@ -128,6 +151,14 @@ public class CouponDiscountCalculation {
if (CollectionUtils.isNotEmpty(discountsNew)) {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount goodsDiscount = discountsNew.stream().filter(t -> ActivityTypeEnum.TYPE_32.getCode().equals(t.getType())).findFirst().get();
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