package com.rongyichuang.player.repository;
|
|
import com.rongyichuang.player.entity.Player;
|
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;
|
import java.util.Optional;
|
|
/**
|
* 学员Repository接口
|
*/
|
@Repository
|
public interface PlayerRepository extends JpaRepository<Player, Long> {
|
|
/**
|
* 根据手机号查找学员
|
*/
|
Optional<Player> findByPhone(String phone);
|
|
/**
|
* 根据用户ID查找学员
|
*/
|
Optional<Player> findByUserId(Long userId);
|
|
/**
|
* 根据角色ID查找学员
|
*/
|
List<Player> findByRoleId(Long roleId);
|
|
/**
|
* 根据状态查找学员
|
*/
|
List<Player> findByState(Integer state);
|
|
/**
|
* 查找有效的学员
|
*/
|
@Query("SELECT p FROM Player p WHERE p.state = 1")
|
List<Player> findActivePlayers();
|
|
/**
|
* 根据姓名模糊查询学员
|
*/
|
@Query("SELECT p FROM Player p WHERE p.name LIKE %:name% AND p.state = 1")
|
List<Player> findByNameContaining(@Param("name") String name);
|
|
/**
|
* 根据状态统计学员数量
|
*/
|
long countByState(Integer state);
|
}
|