From e39dda2f25df9680e66c9e0dd3a606149e21bcc5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 22 四月 2026 20:06:37 +0800
Subject: [PATCH] 代码生成
---
server/web/src/main/java/com/doumee/api/web/PaymentCallback.java | 114 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 89 insertions(+), 25 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 40e530d..43989ac 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
@@ -4,11 +4,17 @@
import com.doumee.config.wx.WxPayV3Service;
import com.doumee.core.constants.Constants;
import com.doumee.core.utils.ID;
+import com.doumee.core.utils.aliyun.AliSmsService;
+import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.OrdersRefundMapper;
import com.doumee.dao.business.OrdersMapper;
+import com.doumee.dao.business.SmsrecordMapper;
+import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Notice;
import com.doumee.dao.business.model.Orders;
import com.doumee.dao.business.model.OrdersRefund;
+import com.doumee.dao.business.model.Smsrecord;
+import com.alibaba.fastjson.JSONObject;
import com.doumee.service.business.NoticeService;
import com.doumee.service.business.OrdersService;
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
@@ -49,6 +55,12 @@
@Autowired
private NoticeService noticeService;
+
+ @Autowired
+ private SmsrecordMapper smsrecordMapper;
+
+ @Autowired
+ private MemberMapper memberMapper;
// ==================== V2 鍥炶皟 ====================
@@ -171,32 +183,84 @@
.last("limit 1"));
if (refundRecord != null) {
Status refundStatus = refundNotification.getRefundStatus();
- if (Status.SUCCESS.equals(refundStatus)) {
- refundRecord.setStatus(Constants.ONE); // 閫�娆炬垚鍔�
- refundRecord.setRefundTime(new java.util.Date());
- } else if (Status.CLOSED.equals(refundStatus) || Status.ABNORMAL.equals(refundStatus)) {
- refundRecord.setStatus(Constants.TWO); // 閫�娆惧け璐�
- }
- ordersRefundMapper.updateById(refundRecord);
- log.info("閫�娆捐褰曠姸鎬佸凡鏇存柊, refundRecordId={}, status={}", refundRecord.getId(), refundRecord.getStatus());
- // 閫�娆炬垚鍔� 鈫� 閫氱煡浼氬憳
- if (Status.SUCCESS.equals(refundStatus) && refundRecord.getOrderId() != null) {
- Orders refundOrder = ordersMapper.selectById(refundRecord.getOrderId());
- if (refundOrder != null) {
- Notice notice = new Notice();
- notice.setUserType(0);
- notice.setUserId(refundOrder.getMemberId());
- notice.setTitle(Constants.MemberOrderNotify.REFUNDED.getTitle());
- notice.setContent(Constants.MemberOrderNotify.REFUNDED.format(
- "orderNo", refundOrder.getCode(),
- "amount", String.valueOf(Constants.getFormatMoney(refundOrder.getRefundAmount() != null ? refundOrder.getRefundAmount() : 0L))));
- notice.setObjId(refundOrder.getId());
- notice.setObjType(0);
- notice.setStatus(0);
- notice.setIsdeleted(Constants.ZERO);
- notice.setCreateDate(new java.util.Date());
- noticeService.create(notice);
+ // 骞傜瓑鍒ゆ柇锛氬凡鎴愬姛/宸插け璐ョ殑涓嶉噸澶嶅鐞�
+ if (!Constants.equalsInteger(refundRecord.getStatus(), Constants.ZERO)) {
+ log.info("閫�娆捐褰曞凡澶勭悊, refundRecordId={}, status={}, 璺宠繃", refundRecord.getId(), refundRecord.getStatus());
+ } else {
+ if (Status.SUCCESS.equals(refundStatus)) {
+ refundRecord.setStatus(Constants.ONE); // 閫�娆炬垚鍔�
+ refundRecord.setRefundTime(new java.util.Date());
+ } else if (Status.CLOSED.equals(refundStatus) || Status.ABNORMAL.equals(refundStatus)) {
+ refundRecord.setStatus(Constants.TWO); // 閫�娆惧け璐�
+ refundRecord.setRemark("寰俊閫�娆惧け璐�: " + refundStatus.name());
+ }
+ // PROCESSING 鐘舵�佹棤鍙樺寲锛屼笉鏇存柊
+ ordersRefundMapper.updateById(refundRecord);
+ log.info("閫�娆捐褰曠姸鎬佸凡鏇存柊, refundRecordId={}, status={}", refundRecord.getId(), refundRecord.getStatus());
+
+ // 閫�娆炬垚鍔� 鈫� 閫氱煡浼氬憳
+ if (Status.SUCCESS.equals(refundStatus) && refundRecord.getOrderId() != null) {
+ Orders refundOrder = ordersMapper.selectById(refundRecord.getOrderId());
+ if (refundOrder != null) {
+ Notice notice = new Notice();
+ notice.setUserType(0);
+ notice.setUserId(refundOrder.getMemberId());
+ notice.setTitle(Constants.MemberOrderNotify.REFUNDED.getTitle());
+ notice.setContent(Constants.MemberOrderNotify.REFUNDED.format(
+ "orderNo", refundOrder.getCode(),
+ "amount", String.valueOf(Constants.getFormatMoney(refundOrder.getRefundAmount() != null ? refundOrder.getRefundAmount() : 0L))));
+ notice.setObjId(refundOrder.getId());
+ notice.setObjType(0);
+ notice.setStatus(0);
+ notice.setIsdeleted(Constants.ZERO);
+ notice.setCreateDate(new java.util.Date());
+ noticeService.create(notice);
+
+ // 鐭俊閫氱煡浼氬憳锛氶��娆惧凡瀹屾垚
+ Member refundMember = memberMapper.selectById(refundOrder.getMemberId());
+ if (refundMember != null && StringUtils.isNotBlank(refundMember.getTelephone())) {
+ String smsContent = Constants.SmsNotify.MEMBER_REFUNDED.format(
+ "orderNo", refundOrder.getCode(),
+ "money", String.valueOf(Constants.getFormatMoney(
+ refundOrder.getRefundAmount() != null ? refundOrder.getRefundAmount() : 0L)));
+ try {
+ JSONObject templateParam = new JSONObject();
+ 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) {
+ log.info("閫�娆剧煭淇″彂閫佹垚鍔�: phone={}", refundMember.getTelephone());
+ } else {
+ log.warn("閫�娆剧煭淇″彂閫佸け璐�: phone={}", refundMember.getTelephone());
+ }
+ // 瀛樺偍鐭俊璁板綍
+ Smsrecord smsRecord = new Smsrecord();
+ smsRecord.setPhone(refundMember.getTelephone());
+ smsRecord.setContent(smsContent);
+ smsRecord.setType(Constants.ONE);
+ smsRecord.setStatus(smsResult ? Constants.ONE : Constants.ZERO);
+ smsRecord.setCreateTime(new java.util.Date());
+ smsRecord.setDeleted(Constants.ZERO);
+ smsrecordMapper.insert(smsRecord);
+ } catch (Exception smsEx) {
+ log.error("閫�娆剧煭淇″彂閫佸紓甯�: {}", smsEx.getMessage());
+ try {
+ Smsrecord smsRecord = new Smsrecord();
+ smsRecord.setPhone(refundMember.getTelephone());
+ smsRecord.setContent(smsContent);
+ smsRecord.setType(Constants.ONE);
+ smsRecord.setStatus(Constants.ZERO);
+ smsRecord.setCreateTime(new java.util.Date());
+ smsRecord.setDeleted(Constants.ZERO);
+ smsrecordMapper.insert(smsRecord);
+ } catch (Exception ignored) {}
+ }
+ }
+ }
}
}
}
--
Gitblit v1.9.3