|  | @@ -118,7 +118,7 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |                  routingList.put("routingFee", account.getRoutingFee().subtract((account.getRoutingFee().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_UP))); //分佣金额
 | 
	
		
			
				|  |  |                  tempRoutingList.add(routingList);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if(accounts.size() ==1 && routingAccount.getMerNo().equals(routingAccount.getRoutingMerNo())){
 | 
	
		
			
				|  |  | +            if (accounts.size() == 1 && routingAccount.getMerNo().equals(routingAccount.getRoutingMerNo())) {
 | 
	
		
			
				|  |  |                  tempRoutingList = null;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -134,8 +134,8 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |          unionPay.put("orderNo", orderNo);
 | 
	
		
			
				|  |  |          unionPay.put("type", type);
 | 
	
		
			
				|  |  |          unionPay.put("payMap", payMap);
 | 
	
		
			
				|  |  | -        unionPay.put("routingFee",routingFee);
 | 
	
		
			
				|  |  | -        unionPay.put("routingMerNos",routingMerNos);
 | 
	
		
			
				|  |  | +        unionPay.put("routingFee", routingFee);
 | 
	
		
			
				|  |  | +        unionPay.put("routingMerNos", routingMerNos);
 | 
	
		
			
				|  |  |          return unionPay;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -151,7 +151,7 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //支付通道决策
 | 
	
		
			
				|  |  |          Map unionPay = new HashMap();
 | 
	
		
			
				|  |  | -        Map<String, BigDecimal> routingFee = getRoutingFee(company, amount, fee, organId,receiver);
 | 
	
		
			
				|  |  | +        Map<String, BigDecimal> routingFee = getRoutingFee(company, amount, fee, organId, receiver);
 | 
	
		
			
				|  |  |          List<SysAccount> accounts = getRoutingAccount(routingFee, company);
 | 
	
		
			
				|  |  |          SysAccount routingAccount = accounts.get(0);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -165,7 +165,7 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |                  routingList.put("routingFee", account.getRoutingFee().subtract((account.getRoutingFee().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_UP))); //分佣金额
 | 
	
		
			
				|  |  |                  tempRoutingList.add(routingList);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if(accounts.size() ==1 && routingAccount.getMerNo().equals(routingAccount.getRoutingMerNo())){
 | 
	
		
			
				|  |  | +            if (accounts.size() == 1 && routingAccount.getMerNo().equals(routingAccount.getRoutingMerNo())) {
 | 
	
		
			
				|  |  |                  tempRoutingList = null;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -181,8 +181,8 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |          unionPay.put("orderNo", orderNo);
 | 
	
		
			
				|  |  |          unionPay.put("type", type);
 | 
	
		
			
				|  |  |          unionPay.put("payMap", payMap);
 | 
	
		
			
				|  |  | -        unionPay.put("routingFee",routingFee);
 | 
	
		
			
				|  |  | -        unionPay.put("routingMerNos",routingMerNos);
 | 
	
		
			
				|  |  | +        unionPay.put("routingFee", routingFee);
 | 
	
		
			
				|  |  | +        unionPay.put("routingMerNos", routingMerNos);
 | 
	
		
			
				|  |  |          return unionPay;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -249,6 +249,13 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |              if (account.getType().equals("COM")) {
 | 
	
		
			
				|  |  |                  account.setRoutingFee(routingFee.get("COM"));
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  | +                SysAccount perAccount = sysAccountService.getPerAccount(channel, account);
 | 
	
		
			
				|  |  | +                if (perAccount != null) {
 | 
	
		
			
				|  |  | +                    account.setRoutingMerNo(perAccount.getRoutingMerNo());
 | 
	
		
			
				|  |  | +                    if (!account.getCompany().equals("daya")) {
 | 
	
		
			
				|  |  | +                        account.setMerNo(perAccount.getRoutingMerNo());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  account.setRoutingFee(routingFee.get("PER"));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -312,7 +319,7 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private Map<String, BigDecimal> getRoutingFee(String company, BigDecimal amount, Map<String, BigDecimal> fee, Integer organId,String receiver) {
 | 
	
		
			
				|  |  | +    private Map<String, BigDecimal> getRoutingFee(String company, BigDecimal amount, Map<String, BigDecimal> fee, Integer organId, String receiver) {
 | 
	
		
			
				|  |  |          Map<String, BigDecimal> routingFee = new HashMap<>(2);
 | 
	
		
			
				|  |  |          routingFee.put("COM", BigDecimal.ZERO);
 | 
	
		
			
				|  |  |          routingFee.put("PER", BigDecimal.ZERO);
 | 
	
	
		
			
				|  | @@ -321,7 +328,7 @@ public class PayServiceImpl implements PayService {
 | 
	
		
			
				|  |  |              return routingFee;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if(receiver != null){
 | 
	
		
			
				|  |  | +        if (receiver != null) {
 | 
	
		
			
				|  |  |              routingFee.put(receiver, amount);
 | 
	
		
			
				|  |  |              return routingFee;
 | 
	
		
			
				|  |  |          }
 |