package com.xcong.excoin.quartz.job; import com.xcong.excoin.modules.symbols.service.SymbolsService; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * k线数据更新任务 * * @author wzy * @date 2020-05-26 **/ @Component public class KlineDataUpdateJob { @Resource private SymbolsService symbolsService; private static boolean min1 = true; private static boolean min5 = true; private static boolean min30 = true; private static boolean min60 = true; private static boolean hour4 = true; private static boolean day1 = true; private static boolean week = true; /** * 定时更新每一分钟的K线数据 */ @Scheduled(cron = "0/1 * * * * ? ") public void updateSymbolsKineOneMin() { if (min1) { min1 = false; try { symbolsService.updateSymbolsKine("1min"); } catch (Exception e) { // e.printStackTrace(); } finally { min1 = true; } } } /** * 定时更新每十分钟的K线数据 */ @Scheduled(cron = "0/10 * * * * ? ") public void updateSymbolsKineFiveMin() { if (min5) { min5 = false; try { symbolsService.updateSymbolsKine("5min"); } catch (Exception e) { //e.printStackTrace(); } finally { min5 = true; } } } /** * 定时更新每30分钟的K线数据 */ @Scheduled(cron = "0/120 * * * * ? ") public void updateSymbolsKineMin() { if (min30) { min30 = false; try { symbolsService.updateSymbolsKine("30min"); } catch (Exception e) { //e.printStackTrace(); } finally { min30 = true; } } } /** * 定时更新1小时的K线数据 */ @Scheduled(cron = "* 0/2 * * * ? ") public void updateSymbolsKineOneHour() { if (min60) { min60 = false; try { symbolsService.updateSymbolsKine("60min"); } catch (Exception e) { //e.printStackTrace(); } finally { min60 = true; } } } /** * 定时更新4小时的K线数据 */ @Scheduled(cron = "* 0/1 * * * ? ") public void updateSymbolsKineFourHour() { if (hour4) { hour4 = false; try { symbolsService.updateSymbolsKine("4hour"); } catch (Exception e) { //e.printStackTrace(); } finally { hour4 = true; } } } /** * 定时更新1天的K线数据 */ @Scheduled(cron = "* 0/1 * * * ? ") public void updateSymbolsKineOneDay() { if (day1) { day1 = false; try { symbolsService.updateSymbolsKine("1day"); } catch (Exception e) { //e.printStackTrace(); } finally { day1 = true; } } } /** * 定时更新1周的K线数据 */ @Scheduled(cron = "* 0/1 * * * ? ") public void updateSymbolsKineOneWeek() { if (week) { week = false; try { symbolsService.updateSymbolsKine("1week"); } catch (Exception e) { // e.printStackTrace(); } finally { week = true; } } } }