Commit 3b0a4ba9 by ping.wu

买m赠n券

parent 1e10653b
......@@ -358,7 +358,8 @@ public class ActivityAdapter {
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_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);
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 {
Long mealDiscountAmount = 0L;//套餐优惠不算在内
if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){
Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode())
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_33.getCode())).map(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getActivityCode).findFirst();
Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(
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);
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 {
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_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);
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 {
Pair<Long,Long> pair = getSmallMaterialAmount(discountGood.getSmallMaterial());//value1=总实付 value2=总优惠
Long mealDiscountAmount = 0L;//套餐优惠不算在内
if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){
Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode())
|| Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_33.getCode())).map(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getActivityCode).findFirst();
Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(
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);
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 {
return;
}
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods goods : calculationDiscountResult.getGoods()){
if(CollectionUtils.isEmpty(goods.getDiscounts())){
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods goods : calculationDiscountResult.getGoods()) {
if (CollectionUtils.isEmpty(goods.getDiscounts())) {
continue;
}
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;
}
List<CartGoods> addSendGoodsList = new ArrayList<>();
// List<CartGoods> addSendGoodsList = new ArrayList<>();
for (CartGoods cartGoods : cartGoodsList) {
if(Objects.equals(goods.getCartGoodsUid(),cartGoods.getCartGoodsUid())){
if (Objects.equals(goods.getCartGoodsUid(), cartGoods.getCartGoodsUid())) {
Integer actualGoodsNumber = goodsDiscounts.get(0).getActualGoodsNumber();
if(cartGoods.getQty() > actualGoodsNumber){
CartGoods cartGood = new CartGoods();
BeanUtils.copyProperties(cartGoods,cartGood);
cartGood.setQty(actualGoodsNumber);
cartGood.setAmount(0L);
cartGoods.setQty(cartGoods.getQty()-actualGoodsNumber);
cartGoods.setAmount(cartGoods.getAmount()-goodsDiscounts.get(0).getDiscount());
addSendGoodsList.add(cartGood);
if (cartGoods.getQty() > actualGoodsNumber) {
// CartGoods cartGood = new CartGoods();
// BeanUtils.copyProperties(cartGoods, cartGood);
// cartGood.setQty(actualGoodsNumber);
// cartGood.setAmount(0L);
// cartGoods.setQty(cartGoods.getQty() - actualGoodsNumber);
cartGoods.setAmount(cartGoods.getAmount() - goodsDiscounts.get(0).getDiscount());
// addSendGoodsList.add(cartGood);
}
if(cartGoods.getQty() == actualGoodsNumber){
if (cartGoods.getQty() == actualGoodsNumber) {
cartGoods.setAmount(0L);
}
}
}
cartGoodsList.addAll(addSendGoodsList);
// cartGoodsList.addAll(addSendGoodsList);
}
}
......
......@@ -281,7 +281,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
public BaseResponse addGoods(AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo) {
if (StringUtils.isEmpty(addShoppingCartGoodsRequestVo.getShopId())) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY);
// throw new ServiceException(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY);
}
ShoppingCartConvertAdapter.convent2SkuId(addShoppingCartGoodsRequestVo);
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