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