Commit 3b0a4ba9 by ping.wu

买m赠n券

parent 1e10653b
...@@ -358,7 +358,8 @@ public class ActivityAdapter { ...@@ -358,7 +358,8 @@ public class ActivityAdapter {
List<String> couponCodes = discountResult.getDiscounts().stream().filter(discount -> Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_3.getCode()) List<String> couponCodes = discountResult.getDiscounts().stream().filter(discount -> Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_3.getCode())
|| Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_31.getCode()) || Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_31.getCode())
|| Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_32.getCode()) || Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_32.getCode())
|| Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_33.getCode())).map(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount::getActivityCode).collect(Collectors.toList()); || Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_33.getCode())
|| Objects.equals(discount.getType(),ActivityTypeEnum.TYPE_330.getCode())).map(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount::getActivityCode).collect(Collectors.toList());
couponAvailableCartInfo.setCouponCodes(couponCodes); couponAvailableCartInfo.setCouponCodes(couponCodes);
totalMealDiscountAmount = discountResult.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount::getDiscount).sum(); totalMealDiscountAmount = discountResult.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount::getDiscount).sum();
...@@ -380,8 +381,11 @@ public class ActivityAdapter { ...@@ -380,8 +381,11 @@ public class ActivityAdapter {
Long mealDiscountAmount = 0L;//套餐优惠不算在内 Long mealDiscountAmount = 0L;//套餐优惠不算在内
if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){ if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){
Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode()) Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_33.getCode())).map(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getActivityCode).findFirst(); goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode())
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_33.getCode())
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_330.getCode())
).map(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getActivityCode).findFirst();
cartProduct.setCouponCode(goodCoupon!=null && goodCoupon.isPresent()?goodCoupon.get():null); cartProduct.setCouponCode(goodCoupon!=null && goodCoupon.isPresent()?goodCoupon.get():null);
mealDiscountAmount = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getDiscount).sum(); mealDiscountAmount = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getDiscount).sum();
...@@ -424,7 +428,8 @@ public class ActivityAdapter { ...@@ -424,7 +428,8 @@ public class ActivityAdapter {
List<String> couponCodes = discountResult.getCouponDiscounts().stream().filter(discount -> Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_3.getCode()) List<String> couponCodes = discountResult.getCouponDiscounts().stream().filter(discount -> Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_3.getCode())
|| Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_31.getCode()) || Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_31.getCode())
|| Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_32.getCode()) || Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_32.getCode())
|| Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_33.getCode())).map(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.CouponResults::getCouponCode).collect(Collectors.toList()); || Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_33.getCode())
|| Objects.equals(discount.getActivityType(),ActivityTypeEnum.TYPE_330.getCode())).map(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.CouponResults::getCouponCode).collect(Collectors.toList());
couponAvailableCartInfo.setCouponCodes(couponCodes); couponAvailableCartInfo.setCouponCodes(couponCodes);
totalMealDiscountAmount = discountResult.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount::getDiscount).sum(); totalMealDiscountAmount = discountResult.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount::getDiscount).sum();
...@@ -440,8 +445,10 @@ public class ActivityAdapter { ...@@ -440,8 +445,10 @@ public class ActivityAdapter {
Pair<Long,Long> pair = getSmallMaterialAmount(discountGood.getSmallMaterial());//value1=总实付 value2=总优惠 Pair<Long,Long> pair = getSmallMaterialAmount(discountGood.getSmallMaterial());//value1=总实付 value2=总优惠
Long mealDiscountAmount = 0L;//套餐优惠不算在内 Long mealDiscountAmount = 0L;//套餐优惠不算在内
if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){ if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){
Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode()) Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_33.getCode())).map(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getActivityCode).findFirst(); goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode())
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_33.getCode())
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_330.getCode())).map(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getActivityCode).findFirst();
cartProduct.setCouponCode(goodCoupon!=null && goodCoupon.isPresent()?goodCoupon.get():null); cartProduct.setCouponCode(goodCoupon!=null && goodCoupon.isPresent()?goodCoupon.get():null);
mealDiscountAmount = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getDiscount).sum(); mealDiscountAmount = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getDiscount).sum();
......
...@@ -36,33 +36,33 @@ public class BuyMSendNCouponDiscountServiceImpl implements IPromotionService { ...@@ -36,33 +36,33 @@ public class BuyMSendNCouponDiscountServiceImpl implements IPromotionService {
return; return;
} }
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods goods : calculationDiscountResult.getGoods()){ for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods goods : calculationDiscountResult.getGoods()) {
if(CollectionUtils.isEmpty(goods.getDiscounts())){ if (CollectionUtils.isEmpty(goods.getDiscounts())) {
continue; continue;
} }
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> goodsDiscounts = goods.getDiscounts().stream().filter(c -> ActivityTypeEnum.TYPE_330.getCode().equals(c.getType())).collect(Collectors.toList()); List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> goodsDiscounts = goods.getDiscounts().stream().filter(c -> ActivityTypeEnum.TYPE_330.getCode().equals(c.getType())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(goodsDiscounts)){ if (CollectionUtils.isEmpty(goodsDiscounts)) {
continue; continue;
} }
List<CartGoods> addSendGoodsList = new ArrayList<>(); // List<CartGoods> addSendGoodsList = new ArrayList<>();
for (CartGoods cartGoods : cartGoodsList) { for (CartGoods cartGoods : cartGoodsList) {
if(Objects.equals(goods.getCartGoodsUid(),cartGoods.getCartGoodsUid())){ if (Objects.equals(goods.getCartGoodsUid(), cartGoods.getCartGoodsUid())) {
Integer actualGoodsNumber = goodsDiscounts.get(0).getActualGoodsNumber(); Integer actualGoodsNumber = goodsDiscounts.get(0).getActualGoodsNumber();
if(cartGoods.getQty() > actualGoodsNumber){ if (cartGoods.getQty() > actualGoodsNumber) {
CartGoods cartGood = new CartGoods(); // CartGoods cartGood = new CartGoods();
BeanUtils.copyProperties(cartGoods,cartGood); // BeanUtils.copyProperties(cartGoods, cartGood);
cartGood.setQty(actualGoodsNumber); // cartGood.setQty(actualGoodsNumber);
cartGood.setAmount(0L); // cartGood.setAmount(0L);
cartGoods.setQty(cartGoods.getQty()-actualGoodsNumber); // cartGoods.setQty(cartGoods.getQty() - actualGoodsNumber);
cartGoods.setAmount(cartGoods.getAmount()-goodsDiscounts.get(0).getDiscount()); cartGoods.setAmount(cartGoods.getAmount() - goodsDiscounts.get(0).getDiscount());
addSendGoodsList.add(cartGood); // addSendGoodsList.add(cartGood);
} }
if(cartGoods.getQty() == actualGoodsNumber){ if (cartGoods.getQty() == actualGoodsNumber) {
cartGoods.setAmount(0L); cartGoods.setAmount(0L);
} }
} }
} }
cartGoodsList.addAll(addSendGoodsList); // cartGoodsList.addAll(addSendGoodsList);
} }
} }
......
...@@ -281,7 +281,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -281,7 +281,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
public BaseResponse addGoods(AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo) { public BaseResponse addGoods(AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo) {
if (StringUtils.isEmpty(addShoppingCartGoodsRequestVo.getShopId())) { if (StringUtils.isEmpty(addShoppingCartGoodsRequestVo.getShopId())) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY); return ResponseUtil.error(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY);
// throw new ServiceException(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY);
} }
ShoppingCartConvertAdapter.convent2SkuId(addShoppingCartGoodsRequestVo); ShoppingCartConvertAdapter.convent2SkuId(addShoppingCartGoodsRequestVo);
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = new ShoppingCartGoodsResponseVo(); ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = new ShoppingCartGoodsResponseVo();
......
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