限时折扣 计算
This commit is contained in:
@@ -795,9 +795,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
for (OrderDetail detail : orderDetails) {
|
for (OrderDetail detail : orderDetails) {
|
||||||
if (detail.getIsTemporary() != 1 && (isAllFoods || (CollUtil.isNotEmpty(couponFoodIds) && couponFoodIds.contains(detail.getProductId()))) && detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0) {
|
if (detail.getIsTemporary() != 1 && (isAllFoods || (CollUtil.isNotEmpty(couponFoodIds) && couponFoodIds.contains(detail.getProductId()))) && detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
if (remaining.compareTo(BigDecimal.ZERO) > 0) {
|
if (remaining.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
if (isTimeDiscountShare && detail.getIsTimeDiscount() == 1) {
|
// if (isTimeDiscountShare && detail.getIsTimeDiscount() == 1) {
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
if (remaining.compareTo(detail.getNum().subtract(detail.getReturnNum())) >= 0) {
|
if (remaining.compareTo(detail.getNum().subtract(detail.getReturnNum())) >= 0) {
|
||||||
detail.setCouponNum(detail.getNum().subtract(detail.getReturnNum()).setScale(2, RoundingMode.CEILING));
|
detail.setCouponNum(detail.getNum().subtract(detail.getReturnNum()).setScale(2, RoundingMode.CEILING));
|
||||||
detail.setDiscountAmount(detail.getPayAmount());
|
detail.setDiscountAmount(detail.getPayAmount());
|
||||||
@@ -829,9 +829,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
if ((isAllFoods || couponFoodIds.contains(detail.getProductId()))
|
if ((isAllFoods || couponFoodIds.contains(detail.getProductId()))
|
||||||
&& detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0
|
&& detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0
|
||||||
&& detail.getNum().subtract(detail.getReturnNum()).subtract(detail.getCouponNum()).compareTo(BigDecimal.TWO) >= 0) {
|
&& detail.getNum().subtract(detail.getReturnNum()).subtract(detail.getCouponNum()).compareTo(BigDecimal.TWO) >= 0) {
|
||||||
if (isTimeDiscountShare && detail.getIsTimeDiscount() == 1) {
|
// if (isTimeDiscountShare && detail.getIsTimeDiscount() == 1) {
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
detail.setCouponNum(detail.getCouponNum().add(BigDecimal.ONE));
|
detail.setCouponNum(detail.getCouponNum().add(BigDecimal.ONE));
|
||||||
detail.setDiscountAmount(detail.getDiscountAmount().add(detail.getUnitPrice()));
|
detail.setDiscountAmount(detail.getDiscountAmount().add(detail.getUnitPrice()));
|
||||||
detail.setPayAmount(detail.getPayAmount().subtract(detail.getUnitPrice()));
|
detail.setPayAmount(detail.getPayAmount().subtract(detail.getUnitPrice()));
|
||||||
@@ -851,9 +851,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
if ((isAllFoods || couponFoodIds.contains(detail.getProductId()))
|
if ((isAllFoods || couponFoodIds.contains(detail.getProductId()))
|
||||||
&& detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0
|
&& detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0
|
||||||
&& detail.getNum().subtract(detail.getReturnNum()).subtract(detail.getCouponNum()).compareTo(BigDecimal.TWO) >= 0) {
|
&& detail.getNum().subtract(detail.getReturnNum()).subtract(detail.getCouponNum()).compareTo(BigDecimal.TWO) >= 0) {
|
||||||
if (isTimeDiscountShare && detail.getIsTimeDiscount() == 1) {
|
// if (isTimeDiscountShare && detail.getIsTimeDiscount() == 1) {
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
detail.setHalfPriceCouponNum(BigDecimal.ONE);
|
detail.setHalfPriceCouponNum(BigDecimal.ONE);
|
||||||
BigDecimal halfPrice = detail.getUnitPrice().divide(new BigDecimal("2"), 2, RoundingMode.FLOOR);
|
BigDecimal halfPrice = detail.getUnitPrice().divide(new BigDecimal("2"), 2, RoundingMode.FLOOR);
|
||||||
detail.setDiscountAmount(detail.getDiscountAmount().add(halfPrice));
|
detail.setDiscountAmount(detail.getDiscountAmount().add(halfPrice));
|
||||||
|
|||||||
Reference in New Issue
Block a user