Просмотр исходного кода

fix汇付订单导出汇付返回数据不一致问题

周箭河 4 лет назад
Родитель
Сommit
1443f8c99f

+ 2 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -345,16 +345,9 @@ public class PayServiceImpl implements PayService {
             routingList.put("routingMerNo", routeScaleDto.getMerNo());//分佣账户
             routingList.put("routingFee", routingFee); //分佣金额
             tempRoutingList.add(routingList);
-            if (routeScaleDto.getFeeFlag().equals("Y")) {
-                feeFlag = true;
-            }
-            if (i == routeScaleDtos.size() && !feeFlag) {
-                routeScaleDto.setFeeFlag("Y");
-            }
+
             //ADAPAY 采用延迟分账模式,手续费各自承担(2021-01-01号正式执行)
-            String delayRouteStartDate = sysConfigDao.findConfigValue("delay_route_start_date");
-            if (routeScaleDto.getPayType().equals(PaymentChannelEnum.ADAPAY) &&
-                    new Date().after(Objects.requireNonNull(DateUtil.stringToDate(delayRouteStartDate, "yyyy-MM-dd HH:mm:ss")))) {
+            if (routeScaleDto.getPayType().equals(PaymentChannelEnum.ADAPAY)) {
                 routeScaleDto.setFeeFlag("Y");
             }
 

+ 15 - 7
mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

@@ -168,10 +168,21 @@ public class AdapayController extends BaseController {
                         paymentMap.put("status", "交易失败");
                     }
                     if (paymentMap.get("pay_mode").equals("delay")) {
-                        Map<String, Object> confirmMap = Payment.queryConfirmList(paymentMap.get("id").toString());
-                        JSONArray confirms = (JSONArray) confirmMap.get("payment_confirms");
+                        if(!paymentMap.containsKey("payment_confirms")){
+                            Map<String, Object> confirmMap = Payment.queryConfirmList(paymentMap.get("id").toString());
+                            if(confirmMap.containsKey("payment_confirms")) {
+                                paymentMap.put("payment_confirms", confirmMap.get("payment_confirms"));
+                            }
+                        }
+                        if(!paymentMap.containsKey("payment_confirms")){
+                            paymentMap.put("memo","没有提交分账信息,请联系技术核查");
+                            data.add(paymentMap);
+                            continue;
+                        }
+                        JSONArray confirms = (JSONArray) paymentMap.get("payment_confirms");
                         for (Object confirm : confirms) {
                             Map<String, Object> divMemberMap = (Map<String, Object>) confirm;
+                            paymentMap.put("fee_amt",divMemberMap.get("fee_amt"));
                             divMemberMap.putAll(paymentMap);
 
                             JSONArray divMembers = (JSONArray) divMemberMap.get("div_members");
@@ -180,11 +191,8 @@ public class AdapayController extends BaseController {
                             if (divMemberMap.get("member_id").equals("0")) {
                                 divMemberMap.put("member_id", ConfigInit.merNo);
                             }
-                            BigDecimal feeAmt = (new BigDecimal(divMemberMap.get("amount").toString())).multiply(new BigDecimal("0.28")).divide(new BigDecimal(100),2, BigDecimal.ROUND_HALF_UP);
-                            divMemberMap.put("fee_amt", feeAmt);
                             data.add(divMemberMap);
                         }
-
                     } else {
                         JSONArray divMembers = (JSONArray) paymentMap.get("div_members");
                         for (Object divMember : divMembers) {
@@ -209,8 +217,8 @@ public class AdapayController extends BaseController {
 
         OutputStream outputStream = response.getOutputStream();
         try {
-            String[] header = {"支付流水号", "订单号", "支付渠道", "交易金额", "商户号", "分润金额", "是否承担手续费", "手续费", "第三方订单号", "支付宝/微信订单号", "交易时间", "交易状态"};
-            String[] body = {"id", "order_no", "pay_channel", "pay_amt", "member_id", "amount", "fee_flag", "fee_amt", "party_order_id", "out_trans_id", "created_time", "status"};
+            String[] header = {"支付流水号", "订单号", "支付渠道", "交易金额", "商户号", "分润金额", "是否承担手续费", "手续费", "第三方订单号", "支付宝/微信订单号", "交易时间", "交易状态","备注"};
+            String[] body = {"id", "order_no", "pay_channel", "pay_amt", "member_id", "amount", "fee_flag", "fee_amt", "party_order_id", "out_trans_id", "created_time", "status",""};
 
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, data);
             response.setContentType("application/octet-stream");