|
@@ -1304,6 +1304,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
* @param orderItemList 可用优惠券的下单商品商品
|
|
* @param orderItemList 可用优惠券的下单商品商品
|
|
|
*/
|
|
*/
|
|
|
private void calcPerCouponAmount(List<OmsOrderItem> orderItemList, BigDecimal coupon) {
|
|
private void calcPerCouponAmount(List<OmsOrderItem> orderItemList, BigDecimal coupon) {
|
|
|
|
|
+ LOG.info("coupon :{}",coupon);
|
|
|
BigDecimal totalAmount = calcTotalAmount(orderItemList);
|
|
BigDecimal totalAmount = calcTotalAmount(orderItemList);
|
|
|
for (OmsOrderItem orderItem : orderItemList) {
|
|
for (OmsOrderItem orderItem : orderItemList) {
|
|
|
//(商品价格/可用商品总价)*优惠券面额
|
|
//(商品价格/可用商品总价)*优惠券面额
|
|
@@ -1311,12 +1312,15 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
.divide(totalAmount, 3, RoundingMode.HALF_EVEN)
|
|
.divide(totalAmount, 3, RoundingMode.HALF_EVEN)
|
|
|
.multiply(coupon);
|
|
.multiply(coupon);
|
|
|
orderItem.setCouponAmount(couponAmount);
|
|
orderItem.setCouponAmount(couponAmount);
|
|
|
|
|
+ LOG.info("coupon :{}",couponAmount);
|
|
|
}
|
|
}
|
|
|
BigDecimal reduce = orderItemList.stream()
|
|
BigDecimal reduce = orderItemList.stream()
|
|
|
.map(OmsOrderItem::getCouponAmount)
|
|
.map(OmsOrderItem::getCouponAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
OmsOrderItem omsOrderItem = orderItemList.get(0);
|
|
OmsOrderItem omsOrderItem = orderItemList.get(0);
|
|
|
omsOrderItem.setCouponAmount(omsOrderItem.getCouponAmount().add(coupon.subtract(reduce)));
|
|
omsOrderItem.setCouponAmount(omsOrderItem.getCouponAmount().add(coupon.subtract(reduce)));
|
|
|
|
|
+ LOG.info("coupon :{}",coupon.subtract(reduce));
|
|
|
|
|
+ LOG.info("coupon :{}",omsOrderItem.getCouponAmount());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|