|
@@ -868,22 +868,22 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
|
|
|
if (addTotalPrice != null && addTotalPrice.doubleValue() > 0l) {
|
|
|
//如果是最后一件商品
|
|
|
if (i == integers.size() - 1) {
|
|
|
- sellDto.setGoodsPrice(sellDto.getTotalGoodsPrice().add(usableParentGoodsAddTotalPrice));
|
|
|
+ sellDto.setTotalGoodsPrice(sellDto.getTotalGoodsPrice().add(usableParentGoodsAddTotalPrice));
|
|
|
} else {
|
|
|
//获取分配的附加
|
|
|
BigDecimal multiply = ratioAmount.multiply(addTotalPrice).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- sellDto.setGoodsPrice(sellDto.getTotalGoodsPrice().add(multiply));
|
|
|
+ sellDto.setTotalGoodsPrice(sellDto.getTotalGoodsPrice().add(multiply));
|
|
|
usableParentGoodsAddTotalPrice = usableParentGoodsAddTotalPrice.subtract(multiply);
|
|
|
}
|
|
|
sellDto.setGoodsPrice(sellDto.getTotalGoodsPrice());
|
|
|
} else if (cutTotalPrice != null && cutTotalPrice.doubleValue() > 0l) {
|
|
|
//如果是最后一件商品
|
|
|
if (i == integers.size() - 1) {
|
|
|
- sellDto.setGoodsPrice(sellDto.getTotalGoodsPrice().subtract(usableParentGoodsCutTotalPrice));
|
|
|
+ sellDto.setTotalGoodsPrice(sellDto.getTotalGoodsPrice().subtract(usableParentGoodsCutTotalPrice));
|
|
|
} else {
|
|
|
//获取分配的组合减免金额
|
|
|
BigDecimal multiply = ratioAmount.multiply(cutTotalPrice).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- sellDto.setGoodsPrice(sellDto.getTotalGoodsPrice().subtract(multiply));
|
|
|
+ sellDto.setTotalGoodsPrice(sellDto.getTotalGoodsPrice().subtract(multiply));
|
|
|
usableParentGoodsCutTotalPrice = usableParentGoodsCutTotalPrice.subtract(multiply);
|
|
|
}
|
|
|
sellDto.setGoodsPrice(sellDto.getTotalGoodsPrice());
|
|
@@ -918,22 +918,24 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
|
|
|
BigDecimal multiply2 = goodsSellDto.getGoodsPrice().multiply(new BigDecimal(sellOrder.getNum()));
|
|
|
//获取比例
|
|
|
BigDecimal ratioAmount = multiply2.divide(totalAmount, 6, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //实际支付价格
|
|
|
+ BigDecimal actualAmount = goodsSellDto.getGoodsPrice();
|
|
|
//如果有减免金额
|
|
|
if (marketAmount.doubleValue() > 0l) {
|
|
|
//如果是最后一件商品
|
|
|
if (i == sellOrderList.size() - 1) {
|
|
|
- goodsSellDto.setGoodsPrice(multiply2.subtract(usableMarketAmount));
|
|
|
+ actualAmount = multiply2.subtract(usableMarketAmount);
|
|
|
} else {
|
|
|
//获取分配的减免金额
|
|
|
BigDecimal multiply = ratioAmount.multiply(marketAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- goodsSellDto.setGoodsPrice(multiply2.subtract(multiply));
|
|
|
+ actualAmount = multiply2.subtract(multiply);
|
|
|
usableMarketAmount = usableMarketAmount.subtract(multiply);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果没有使用余额,那么实际金额和预计金额一致
|
|
|
if (balancePaymentAmount.doubleValue() == 0l) {
|
|
|
- sellOrder.setActualAmount(goodsSellDto.getGoodsPrice());
|
|
|
+ sellOrder.setActualAmount(actualAmount);
|
|
|
sellOrder.setBalanceAmount(BigDecimal.ZERO);
|
|
|
} else {
|
|
|
//如果是最后一件商品
|