|
@@ -307,10 +307,17 @@ public class PayServiceImpl implements PayService {
|
|
|
/*tempBalance = balanceAmount.multiply(spod.getPrice()).divide(totalAmout).multiply(groupPurchaseAmount)
|
|
|
.divide(totalGroupPurchaseAmount);*/
|
|
|
tempBalance = balanceAmount.multiply(spod.getPrice()).multiply(groupPurchaseAmount)
|
|
|
- .divide(totalGroupPurchaseAmount.multiply(totalAmout), BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
+ .divide(totalGroupPurchaseAmount.multiply(totalAmout), BigDecimal.ROUND_UP).setScale(2, BigDecimal.ROUND_UP);
|
|
|
+
|
|
|
+ if(subBalance.add(tempBalance).compareTo(balanceAmount) > 0){
|
|
|
+ tempBalance = balanceAmount.subtract(subBalance);
|
|
|
+ }
|
|
|
subBalance = subBalance.add(tempBalance);
|
|
|
}
|
|
|
tempCashAmount = spod.getPrice().subtract(tempBalance).multiply(groupPurchaseAmount).divide(totalGroupPurchaseAmount, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
+ if(subCashAmount.add(tempCashAmount).compareTo(amount) > 0){
|
|
|
+ tempCashAmount = amount.subtract(subCashAmount);
|
|
|
+ }
|
|
|
subCashAmount = subCashAmount.add(tempCashAmount);
|
|
|
spod.setIncomeItem(OrderDetailTypeEnum.CLOUD_TEACHER.name());
|
|
|
spod.setIncome(tempCashAmount);
|