fix: 比例计算根据可退金额计算
This commit is contained in:
parent
7b2cc558eb
commit
31965da486
|
|
@ -2818,7 +2818,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|||
BigDecimal ratio = calcDetailRatio(orderDetail, returnNum);
|
||||
currentDetailAMount = orderDetail.getPriceAmount().divide(orderDetail.getNum(), 8, RoundingMode.HALF_UP)
|
||||
.multiply(returnNum).setScale(2, RoundingMode.HALF_UP);
|
||||
returnAmount = returnAmount.add(oldOrderInfo.getPayAmount().multiply(ratio));
|
||||
if (oldOrderInfo.getRefundAmount() == null) {
|
||||
oldOrderInfo.setRefundAmount(BigDecimal.ZERO);
|
||||
}
|
||||
returnAmount = returnAmount.add(oldOrderInfo.getPayAmount().subtract(oldOrderInfo.getRefundAmount()).multiply(ratio));
|
||||
saleAmount = saleAmount.add(orderDetail.getPrice());
|
||||
packAMount = packAMount.add(orderDetail.getPackAmount()
|
||||
.divide(orderDetail.getNum(), 8, RoundingMode.HALF_UP)
|
||||
|
|
@ -2894,7 +2897,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|||
}
|
||||
|
||||
private BigDecimal calcDetailRatio(TbOrderDetail orderDetail, BigDecimal returnNum) {
|
||||
List<TbOrderDetail> detailList = mpOrderDetailService.selectByOrderIdAndState(orderDetail.getOrderId(), TableConstant.OrderInfo.Status.CLOSED, TableConstant.OrderInfo.Status.REFUND);
|
||||
List<TbOrderDetail> detailList = mpOrderDetailService.selectByOrderIdAndState(orderDetail.getOrderId(), TableConstant.OrderInfo.Status.CLOSED);
|
||||
BigDecimal totalAmount = BigDecimal.ZERO;
|
||||
for (TbOrderDetail item : detailList) {
|
||||
if (item.getUserCouponId() == null) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue