yonge 2 سال پیش
والد
کامیت
34d91f6c41
1فایلهای تغییر یافته به همراه18 افزوده شده و 35 حذف شده
  1. 18 35
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

+ 18 - 35
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -593,9 +593,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         
         if(paymentChannel == PaymentChannelEnum.ADAPAY) {
         	
-            List<Map<String, Object>> divMembers = new ArrayList<>();
-            
-        	for (StudentPaymentRouteOrder routeOrder : routeOrders) {
+            for (StudentPaymentRouteOrder routeOrder : routeOrders) {
+                
                 Map<String, Object> divMember = new HashMap<>();
                 divMember.put("member_id", routeOrder.getMerNo());//分佣账户
                 divMember.put("amount", routeOrder.getRouteAmount().setScale(2, BigDecimal.ROUND_HALF_UP));//分佣金额
@@ -603,40 +602,24 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 if (routeOrder.getMerNo().equals(ConfigInit.merNo)) {
                     divMember.put("member_id", 0);
                 }
+                List<Map<String, Object>> divMembers = new ArrayList<>();
                 divMembers.add(divMember);
-            }
-
-			Map<String, Object> confirm = new HashMap<>();
-			confirm.put("payment_id", order.getTransNo());
-			confirm.put("order_no", idGeneratorService.generatorId("payment"));
-			confirm.put("confirm_amt", order.getActualAmount());
-			confirm.put("div_members", divMembers);
 
-			Map<String, Object> map = new HashMap<String, Object>();
-			try {
-				map = Payment.createConfirm(confirm, hfMerchantConfig.getMerKey());
-				LOGGER.info("分账信息返回:{}", map);
-			} catch (Exception e) {
-				throw new BizException("调用汇付分账接口出现异常", e);
-			}
-			
-			BigDecimal totalFee = new BigDecimal(map.get("fee_amt").toString());
-			BigDecimal tmpFee = BigDecimal.ZERO;
-			
-			for(int i = 0; i < routeOrders.size(); i++) {
-				studentPaymentRouteOrder = routeOrders.get(i);
-				
-        		
-        		if(i + 1 == routeOrders.size()) {
-        			studentPaymentRouteOrder.setServiceFee(totalFee.subtract(tmpFee));
-        		}else {
-        			studentPaymentRouteOrder.setServiceFee(studentPaymentRouteOrder.getRouteAmount().multiply(totalFee).divide(order.getActualAmount(), 2, BigDecimal.ROUND_HALF_UP));
-        			tmpFee = tmpFee.add(studentPaymentRouteOrder.getServiceFee());
-        		}
-        		studentPaymentRouteOrder.setUpdateTime(date);
-
-                studentPaymentRouteOrderDao.update(studentPaymentRouteOrder);
-			}
+                Map<String, Object> confirm = new HashMap<>();
+                confirm.put("payment_id", order.getTransNo());
+                confirm.put("order_no", idGeneratorService.generatorId("payment"));
+                confirm.put("confirm_amt", routeOrder.getRouteAmount());
+                confirm.put("div_members", divMembers);
+                try {
+                    Map<String, Object> map = Payment.createConfirm(confirm, hfMerchantConfig.getMerKey());
+                    LOGGER.info("分账信息返回:{}", map);
+                    routeOrder.setServiceFee(new BigDecimal(map.get("fee_amt").toString()));
+                    routeOrder.setUpdateTime(date);
+                    studentPaymentRouteOrderDao.update(routeOrder);
+                } catch (Exception e) {
+                    continue;
+                }
+            }
 			
 		} else if (paymentChannel == PaymentChannelEnum.YEEPAY) {
 			try {