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 77c4174..04c223c 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 @@ -2,8 +2,12 @@ package com.lanyuanxiaoyao.leopard.core.repository; import com.lanyuanxiaoyao.leopard.core.entity.Daily; import com.lanyuanxiaoyao.service.template.repository.SimpleRepository; +import com.querydsl.core.types.Predicate; import java.time.LocalDate; import java.util.List; +import java.util.Optional; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; @@ -14,4 +18,12 @@ public interface DailyRepository extends SimpleRepository { @Query("select distinct daily.tradeDate from Daily daily where daily.stock.id = ?1") List findDistinctTradeDateByStockId(Long stockId); + + @EntityGraph(attributePaths = {"stock"}) + @Override + Optional findOne(Predicate predicate); + + @EntityGraph(attributePaths = {"stock"}) + @Override + List findAll(Predicate predicate, Sort sort); } diff --git a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/FinanceIndicatorRepository.java b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/FinanceIndicatorRepository.java index dad687d..1317a92 100644 --- a/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/FinanceIndicatorRepository.java +++ b/leopard-core/src/main/java/com/lanyuanxiaoyao/leopard/core/repository/FinanceIndicatorRepository.java @@ -2,8 +2,20 @@ package com.lanyuanxiaoyao.leopard.core.repository; import com.lanyuanxiaoyao.leopard.core.entity.FinanceIndicator; import com.lanyuanxiaoyao.service.template.repository.SimpleRepository; +import com.querydsl.core.types.Predicate; +import java.util.List; +import java.util.Optional; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.stereotype.Repository; @Repository public interface FinanceIndicatorRepository extends SimpleRepository { + @EntityGraph(attributePaths = {"stock"}) + @Override + Optional findOne(Predicate predicate); + + @EntityGraph(attributePaths = {"stock"}) + @Override + List findAll(Predicate predicate, Sort sort); } 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 58df0d0..4f84d57 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 @@ -2,7 +2,10 @@ package com.lanyuanxiaoyao.leopard.core.repository; 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.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; @@ -14,4 +17,11 @@ import org.springframework.stereotype.Repository; public interface StockRepository extends SimpleRepository { @Query("select distinct stock.industry from Stock stock where stock.industry is not null") List findDistinctIndustries(); + + @Query("select distinct stock.code from Stock stock") + List findDistinctCodes(); + + @Modifying + @Transactional(rollbackOn = Throwable.class) + void deleteAllByCodeIn(Collection code); }