MrShi
8 小时以前 59bfd0b8bbbf0ee94ec68e4a3a1a6e536d0ad8fd
server/web/src/main/java/com/doumee/api/web/PaymentCallback.java
@@ -201,6 +201,16 @@
                    ordersRefundMapper.updateById(refundRecord);
                    log.info("退款记录状态已更新, refundRecordId={}, status={}", refundRecord.getId(), refundRecord.getStatus());
                    // 手动退款(type=4)退款成功 → 执行扣款
                    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());
@@ -231,10 +241,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());
@@ -244,7 +257,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);