退款增加判断
This commit is contained in:
@ -296,16 +296,19 @@ public class WechatPayService {
|
||||
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 (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"); // 退款处理中
|
||||
|
||||
@ -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