|
@@ -307,10 +307,10 @@ 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), RoundingMode.HALF_UP);
|
|
|
+ .divide(totalGroupPurchaseAmount.multiply(totalAmout), BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
subBalance = subBalance.add(tempBalance);
|
|
|
}
|
|
|
- tempCashAmount = spod.getPrice().subtract(tempBalance).multiply(groupPurchaseAmount).divide(totalGroupPurchaseAmount, RoundingMode.HALF_UP);
|
|
|
+ tempCashAmount = spod.getPrice().subtract(tempBalance).multiply(groupPurchaseAmount).divide(totalGroupPurchaseAmount, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
subCashAmount = subCashAmount.add(tempCashAmount);
|
|
|
spod.setIncomeItem(OrderDetailTypeEnum.CLOUD_TEACHER.name());
|
|
|
spod.setIncome(tempCashAmount);
|
|
@@ -349,7 +349,6 @@ public class PayServiceImpl implements PayService {
|
|
|
studentPaymentRouteOrder.setCreateTime(date);
|
|
|
studentPaymentRouteOrder.setUpdateTime(date);
|
|
|
studentPaymentRouteOrderDao.insert(studentPaymentRouteOrder);
|
|
|
-
|
|
|
|
|
|
routeScaleDtoForGoodsSell = new RouteScaleDto();
|
|
|
routeScaleDtoForGoodsSell.setAmount(subCashAmount);
|
|
@@ -362,8 +361,16 @@ public class PayServiceImpl implements PayService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- amount = amount.subtract(subCashAmount);
|
|
|
- balanceAmount = balanceAmount.subtract(subBalance);
|
|
|
+ if(amount.compareTo(subCashAmount) <= 0){
|
|
|
+ amount = BigDecimal.ZERO;
|
|
|
+ }else{
|
|
|
+ amount = amount.subtract(subCashAmount);
|
|
|
+ }
|
|
|
+ if(balanceAmount.compareTo(subBalance) <= 0){
|
|
|
+ balanceAmount = BigDecimal.ZERO;
|
|
|
+ }else{
|
|
|
+ balanceAmount = balanceAmount.subtract(subBalance);
|
|
|
+ }
|
|
|
|
|
|
String usePaymentConfig = sysConfigDao.findConfigValue("use_payment_config");// 是否用收费配置(1:使用 0:不使用)
|
|
|
List<RouteScaleDto> routeScaleDtos = null;
|