|
@@ -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 {
|