| | |
| | | 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()); |
| | |
| | | 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()); |
| | |
| | | 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); |