SpringBoot定时任务

SpringBoot启动类注解
@EnableScheduling //开启基于注解的定时任务
controller层定时触发任务
//定时方法
@Scheduled(cron = "0 0/1 * * *  ?")
public void timedTask() throws ParseException {
    //查询所有订单列表
    List<Order> order = orderService.selectAll();
    System.out.println(order);
    Date date = new Date();
    SimpleDateFormat sim1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    SimpleDateFormat sim2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String format1 = sim2.format(date);
    //遍历每个订单数据
    for (int i = 0; i < order.size(); i++) {
        String orderTime = String.valueOf(order.get(i).getOrderTime());
        Date date1 = sim1.parse(orderTime);
        String format = sim2.format(date1);
        System.out.println(format);
        //获取订单创建时长
        long time = DifferenceTime.getTime(format,format1);
        //判断下单时间大于30分钟还未付款的订单删除
        if (order.get(i).getOrderState().equals("待付款") && time>30){
            System.out.println(order.get(i).getOrderId());
            //调用删除订单方法
            orderService.deleteById(order.get(i).getOrderId());
        }
    }
}
工具类,获取当前系统时间及下单时间的相差时间
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class DifferenceTime {
    // 获取两个时间相差分钟数
    public static long getTime(String oldTime,String newTime) throws ParseException {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        long NTime =df.parse(newTime).getTime();
        //从对象中拿到时间
        long OTime = df.parse(oldTime).getTime();
        long diff=(NTime-OTime)/1000/60;
        return diff;
    }
}