From 9f8b3700ffbcc616a97e7ee2ea283ef4df3d666a Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 04 六月 2026 08:43:55 +0800
Subject: [PATCH] 代码生成

---
 server/web/src/main/java/com/doumee/api/web/PaymentCallback.java |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/server/web/src/main/java/com/doumee/api/web/PaymentCallback.java b/server/web/src/main/java/com/doumee/api/web/PaymentCallback.java
index 43989ac..668c27b 100644
--- a/server/web/src/main/java/com/doumee/api/web/PaymentCallback.java
+++ b/server/web/src/main/java/com/doumee/api/web/PaymentCallback.java
@@ -22,6 +22,7 @@
 import com.wechat.pay.java.service.payments.model.Transaction;
 import com.wechat.pay.java.service.refund.model.RefundNotification;
 import com.wechat.pay.java.service.refund.model.Status;
+import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,7 @@
  * @Author : Rk
  * @create 2023/3/24 16:57
  */
+@Api(tags = "鏀粯鍥炶皟涓氬姟鎺ュ彛")
 @Slf4j
 @RestController
 @CrossOrigin
@@ -79,7 +81,8 @@
 
             if (Constants.SUCCESS.equals(result.getReturnCode())) {
                 switch (result.getAttach()) {
-                    case "storageOrder": {
+                    case "storageOrder":
+                    case "deliveryOrder": {
                         ordersService.handleStorageOrderPayNotify(outTradeNo, paymentNo);
                         break;
                     }
@@ -87,7 +90,8 @@
                         ordersService.handleShopDepositPayNotify(outTradeNo, paymentNo);
                         break;
                     }
-                    case "overdueFee": {
+                    case "overdueFee":
+                    case "deliveryOverdueFee": {
                         ordersService.handleOverdueFeePayNotify(outTradeNo, paymentNo);
                         break;
                     }
@@ -128,12 +132,14 @@
                 if (StringUtils.isNotBlank(attach)) {
                     switch (attach) {
                         case "storageOrder":
+                        case "deliveryOrder":
                             ordersService.handleStorageOrderPayNotify(outTradeNo, paymentNo);
                             break;
                         case "shopDeposit":
                             ordersService.handleShopDepositPayNotify(outTradeNo, paymentNo);
                             break;
                         case "overdueFee":
+                        case "deliveryOverdueFee":
                             ordersService.handleOverdueFeePayNotify(outTradeNo, paymentNo);
                             break;
                     }
@@ -199,6 +205,16 @@
                     ordersRefundMapper.updateById(refundRecord);
                     log.info("閫�娆捐褰曠姸鎬佸凡鏇存柊, refundRecordId={}, status={}", refundRecord.getId(), refundRecord.getStatus());
 
+                    // 鎵嬪姩閫�娆�(type=4)閫�娆炬垚鍔� 鈫� 鎵ц鎵f
+                    if (Status.SUCCESS.equals(refundStatus)
+                            && Constants.equalsInteger(refundRecord.getType(), Constants.FOUR)) {
+                        try {
+                            ordersService.processManualRefundCallback(refundRecord);
+                        } catch (Exception ex) {
+                            log.error("鎵嬪姩閫�娆炬墸娆惧鐞嗗紓甯�, refundRecordId={}", refundRecord.getId(), ex);
+                        }
+                    }
+
                     // 閫�娆炬垚鍔� 鈫� 閫氱煡浼氬憳
                     if (Status.SUCCESS.equals(refundStatus) && refundRecord.getOrderId() != null) {
                         Orders refundOrder = ordersMapper.selectById(refundRecord.getOrderId());
@@ -229,10 +245,13 @@
                                     templateParam.put("orderNo", refundOrder.getCode());
                                     templateParam.put("money", String.valueOf(Constants.getFormatMoney(
                                             refundOrder.getRefundAmount() != null ? refundOrder.getRefundAmount() : 0L)));
-                                    boolean smsResult = AliSmsService.sendSms(refundMember.getTelephone(),
-                                            Constants.SmsNotify.MEMBER_REFUNDED.getTemplateCode(),
-                                            templateParam.toJSONString());
-                                    if (smsResult) {
+                                    String smsError = null;
+                                    if (Constants.SmsNotify.MEMBER_REFUNDED.isEnabled()) {
+                                        smsError = AliSmsService.sendSms(refundMember.getTelephone(),
+                                                Constants.SmsNotify.MEMBER_REFUNDED.getTemplateCode(),
+                                                templateParam.toJSONString());
+                                    }
+                                    if (smsError == null) {
                                         log.info("閫�娆剧煭淇″彂閫佹垚鍔�: phone={}", refundMember.getTelephone());
                                     } else {
                                         log.warn("閫�娆剧煭淇″彂閫佸け璐�: phone={}", refundMember.getTelephone());
@@ -242,7 +261,10 @@
                                     smsRecord.setPhone(refundMember.getTelephone());
                                     smsRecord.setContent(smsContent);
                                     smsRecord.setType(Constants.ONE);
-                                    smsRecord.setStatus(smsResult ? Constants.ONE : Constants.ZERO);
+                                    smsRecord.setStatus(smsError == null ? Constants.ONE : Constants.ZERO);
+                                    if (smsError != null) {
+                                        smsRecord.setRemark(smsError);
+                                    }
                                     smsRecord.setCreateTime(new java.util.Date());
                                     smsRecord.setDeleted(Constants.ZERO);
                                     smsrecordMapper.insert(smsRecord);

--
Gitblit v1.9.3