Prechádzať zdrojové kódy

退款参数加入账单

wujiefeng 1 rok pred
rodič
commit
a016741cfd

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/pay/ChinaumsSenselessPayService.java

@@ -337,7 +337,7 @@ public class ChinaumsSenselessPayService extends SuperService {
         payProductParameter.setAccountName(projectAccountName);
         ChinaSenselessRefundRequest request = new ChinaSenselessRefundRequest();
         request.setMchntOrderId(orderNo);
-        request.setRefundAmount(total.toString());
+        request.setRefundAmount(total.toBigInteger().toString());
         request.setTargetOrderId(refundOrderNo);
 
 

+ 22 - 13
FullCardServer/src/main/java/com/zhongshu/card/server/core/stream/ChinaumsSenselessPayStream.java

@@ -43,21 +43,30 @@ public class ChinaumsSenselessPayStream extends StreamConsumer<ChinaSenselessPay
         ChinaumsSenselessSrcReserve srcReserve = JsonUtil.toObject(srcReserveStr, ChinaumsSenselessSrcReserve.class);
         String merOrderId = srcReserve.getOrderNo();
         OrderNoType orderNoType = orderNoInfoService.getOrderNoType(merOrderId);
-
+        String status = chinaSenselessPayRet.getStatus();
         if (orderNoType.equals(OrderNoType.Pay)){
-            ResultContent<List<TransactionLogModel>> listResultContent = chinaumsSenselessPayService.handlePay(srcReserve.getProjectOid(),
-                    srcReserve.getOid(),
-                    srcReserve.getUserId(),
-                    new BigDecimal(chinaSenselessPayRet.getTotalAmount()),
-                    merOrderId, null);
-            payCallService.unionFrictionlessPayFinish(merOrderId, listResultContent, chinaSenselessPayRet.getStatus());
+            if (status.equals("TRADE_SUCCESS")){
+                ResultContent<List<TransactionLogModel>> listResultContent = chinaumsSenselessPayService.handlePay(srcReserve.getProjectOid(),
+                        srcReserve.getOid(),
+                        srcReserve.getUserId(),
+                        new BigDecimal(chinaSenselessPayRet.getTotalAmount()),
+                        merOrderId, null);
+                payCallService.unionFrictionlessPayFinish(merOrderId, listResultContent, chinaSenselessPayRet.getStatus());
+            }else {
+                payCallService.unionFrictionlessPayFinish(merOrderId, null, chinaSenselessPayRet.getStatus());
+            }
+
         }else if (orderNoType.equals(OrderNoType.Refund)){
-            ResultContent<List<TransactionLogModel>> listResultContent = chinaumsSenselessPayService.handleRefund(srcReserve.getProjectOid(),
-                    srcReserve.getOid(),
-                    srcReserve.getUserId(),
-                    new BigDecimal(chinaSenselessPayRet.getTotalAmount()),
-                    merOrderId, null);
-            payCallService.unionFrictionlessPayRefundFinish(merOrderId, listResultContent, chinaSenselessPayRet.getStatus());
+            if (status.equals("TRADE_REFUND")){
+                ResultContent<List<TransactionLogModel>> listResultContent = chinaumsSenselessPayService.handleRefund(srcReserve.getProjectOid(),
+                        srcReserve.getOid(),
+                        srcReserve.getUserId(),
+                        new BigDecimal(chinaSenselessPayRet.getTotalAmount()),
+                        merOrderId, null);
+                payCallService.unionFrictionlessPayRefundFinish(merOrderId, listResultContent, chinaSenselessPayRet.getStatus());
+            }else {
+                payCallService.unionFrictionlessPayFinish(merOrderId, null, chinaSenselessPayRet.getStatus());
+            }
         }else {
             log.info("未知的订单类型或该订单已处理:{}", merOrderId);
         }