摘要
上一节实现了退款申请、退款通知回调接口的功能,同支付功能一样,退款也需要定时查询退款单的状态,这一节主要实现以下3个功能点:
- 定时任务查退款单:出现网络异常时,可通过主动定时任务查单来确定退款的实际状态。每隔30秒查询创建超过5分钟未处理的退款单进行处理。
- 补充支付、退款用到的枚举状态类。
- 业务数据如何做到和微信支付相关的表的事务隔离,并添加异常处理。
定时任务查询退款单
每隔30秒查询创建超过5分钟未处理的退款单进行处理。
在WxPayTask类中 添加如下方法:
/**
* 从第0秒开始每隔30秒执行1次,查询创建超过5分钟,并且未成功的退款单
*/
@Scheduled(cron = "0/30 * * * * ?")
@PostMapping(value = "/refundCon