lrj
19 小时以前 8337c34fcc761d07acaad796d10f3e12e9bbe2d1
backend/src/main/java/com/rongyichuang/player/repository/ActivityPlayerRepository.java
@@ -26,9 +26,9 @@
    List<ActivityPlayer> findByPlayerId(Long playerId);
    /**
     * 根据活动ID和选手ID查找参赛记录
     * 根据活动ID和选手ID查找参赛记录列表,按创建时间降序排序
     */
    Optional<ActivityPlayer> findByActivityIdAndPlayerId(Long activityId, Long playerId);
    List<ActivityPlayer> findByActivityIdAndPlayerIdOrderByCreateTimeDesc(Long activityId, Long playerId);
    /**
     * 根据阶段ID查找参赛选手
@@ -106,6 +106,12 @@
    Long countByActivityIdAndState(@Param("activityId") Long activityId, @Param("state") Integer state);
    /**
     * 统计同一活动+同一选手的有效报名数量(state IN (0,1))
     */
    @Query("SELECT COUNT(ap) FROM ActivityPlayer ap WHERE ap.activityId = :activityId AND ap.playerId = :playerId AND ap.state IN (0, 1)")
    Long countActiveOrPendingByActivityAndPlayer(@Param("activityId") Long activityId, @Param("playerId") Long playerId);
    /**
     * 根据阶段ID和状态查找参赛选手(包含选手信息)
     */
    @Query("SELECT ap FROM ActivityPlayer ap " +
@@ -118,4 +124,9 @@
     * 检查选手是否已在指定阶段报名
     */
    boolean existsByStageIdAndPlayerId(Long stageId, Long playerId);
}
    /**
     * 根据阶段和选手查询报名记录
     */
    Optional<ActivityPlayer> findByStageIdAndPlayerId(Long stageId, Long playerId);
}