//package com.smppw.analysis.infrastructure.task; // //import com.smppw.analysis.domain.mapper.core.IndexesTradeDateMapper; //import com.smppw.common.cache.CaffeineLocalCache; //import com.smppw.common.pojo.IndexesTradeDateDo; //import org.slf4j.Logger; //import org.slf4j.LoggerFactory; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.scheduling.annotation.Scheduled; //import org.springframework.stereotype.Repository; // //import java.util.ArrayList; //import java.util.HashMap; //import java.util.List; //import java.util.Map; // //@Repository //public class TrendDateTask { // private final static Logger logger = LoggerFactory.getLogger(TrendDateTask.class); // // @Autowired // private IndexesTradeDateMapper indexesTradeDateMapper; // // //刷期对应的年周, 月周 进缓存 // @Scheduled(initialDelay = 1000, fixedRate = 24 * 3600 * 1000) // public void refreshData() { // long start = System.currentTimeMillis(); // List indexesTradeDateDoList = indexesTradeDateMapper.listNatureDays(); // refreshYearWeekAndWeekOfMonth(indexesTradeDateDoList); // refreshYearMonth(indexesTradeDateDoList); // long end = System.currentTimeMillis(); // if (logger.isDebugEnabled()) { // logger.debug("TrendDateTask execute cost: " + (end - start) + "s"); // } // } // // //刷期对应的年周, 月周 进缓存 // private void refreshYearWeekAndWeekOfMonth(List indexesTradeDateDoList) { // CaffeineLocalCache.cleanDateYearWeek(); // CaffeineLocalCache.addDateYearWeek(indexesTradeDateDoList); // // CaffeineLocalCache.cleanListInfoTrendDate(); // CaffeineLocalCache.addListInfoTrendDate(indexesTradeDateDoList); // // Map dateCateMap = new HashMap<>(); // List yearWeekLastTradeDateList = new ArrayList<>(); // Integer weekOfYear = null; // String yearmonth = null; // int weekOfMonth = 1; // for (IndexesTradeDateDo indexesTradeDateDo : indexesTradeDateDoList) { // Integer theWeekOfYear = indexesTradeDateDo.getWeekOfYear(); // String theYearmonth = indexesTradeDateDo.getYearmonth(); // if (weekOfYear == null) { // weekOfYear = theWeekOfYear; // } // if (yearmonth == null) { // yearmonth = theYearmonth; // } // // if (!weekOfYear.equals(theWeekOfYear)) { // if (!yearmonth.equals(theYearmonth)) { // weekOfMonth = 1; // yearmonth = theYearmonth; // } else { // weekOfMonth++; // } // weekOfYear = theWeekOfYear; // } // dateCateMap.put(indexesTradeDateDo.getTradeDate(), yearmonth + "-" + weekOfMonth); // // if (indexesTradeDateDo.getIsWeekend().compareTo(1) == 0) { // yearWeekLastTradeDateList.add(indexesTradeDateDo); // } // } // CaffeineLocalCache.cleanDateMonthWeek(); // CaffeineLocalCache.addDateMonthWeek(dateCateMap); // // CaffeineLocalCache.cleanYearWeekLastTradeDate(); // CaffeineLocalCache.addYearWeekLastTradeDate(yearWeekLastTradeDateList); // } // // // 刷新年月数据 // private void refreshYearMonth(List indexesTradeDateDoList) { // CaffeineLocalCache.cleanDateYearMonth(); // CaffeineLocalCache.addDateYearMonth(indexesTradeDateDoList); // List yearMonthLastTradeDateList = new ArrayList<>(); // for (IndexesTradeDateDo indexesTradeDateDo : indexesTradeDateDoList) { // if (indexesTradeDateDo.getIsMonthend().compareTo(1) == 0) { // yearMonthLastTradeDateList.add(indexesTradeDateDo); // } // } // // CaffeineLocalCache.cleanYearMonthLastTradeDate(); // CaffeineLocalCache.addYearMonthLastTradeDate(yearMonthLastTradeDateList); // } // //}