浏览代码

Merge remote-tracking branch 'origin/saas' into saas

zouxuan 3 年之前
父节点
当前提交
1ce6e3137a
共有 1 个文件被更改,包括 10 次插入3 次删除
  1. 10 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

+ 10 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -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());
 			}