Commit c4f18bc2 by 查志伟

修复新算价多赠品多送问题

parent 4ed82c8a
...@@ -88,45 +88,44 @@ public class PlatformActiveServiceImpl implements ActiveService { ...@@ -88,45 +88,44 @@ public class PlatformActiveServiceImpl implements ActiveService {
Integer flag) { Integer flag) {
Map<String, Goods> discountForGift = this.getDiscountForGift(discountResult); Map<String, Goods> discountForGift = this.getDiscountForGift(discountResult);
discountForGift.forEach((pid, goods) -> { List<CartGoods> list = new ArrayList<>();
for (ProductBean product : products) {
Goods goods = discountForGift.get(product.getPid());
GoodsDiscount discount = goods.getDiscounts() GoodsDiscount discount = goods.getDiscounts()
.stream() .stream()
.filter(g -> ActivityTypeEnum.TYPE_63.getCode().equals(g.getType()) ||ActivityTypeEnum.TYPE_62.getCode().equals(g.getType()) || ActivityTypeEnum.TYPE_61.getCode().equals(g.getType()) || ActivityTypeEnum.TYPE_230.getCode().equals(g.getType())) .filter(g -> ActivityTypeEnum.TYPE_63.getCode().equals(g.getType()) ||ActivityTypeEnum.TYPE_62.getCode().equals(g.getType()) || ActivityTypeEnum.TYPE_61.getCode().equals(g.getType()) || ActivityTypeEnum.TYPE_230.getCode().equals(g.getType()))
.findFirst() .findFirst()
.get(); .get();
List<CartGoods> list = new ArrayList<>(); CartGoods cartGood = new CartGoods();
for (ProductBean product : products) { cartGood.setGoodsId(goods.getGoodsId());
CartGoods cartGood = new CartGoods(); cartGood.setGoodsType(1);
cartGood.setGoodsId(goods.getGoodsId()); cartGood.setSpuId(Objects.equals(product.getIsSkuProduct(), 1) ? product.getSpecProductId() : goods.getGoodsId());
cartGood.setGoodsType(1); cartGood.setSkuId(goods.getGoodsId());
cartGood.setSpuId(Objects.equals(product.getIsSkuProduct(), 1) ? product.getSpecProductId() : goods.getGoodsId()); cartGood.setOriginalPrice(product.getFinalPrice());
cartGood.setSkuId(goods.getGoodsId()); cartGood.setPackPrice(product.getPackPrice());
cartGood.setOriginalPrice(product.getFinalPrice()); cartGood.setOriginalAmount(goods.getOriginalPrice() * goods.getGoodsQuantity());
cartGood.setPackPrice(product.getPackPrice()); cartGood.setAmount(goods.getRealAmount());
cartGood.setOriginalAmount(goods.getOriginalPrice() * goods.getGoodsQuantity()); cartGood.setName(product.getName());
cartGood.setAmount(goods.getRealAmount()); cartGood.setSpuName(product.getName());
cartGood.setName(product.getName()); cartGood.setCategoryName(product.getName());
cartGood.setSpuName(product.getName()); cartGood.setPic(product.getPicture());
cartGood.setCategoryName(product.getName()); cartGood.setSkuName(product.getName());
cartGood.setPic(product.getPicture()); cartGood.setActivityType(discount.getType());
cartGood.setSkuName(product.getName()); cartGood.setActivityCode(discount.getActivityCode());
cartGood.setActivityType(discount.getType()); cartGood.setStockLimit(ObjectUtils.equals(1, product.getStockLimit()));
cartGood.setActivityCode(discount.getActivityCode()); cartGood.setCustomerCode(product.getCustomerCode());
cartGood.setStockLimit(ObjectUtils.equals(1, product.getStockLimit())); cartGood.setUnit(product.getUnit());
cartGood.setCustomerCode(product.getCustomerCode()); cartGood.setWeight(product.getWeight());
cartGood.setUnit(product.getUnit()); cartGood.setQty(goods.getGoodsQuantity());
cartGood.setWeight(product.getWeight()); cartGood.setClassificationId(product.getCategory());
cartGood.setQty(goods.getGoodsQuantity()); cartGood.setClassificationName(product.getCategoryName());
cartGood.setClassificationId(product.getCategory()); // nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGood.setClassificationName(product.getCategoryName()); cartGood.setNodeId(discount.getActivityCode());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额 list.addAll(buyAndGiftsPromotionService.setGiftExtra(cartGood, product, addcartGoodsList));
cartGood.setNodeId(discount.getActivityCode()); }
list.addAll(buyAndGiftsPromotionService.setGiftExtra(cartGood, product, addcartGoodsList)); // 因为有涉及到用户选择的属性,存入redis
} addcartGoodsList.addAll(giftCacheManager.resetGiftCache(list, null, partnerId, storeId, userId));
// 因为有涉及到用户选择的属性,存入redis
addcartGoodsList.addAll(giftCacheManager.resetGiftCache(list, discount.getActivityCode(), partnerId, storeId, userId));
});
} }
public Map<String, Goods> getDiscountForGift(CalculationDiscountResult discountResult) { public Map<String, Goods> getDiscountForGift(CalculationDiscountResult discountResult) {
......
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