diff --git a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/DailyRepository.java b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/DailyRepository.java index 4980dcc..7222c43 100644 --- a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/DailyRepository.java +++ b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/DailyRepository.java @@ -6,6 +6,7 @@ import com.querydsl.core.types.Predicate; import java.time.LocalDate; import java.util.List; import java.util.Optional; +import java.util.Set; import org.springframework.data.domain.Sort; import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.Query; @@ -14,10 +15,7 @@ import org.springframework.stereotype.Repository; @Repository public interface DailyRepository extends SimpleRepository { @Query("select distinct daily.tradeDate from Daily daily") - List findDistinctTradeDate(); - - @Query("select distinct daily.tradeDate from Daily daily where daily.stock.id = ?1") - List findDistinctTradeDateByStockId(Long stockId); + Set findDistinctTradeDate(); @Query("select max(daily.tradeDate) from Daily daily") LocalDate findMaxTradeDate(); diff --git a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/StockRepository.java b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/StockRepository.java index cdbadbb..ab651ac 100644 --- a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/StockRepository.java +++ b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/StockRepository.java @@ -4,8 +4,7 @@ import com.lanyuanxiaoyao.leopard.core.entity.Stock; import com.lanyuanxiaoyao.service.template.repository.SimpleRepository; import jakarta.transaction.Transactional; import java.util.Collection; -import java.util.List; -import org.springframework.data.jpa.repository.EntityGraph; +import java.util.Set; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; @@ -17,16 +16,12 @@ import org.springframework.stereotype.Repository; @Repository public interface StockRepository extends SimpleRepository { @Query("select distinct stock.industry from Stock stock where stock.industry is not null") - List findDistinctIndustries(); + Set findDistinctIndustries(); @Query("select distinct stock.code from Stock stock") - List findDistinctCodes(); + Set findDistinctCodes(); - @Modifying @Transactional(rollbackOn = Throwable.class) + @Modifying void deleteAllByCodeIn(Collection code); - - @EntityGraph(attributePaths = {"indicators"}) - @Query("from Stock stock where size(stock.indicators) >= ?1") - List findAllByIndicatorsSizeGreaterThanEqual(int count); } diff --git a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/TaskRepository.java b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/TaskRepository.java index efb8416..56d81ce 100644 --- a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/TaskRepository.java +++ b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/TaskRepository.java @@ -14,7 +14,11 @@ import org.springframework.transaction.annotation.Transactional; @Repository public interface TaskRepository extends SimpleRepository { @Modifying - @Query("update Task task set task.status = com.lanyuanxiaoyao.leopard.core.entity.Task.Status.FAILURE where task.status = com.lanyuanxiaoyao.leopard.core.entity.Task.Status.RUNNING") + @Query(""" + update Task task set + task.status = com.lanyuanxiaoyao.leopard.core.entity.Task.Status.FAILURE, + task.finishedTime = current timestamp + where task.status = com.lanyuanxiaoyao.leopard.core.entity.Task.Status.RUNNING""") void updateAllRunningTaskToFailure(); @Transactional(rollbackFor = Throwable.class)