一.需求分析
我们要将处于待支付状态的订单在15分钟支付时间到期后自动取消掉。因此我们要设置定时处理功能,而定时处理所需要用到的就是SpringTask任务调度工具。

此外对于派送中的订单,如果商家不自己点击派送完成,订单将一直处于派送中的状态,这时我们要使用SpringTask进行订单状态的修改。

在进行定时任务处理时,定时任务触发所间隔的时间段也是要考虑的。由于下单后15min过后会自动取消,因此我们在取消订单这一定时任务的任务触发间隔选取为每隔1min触发一次。查看是否有待支付订单的下单时间小于当前时间-15min,如果有就将其改为订单取消状态。
此外由于一直处于派送中的订单一直没有变为已完成状态,我们需要在每天凌晨1点将前一天的所有派送中的订单改为已完成。而该操作每天凌晨的1点触发就行。如果查询到有下单时间是小于当前时间(凌晨1点)-1个小时且订单状态为派送中的订单,就将其改为已完成。