一、需求分析
用户下单后可能存在的情况:
--下单未支付,订单一直处于”待支付“状态。
--用户收货后管理端未点击完成按钮,订单一直处于”派送中“状态。
对于上面两种情况需要通过定时任务来修改订单状态,具体逻辑为:
--通过定时任务每分钟检查一次是否存在支付超时订单(下单后超过15分钟仍未支付则判定为支付超时订单),如果存在则修改订单状态为”已取消“
--通过定时任务每天凌晨1点检查一次是否存在”派送中“的订单,如果存在则修改订单状态为”已完成“。
二、代码开发
定时任务类的processTimeoutOrder方法:
超时订单的处理方法:
一直处于派送中订单的处理方法:
在OrderMapper接口中扩展方法
三、功能测试
可以通过如下方式进行测试:
•
查看控制台
sql
•
查看数据库中数据变化