|
@@ -1,7 +1,6 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.math.RoundingMode;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
@@ -314,7 +313,9 @@ public class PayServiceImpl implements PayService {
|
|
|
}
|
|
|
subBalance = subBalance.add(tempBalance);
|
|
|
}
|
|
|
- tempCashAmount = spod.getPrice().subtract(tempBalance).multiply(groupPurchaseAmount).divide(totalGroupPurchaseAmount, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
+ // tempCashAmount = spod.getPrice().subtract(tempBalance).multiply(groupPurchaseAmount).divide(totalGroupPurchaseAmount, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
+ tempCashAmount = amount.multiply(spod.getPrice()).multiply(groupPurchaseAmount)
|
|
|
+ .divide(totalGroupPurchaseAmount.multiply(totalAmout), BigDecimal.ROUND_UP).setScale(2, BigDecimal.ROUND_UP);
|
|
|
if(subCashAmount.add(tempCashAmount).compareTo(amount) > 0){
|
|
|
tempCashAmount = amount.subtract(subCashAmount);
|
|
|
}
|
|
@@ -359,8 +360,10 @@ public class PayServiceImpl implements PayService {
|
|
|
|
|
|
routeScaleDtoForGoodsSell = new RouteScaleDto();
|
|
|
routeScaleDtoForGoodsSell.setAmount(subCashAmount);
|
|
|
+ routeScaleDtoForGoodsSell.setBalance(subBalance);
|
|
|
routeScaleDtoForGoodsSell.setOrganId(sysPaymentConfig.getOrganId());
|
|
|
routeScaleDtoForGoodsSell.setPayType(PaymentChannelEnum.ADAPAY);
|
|
|
+ routeScaleDtoForGoodsSell.setFeeType(FeeTypeEnum.SERVICE);
|
|
|
routeScaleDtoForGoodsSell.setScale(100);
|
|
|
routeScaleDtoForGoodsSell.setMerNo(goodsSellReceiptMerNo);
|
|
|
routeScaleDtoForGoodsSell.setFeeFlag("Y");
|
|
@@ -417,7 +420,11 @@ public class PayServiceImpl implements PayService {
|
|
|
|
|
|
if (routeScaleDtoForGoodsSell != null) {
|
|
|
String routingMerNos = (String) map.get("routingMerNos");
|
|
|
- List<String> list = new ArrayList<String>(Arrays.asList(routingMerNos.split(",")));
|
|
|
+
|
|
|
+ List<String> list = new ArrayList<String>();
|
|
|
+ if(StringUtils.isNotBlank(routingMerNos)){
|
|
|
+ list = new ArrayList<String>(Arrays.asList(routingMerNos.split(",")));
|
|
|
+ }
|
|
|
if(!list.contains(routeScaleDtoForGoodsSell.getMerNo())){
|
|
|
list.add(routeScaleDtoForGoodsSell.getMerNo());
|
|
|
}
|