/**
 * @ProjectName: 智慧评标-主观分助手
 * @Package: com.zhpb.gdyd_zhpb_zgf.repository.mysql
 * @ClassName: QaSessionRepository
 * @Description: QA会话Repository
 * @Author: 张志锋
 * @Date: 2025-11-03
 * @Version: 1.0
 * @Copyright: © 2025 智慧评标-主观分助手
 */
package com.zhpb.gdyd_zhpb_zgf.repository.mysql;

import com.zhpb.gdyd_zhpb_zgf.entity.mysql.QaSession;
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;

/**
 * QA会话Repository
 */
@Repository
public interface QaSessionRepository extends JpaRepository<QaSession, Long> {

    /**
     * 根据会话ID查找会话
     */
    Optional<QaSession> findBySessionId(String sessionId);

    /**
     * 根据项目ID和用户ID查找会话列表
     */
    List<QaSession> findByProjectIdAndUserIdOrderByStartTimeDesc(String projectId, String userId);

    /**
     * 根据项目ID查找所有会话
     */
    List<QaSession> findByProjectIdOrderByStartTimeDesc(String projectId);

    /**
     * 根据用户ID查找所有会话
     */
    List<QaSession> findByUserIdOrderByStartTimeDesc(String userId);

    /**
     * 统计项目的会话数量
     */
    long countByProjectId(String projectId);

    /**
     * 统计用户的会话数量
     */
    long countByUserId(String userId);
}
