mall
mall copied to clipboard
关于优惠券金额分摊算法的误差
OmsPortalOrderServiceImpl.calcPerCouponAmount()
特殊情况无法分摊平均,
商品 10、10、10
总价 30元
优惠金额10元;
(10 / 30) * 10 = 3.330
三个优惠加起来9.990元。
加一小段逻辑,分配之后,如果分摊金额不足优惠金额,把差值加到某个商品上,比如第一个,或者最后一个
他这里面都是满减券,正常应该还有折扣券,抵扣券这种