package com.rongyichuang.common.repository;
|
|
import com.rongyichuang.common.entity.Media;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.repository.query.Param;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.List;
|
|
@Repository
|
public interface MediaRepository extends JpaRepository<Media, Long> {
|
|
/**
|
* 根据目标类型和目标ID查询媒体列表
|
*/
|
List<Media> findByTargetTypeAndTargetIdAndState(Integer targetType, Long targetId, Integer state);
|
|
/**
|
* 批量查询媒体列表
|
*/
|
List<Media> findByTargetTypeAndTargetIdInAndState(Integer targetType, List<Long> targetIds, Integer state);
|
|
/**
|
* 批量统计媒体数量
|
*/
|
@Query("SELECT m.targetId, COUNT(m) FROM Media m WHERE m.targetType = :targetType AND m.targetId IN :targetIds AND m.state = :state GROUP BY m.targetId")
|
List<Object[]> countByTargetTypeAndTargetIdInAndState(@Param("targetType") Integer targetType, @Param("targetIds") List<Long> targetIds, @Param("state") Integer state);
|
|
/**
|
* 检查ID是否存在
|
*/
|
boolean existsById(Long id);
|
}
|