|
|
@@ -337,15 +337,16 @@ public class StockPoolServiceImpl implements IStockPoolService {
|
|
|
public String completeHistoryData(LocalDate importDate) throws Exception {
|
|
|
log.info("[补全历史数据] 开始补全,导入日期: {}", importDate);
|
|
|
|
|
|
- // 查找离导入日期最近的一天(向前查找最多7天)
|
|
|
+ // 查找离导入日期最近的一个交易日(从stock_pool_history表确定,向前查找最多30天)
|
|
|
LocalDate previousDate = null;
|
|
|
List<StockPool> previousDayData = new java.util.ArrayList<>();
|
|
|
- for (int i = 1; i <= 7; i++) {
|
|
|
+ for (int i = 1; i <= 30; i++) {
|
|
|
LocalDate checkDate = importDate.minusDays(i);
|
|
|
- List<StockPool> data = baseMapper.selectByDateAndType(checkDate, 1);
|
|
|
- if (!data.isEmpty()) {
|
|
|
+ LambdaQueryWrapper<StockPoolHistory> checkWrapper = Wrappers.lambdaQuery();
|
|
|
+ checkWrapper.eq(StockPoolHistory::getRecordDate, checkDate).last("LIMIT 1");
|
|
|
+ if (stockPoolHistoryMapper.selectCount(checkWrapper) > 0) {
|
|
|
previousDate = checkDate;
|
|
|
- previousDayData = data;
|
|
|
+ previousDayData = baseMapper.selectByDateAndType(checkDate, 1);
|
|
|
log.info("[补全历史数据] 找到最近的交易日: {}", previousDate);
|
|
|
break;
|
|
|
}
|