退款增加判断
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) {
|
private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map<String, String> result,BigDecimal totalFee) {
|
||||||
try {
|
try {
|
||||||
RefundRecord refundRecord = refundRecordMapper.getRefundRecordByOutRefundNo(request.getOutRefundNo());
|
RefundRecord refundRecord = refundRecordMapper.getRefundRecordByOutRefundNo(request.getOutRefundNo());
|
||||||
if (refundRecord == null) {
|
if (refundRecord != null) {
|
||||||
refundRecord = new RefundRecord();
|
logger.warn("已存在对应的退款记录,退款单号: {}", request.getOutRefundNo());
|
||||||
refundRecord.setCompanyId(request.getCompanyId());
|
return;
|
||||||
refundRecord.setOutTradeNo(request.getOutTradeNo());
|
}
|
||||||
refundRecord.setOutRefundNo(request.getOutRefundNo());
|
refundRecord = new RefundRecord();
|
||||||
refundRecord.setTotalFee(totalFee);
|
refundRecord.setCompanyId(request.getCompanyId());
|
||||||
refundRecord.setRefundFee(new BigDecimal(request.getRefundFee()).divide(new BigDecimal(100))); // 转换为元
|
refundRecord.setOutTradeNo(request.getOutTradeNo());
|
||||||
refundRecord.setRefundDesc(request.getRefundDesc());
|
refundRecord.setOutRefundNo(request.getOutRefundNo());
|
||||||
refundRecord.setCreateTime(new Date());
|
refundRecord.setTotalFee(totalFee);
|
||||||
refundRecord.setUpdateTime(new Date());
|
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"))) {
|
if ("SUCCESS".equals(result.get("result_code"))) {
|
||||||
refundRecord.setRefundStatus("PROCESSING"); // 退款处理中
|
refundRecord.setRefundStatus("PROCESSING"); // 退款处理中
|
||||||
|
|||||||
@ -606,28 +606,30 @@ public class AlipayServiceImpl implements AlipayService {
|
|||||||
*/
|
*/
|
||||||
private void recordRefundInfo(AlipayRefundRequest request) {
|
private void recordRefundInfo(AlipayRefundRequest request) {
|
||||||
try {
|
try {
|
||||||
|
PaymentRecord paymentRecord = paymentRecordMapper.getPaymentRecordByOutTradeNo(request.getOutTradeNo());
|
||||||
RefundRecord refundRecord = refundRecordMapper.getRefundRecordByOutRefundNo(request.getOutRequestNo());
|
RefundRecord refundRecord = refundRecordMapper.getRefundRecordByOutRefundNo(request.getOutRequestNo());
|
||||||
if(refundRecord == null){
|
if (refundRecord != null) {
|
||||||
PaymentRecord paymentRecord = paymentRecordMapper.getPaymentRecordByOutTradeNo(request.getOutTradeNo());
|
log.warn("已存在对应的退款记录,退款单号: {}", request.getOutRequestNo());
|
||||||
refundRecord = new RefundRecord();
|
return;
|
||||||
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());
|
|
||||||
}
|
}
|
||||||
|
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) {
|
} catch (Exception e) {
|
||||||
log.error("保存退款记录异常,退款单号: {}", request.getOutRequestNo(), e);
|
log.error("保存退款记录异常,退款单号: {}", request.getOutRequestNo(), e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user