From c74a6f59490cfb9a0ee37f70427739b74e7fbd58 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 20 五月 2026 08:50:29 +0800
Subject: [PATCH] 代码生成

---
 server/web/src/main/java/com/doumee/api/web/PaymentCallback.java |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 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..3c79742 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
@@ -199,6 +201,15 @@
                     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 +240,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 +256,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