商品券计算 排序问题
This commit is contained in:
@@ -667,7 +667,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
*/
|
*/
|
||||||
private void foodsCalculate(List<OrderDetail> orderDetails, boolean isAllFoods, List<Long> couponFoodIds, int discountNum, boolean isAsc, BigDecimalDTO prodCouponAmount) {
|
private void foodsCalculate(List<OrderDetail> orderDetails, boolean isAllFoods, List<Long> couponFoodIds, int discountNum, boolean isAsc, BigDecimalDTO prodCouponAmount) {
|
||||||
orderDetails = getDetailsSort(orderDetails, isAsc);
|
orderDetails = getDetailsSort(orderDetails, isAsc);
|
||||||
log.info("商品券 计算 orderDetails:{}", orderDetails);
|
// log.info("商品券 计算 orderDetails:{}", orderDetails);
|
||||||
BigDecimal remaining = new BigDecimal(discountNum);
|
BigDecimal remaining = new BigDecimal(discountNum);
|
||||||
for (OrderDetail detail : orderDetails) {
|
for (OrderDetail detail : orderDetails) {
|
||||||
if ((isAllFoods || couponFoodIds.contains(detail.getProductId())) && detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0) {
|
if ((isAllFoods || couponFoodIds.contains(detail.getProductId())) && detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
@@ -686,7 +686,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
prodCouponAmount.setPrice(prodCouponAmount.getPrice().add(detail.getDiscountAmount()));
|
prodCouponAmount.setPrice(prodCouponAmount.getPrice().add(detail.getDiscountAmount()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.info("商品券 计算 已经抵扣金额:{} ,剩余可抵扣数量:{}", prodCouponAmount.getPrice(), remaining);
|
// log.info("商品券 计算 已经抵扣金额:{} ,剩余可抵扣数量:{}", prodCouponAmount.getPrice(), remaining);
|
||||||
if (remaining.compareTo(BigDecimal.ZERO) <= 0) {
|
if (remaining.compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -763,11 +763,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
private List<OrderDetail> getDetailsSort(List<OrderDetail> orderDetails, boolean isAsc) {
|
private List<OrderDetail> getDetailsSort(List<OrderDetail> orderDetails, boolean isAsc) {
|
||||||
if (isAsc) {
|
if (isAsc) {
|
||||||
return orderDetails.stream()
|
return orderDetails.stream()
|
||||||
.sorted(Comparator.comparing(OrderDetail::getPrice))
|
.sorted(Comparator.comparing(OrderDetail::getUnitPrice))
|
||||||
.toList();
|
.toList();
|
||||||
} else {
|
} else {
|
||||||
return orderDetails.stream()
|
return orderDetails.stream()
|
||||||
.sorted(Comparator.comparing(OrderDetail::getPrice).reversed())
|
.sorted(Comparator.comparing(OrderDetail::getUnitPrice).reversed())
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user