00:00
接下来呢,我们来创建一个定时任务,让他呢去做定时查单的工作好。那么在这个位置呢,我们给它改一个名字叫order confirm订单状态确认啊好,那么我们想让这个定时任务呢,每隔30秒执行一次。那做什么呢?我们来看一下。从第零秒开始,每隔30秒执行一次。查询。创建超过五分钟。并且。未支付的订单,好,这是我们的目标,那所以呢,我们要在订单服务当中呢,创建这个业务,那因此呢,我们先。
01:00
引入订单服务。Order service啊,给进来。好,接下来呢,在这面我们希望呢,通过订单服务呢的一个业务方法,查询出一个订单列表来。Order等于order service点我们要创建一个方法叫get no pay by啊一个。时间,好,这个时间间隔呢,就是五分钟,那么我们希望查找超过五分钟内支付的订单啊好,那么接下来呢,我们来创建这个业务方法。我们把这个I改成。May。
02:05
啊。那这样的话呢,我们需要创建一个查询对象。好,我们通过这个查询对象呢,来组装我们的查询条件,第一呢,就是订单的状态需要是未支付。条件要超过五分钟啊,那这个超过五分钟怎么表达呢?我们呢,在这个地方啊,先做一个instant的一个实例,Instant时间实例now。好,然后呢,我们用当前时间减去五分钟。A就是减去若干分钟哈。
03:06
好得到一个时间实力,也就是说这是分钟之前的一个时间啊。然后呢,我们要比较用Le,意思就是我的这个订单的创建时间create time要早于五分钟之前,那这样的话呢,我们就可以查询出创建超过五分钟的订单了。Select,我们一个最后呢,我们把这个order呢返回好,这个方法呢,就是查询创建超过。
04:03
超过minutes分钟并且未支付的订单,那么接下来呢,我们再回到我们的定时任务当中,那在定时任务当中呢,我们已经将订单列表查询出来了,那么我们呢,来便利一下这个订单列表,看一看他们的订单号啊。Get,好,我们第二,为了让它在空台上显示的更清晰,我用来打印啊,超时订单。好,那么查到这个超时订单之后呢,其实我们要去核实订单状态,那么核实订单状态的具体的过程呢,就是调用微信支付查单接口,好那么我们先来测试当前我们做的这个步骤,所以呢,我们重新启动我们的应用程序。
05:31
我们发现呢,Task已经被执行了啊,然后我们等待30秒,或者是。零秒的时候好。那么按照我们的定制的策略呢,它从第零秒开始,每隔30秒执行,所以呢,第零秒的时候,那么他就执行了刚才我们的定时任务order confirm被执行,然后呢,执行了一个查询订单的这么一个操作,那根据我们刚才的查询条件呢,他查询出了一个订单,那这个订单的创建时间呢,是早于五分钟之前的啊,所以呢,我们就查询到他了,那这个超时订单的这个日志呢,也打印出来了,这面呢,我们是用一个警告信息打印的。
06:20
那这就是我们的定时查询超时订单的功能。
我来说两句