Commit 0f0c5e3f by 徐康

修复问题

parent 08c6c36e
...@@ -219,19 +219,22 @@ public class CouponDiscountCalculation { ...@@ -219,19 +219,22 @@ public class CouponDiscountCalculation {
} }
if(cartGoods.getQty() > b3S1DiscountOptional.get().getActualGoodsNumber()) { if(cartGoods.getQty() > b3S1DiscountOptional.get().getActualGoodsNumber()) {
int newNum = cartGoods.getQty() - b3S1DiscountOptional.get().getActualGoodsNumber(); int newNum = cartGoods.getQty() - b3S1DiscountOptional.get().getActualGoodsNumber();
Long materialAmount = cartGoods.getMaterialAmount() == null ? 0l : cartGoods.getMaterialAmount();
Long materialPrice = materialAmount/cartGoods.getQty();
CartGoods cartGoodsNew = new CartGoods(); CartGoods cartGoodsNew = new CartGoods();
BeanUtils.copyProperties(cartGoods, cartGoodsNew); BeanUtils.copyProperties(cartGoods, cartGoodsNew);
cartGoods.setQty(b3S1DiscountOptional.get().getActualGoodsNumber()); cartGoods.setQty(b3S1DiscountOptional.get().getActualGoodsNumber());
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode()); cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName()); cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName());
Long materialAmount = cartGoods.getMaterialAmount() == null ? 0l : cartGoods.getMaterialAmount(); cartGoods.setOriginalAmount(cartGoods.getOriginalPrice() * cartGoods.getQty());
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount() + materialAmount); cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount() + materialPrice * cartGoods.getQty());
cartGoods.setIsB3S1CouponGoods(1); cartGoods.setIsB3S1CouponGoods(1);
cartGoodsNew.setCartGoodsUid(UUID.randomUUID().toString()); cartGoodsNew.setCartGoodsUid(UUID.randomUUID().toString());
cartGoodsNew.setQty(newNum); cartGoodsNew.setQty(newNum);
cartGoodsNew.setCouponCode(null); cartGoodsNew.setCouponCode(null);
cartGoodsNew.setCouponName(null); cartGoodsNew.setCouponName(null);
cartGoodsNew.setAmount(cartGoods.getOriginalPrice() * cartGoods.getQty()); cartGoodsNew.setOriginalAmount(cartGoods.getOriginalPrice() * newNum);
cartGoodsNew.setAmount(cartGoods.getOriginalPrice() * newNum + materialPrice * newNum);
newCartGoodsList.add(cartGoodsNew); newCartGoodsList.add(cartGoodsNew);
} else if(cartGoods.getQty() == b3S1DiscountOptional.get().getActualGoodsNumber()) { } else if(cartGoods.getQty() == b3S1DiscountOptional.get().getActualGoodsNumber()) {
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode()); cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
......
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