From 01554a611db5804e7d10d370a9eef731aebc5179 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com>
Date: 星期四, 10 十月 2024 08:30:16 +0800
Subject: [PATCH] 部分退款优化

---
 src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java b/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java
index bf4fbf7..01a85ae 100644
--- a/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java
+++ b/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java
@@ -345,8 +345,10 @@
         Map<String,String> params = service.query(orderId, up.getTransactionId());
         String trxstatus = params.get("trxstatus");//支付状态
 
-        if("1001".equals(trxstatus)){
-            //空单 直接取消
+        if("1001".equals(trxstatus) || "3088".equals(trxstatus)){
+            //3088-交易未支付(在查询时间区间内未成功支付,如已影响资金24小时内会做差错退款处理)
+            //1001:交易不存在
+            //直接取消
         } else if (StringUtils.isEmpty(trxstatus)
                 || "2008".equals(trxstatus)
                 || "2000".equals(trxstatus)) {
@@ -440,7 +442,7 @@
             throw new ValidationException("订单不可退款");
         }
 
-        long trxamt = up.getPaymentAmount().longValue();
+        long trxamt = prepareAmount(up.getPaymentAmount());
         String reqsn = orderId;
         String oldtrxid = up.getTransactionId();
         String oldreqsn = orderId;
@@ -467,7 +469,7 @@
             throw new ValidationException("订单不可退款");
         }
 
-        long trxamt = up.getPaymentAmount().longValue();
+        long trxamt = prepareAmount(up.getPaymentAmount());
         String reqsn = orderId;
         String oldtrxid = up.getTransactionId();
         String oldreqsn = orderId;
@@ -558,6 +560,10 @@
         re.setRequest(toJSONString(map));
         re.create(SecurityUtils.getUserId());
 
+        re.setStatus(retcode);
+        re.setNotification(retcode);
+        re.setNotifyTime(LocalDateTime.now());
+
         orderRefundMapper.insert(re);
 
         return re.getId();

--
Gitblit v1.9.3