|
@@ -1,97 +1,97 @@
|
|
|
-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<IndexesTradeDateDo> 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<IndexesTradeDateDo> indexesTradeDateDoList) {
|
|
|
- CaffeineLocalCache.cleanDateYearWeek();
|
|
|
- CaffeineLocalCache.addDateYearWeek(indexesTradeDateDoList);
|
|
|
-
|
|
|
- CaffeineLocalCache.cleanListInfoTrendDate();
|
|
|
- CaffeineLocalCache.addListInfoTrendDate(indexesTradeDateDoList);
|
|
|
-
|
|
|
- Map<String, String> dateCateMap = new HashMap<>();
|
|
|
- List<IndexesTradeDateDo> 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<IndexesTradeDateDo> indexesTradeDateDoList) {
|
|
|
- CaffeineLocalCache.cleanDateYearMonth();
|
|
|
- CaffeineLocalCache.addDateYearMonth(indexesTradeDateDoList);
|
|
|
- List<IndexesTradeDateDo> yearMonthLastTradeDateList = new ArrayList<>();
|
|
|
- for (IndexesTradeDateDo indexesTradeDateDo : indexesTradeDateDoList) {
|
|
|
- if (indexesTradeDateDo.getIsMonthend().compareTo(1) == 0) {
|
|
|
- yearMonthLastTradeDateList.add(indexesTradeDateDo);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- CaffeineLocalCache.cleanYearMonthLastTradeDate();
|
|
|
- CaffeineLocalCache.addYearMonthLastTradeDate(yearMonthLastTradeDateList);
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
+//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<IndexesTradeDateDo> 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<IndexesTradeDateDo> indexesTradeDateDoList) {
|
|
|
+// CaffeineLocalCache.cleanDateYearWeek();
|
|
|
+// CaffeineLocalCache.addDateYearWeek(indexesTradeDateDoList);
|
|
|
+//
|
|
|
+// CaffeineLocalCache.cleanListInfoTrendDate();
|
|
|
+// CaffeineLocalCache.addListInfoTrendDate(indexesTradeDateDoList);
|
|
|
+//
|
|
|
+// Map<String, String> dateCateMap = new HashMap<>();
|
|
|
+// List<IndexesTradeDateDo> 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<IndexesTradeDateDo> indexesTradeDateDoList) {
|
|
|
+// CaffeineLocalCache.cleanDateYearMonth();
|
|
|
+// CaffeineLocalCache.addDateYearMonth(indexesTradeDateDoList);
|
|
|
+// List<IndexesTradeDateDo> yearMonthLastTradeDateList = new ArrayList<>();
|
|
|
+// for (IndexesTradeDateDo indexesTradeDateDo : indexesTradeDateDoList) {
|
|
|
+// if (indexesTradeDateDo.getIsMonthend().compareTo(1) == 0) {
|
|
|
+// yearMonthLastTradeDateList.add(indexesTradeDateDo);
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// CaffeineLocalCache.cleanYearMonthLastTradeDate();
|
|
|
+// CaffeineLocalCache.addYearMonthLastTradeDate(yearMonthLastTradeDateList);
|
|
|
+// }
|
|
|
+//
|
|
|
+//}
|