Compare commits
2 Commits
27f5576aa2
...
0988d548cd
| Author | SHA1 | Date | |
|---|---|---|---|
| 0988d548cd | |||
| f7472da77d |
@ -293,34 +293,35 @@ public class WechatPayService {
|
||||
/**
|
||||
* 记录退款信息到数据库
|
||||
*/
|
||||
private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map<String, String> result,BigDecimal totalFee) {
|
||||
private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map<String, String> result, BigDecimal totalFee) {
|
||||
try {
|
||||
RefundRecord refundRecord = refundRecordMapper.getRefundRecordByOutRefundNo(request.getOutRefundNo());
|
||||
if (refundRecord == null) {
|
||||
refundRecord = new RefundRecord();
|
||||
refundRecord.setCompanyId(request.getCompanyId());
|
||||
refundRecord.setOutTradeNo(request.getOutTradeNo());
|
||||
refundRecord.setOutRefundNo(request.getOutRefundNo());
|
||||
refundRecord.setTotalFee(totalFee);
|
||||
refundRecord.setRefundFee(new BigDecimal(request.getRefundFee()).divide(new BigDecimal(100))); // 转换为元
|
||||
refundRecord.setRefundDesc(request.getRefundDesc());
|
||||
refundRecord.setCreateTime(new Date());
|
||||
refundRecord.setUpdateTime(new Date());
|
||||
|
||||
if ("SUCCESS".equals(result.get("result_code"))) {
|
||||
refundRecord.setRefundStatus("PROCESSING"); // 退款处理中
|
||||
refundRecord.setRefundStatusDesc("退款处理中");
|
||||
refundRecord.setRefundId(result.get("refund_id"));
|
||||
} else {
|
||||
refundRecord.setRefundStatus("FAIL"); // 退款失败
|
||||
refundRecord.setRefundStatusDesc(result.get("err_code_des"));
|
||||
}
|
||||
|
||||
refundRecordMapper.insertRefundRecord(refundRecord);
|
||||
logger.info("退款记录已保存,退款单号: {}", request.getOutRefundNo());
|
||||
} else{
|
||||
logger.info("退款记录已存在,退款单号: {}", request.getOutRefundNo());
|
||||
if (refundRecord != null) {
|
||||
logger.warn("已存在对应的退款记录,退款单号: {}", request.getOutRefundNo());
|
||||
return;
|
||||
}
|
||||
refundRecord = new RefundRecord();
|
||||
refundRecord.setCompanyId(request.getCompanyId());
|
||||
refundRecord.setOutTradeNo(request.getOutTradeNo());
|
||||
refundRecord.setOutRefundNo(request.getOutRefundNo());
|
||||
refundRecord.setTotalFee(totalFee);
|
||||
refundRecord.setRefundFee(new BigDecimal(request.getRefundFee()).divide(new BigDecimal(100))); // 转换为元
|
||||
refundRecord.setRefundDesc(request.getRefundDesc());
|
||||
refundRecord.setCreateTime(new Date());
|
||||
refundRecord.setUpdateTime(new Date());
|
||||
|
||||
if ("SUCCESS".equals(result.get("result_code"))) {
|
||||
refundRecord.setRefundStatus("PROCESSING"); // 退款处理中
|
||||
refundRecord.setRefundStatusDesc("退款处理中");
|
||||
refundRecord.setRefundId(result.get("refund_id"));
|
||||
} else {
|
||||
refundRecord.setRefundStatus("FAIL"); // 退款失败
|
||||
refundRecord.setRefundStatusDesc(result.get("err_code_des"));
|
||||
}
|
||||
|
||||
refundRecordMapper.insertRefundRecord(refundRecord);
|
||||
logger.info("退款记录已保存,退款单号: {}", request.getOutRefundNo());
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("保存退款记录异常,退款单号: {}", request.getOutRefundNo(), e);
|
||||
|
||||
@ -606,28 +606,30 @@ public class AlipayServiceImpl implements AlipayService {
|
||||
*/
|
||||
private void recordRefundInfo(AlipayRefundRequest request) {
|
||||
try {
|
||||
PaymentRecord paymentRecord = paymentRecordMapper.getPaymentRecordByOutTradeNo(request.getOutTradeNo());
|
||||
RefundRecord refundRecord = refundRecordMapper.getRefundRecordByOutRefundNo(request.getOutRequestNo());
|
||||
if(refundRecord == null){
|
||||
PaymentRecord paymentRecord = paymentRecordMapper.getPaymentRecordByOutTradeNo(request.getOutTradeNo());
|
||||
refundRecord = new RefundRecord();
|
||||
refundRecord.setCompanyId(request.getCompanyId());
|
||||
refundRecord.setOutTradeNo(request.getOutTradeNo());
|
||||
refundRecord.setOutRefundNo(request.getOutRequestNo());
|
||||
refundRecord.setTotalFee(paymentRecord.getTotalFee());
|
||||
refundRecord.setRefundFee(new BigDecimal(request.getRefundAmount())); // 转换为元
|
||||
refundRecord.setRefundDesc(request.getRefundReason());
|
||||
refundRecord.setCreateTime(new Date());
|
||||
refundRecord.setUpdateTime(new Date());
|
||||
|
||||
refundRecord.setRefundStatus("PROCESSING"); // 退款处理中
|
||||
refundRecord.setRefundStatusDesc("退款处理中");
|
||||
refundRecord.setRefundId(request.getOutRequestNo());
|
||||
refundRecord.setPayChannel(PaymentRecord.PayChannel.ALIPAY.name());
|
||||
refundRecordMapper.insertRefundRecord(refundRecord);
|
||||
log.info("退款记录已保存,退款单号: {}", request.getOutRequestNo());
|
||||
}else {
|
||||
log.info("退款记录已存在,退款单号: {}", request.getOutRequestNo());
|
||||
if (refundRecord != null) {
|
||||
log.warn("已存在对应的退款记录,退款单号: {}", request.getOutRequestNo());
|
||||
return;
|
||||
}
|
||||
refundRecord = new RefundRecord();
|
||||
refundRecord.setCompanyId(request.getCompanyId());
|
||||
refundRecord.setOutTradeNo(request.getOutTradeNo());
|
||||
refundRecord.setOutRefundNo(request.getOutRequestNo());
|
||||
refundRecord.setTotalFee(paymentRecord.getTotalFee());
|
||||
refundRecord.setRefundFee(new BigDecimal(request.getRefundAmount())); // 转换为元
|
||||
refundRecord.setRefundDesc(request.getRefundReason());
|
||||
refundRecord.setCreateTime(new Date());
|
||||
refundRecord.setUpdateTime(new Date());
|
||||
|
||||
refundRecord.setRefundStatus("PROCESSING"); // 退款处理中
|
||||
refundRecord.setRefundStatusDesc("退款处理中");
|
||||
refundRecord.setRefundId(request.getOutRequestNo());
|
||||
refundRecord.setPayChannel(PaymentRecord.PayChannel.ALIPAY.name());
|
||||
|
||||
|
||||
refundRecordMapper.insertRefundRecord(refundRecord);
|
||||
log.info("退款记录已保存,退款单号: {}", request.getOutRequestNo());
|
||||
} catch (Exception e) {
|
||||
log.error("保存退款记录异常,退款单号: {}", request.getOutRequestNo(), e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user