/**
 * @ProjectName: 智慧评标-主观分助手
 * @Package: com.zhpb.gdyd_zhpb_zgf.repository.mysql
 * @ClassName: ComparisonTaskRepository
 * @Description: 对比分析任务Repository接口
 * @Author: 张志锋
 * @Date: 2025-11-04
 * @Version: 1.0
 * @Copyright: © 2025 智慧评标-主观分助手
 */
package com.zhpb.gdyd_zhpb_zgf.repository.mysql;

import com.zhpb.gdyd_zhpb_zgf.entity.mysql.ComparisonTask;
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
 */
@Repository
public interface ComparisonTaskRepository extends JpaRepository<ComparisonTask, Long> {

    /**
     * 根据任务ID查找任务
     *
     * @param taskId 任务ID
     * @return 对比分析任务
     */
    ComparisonTask findByTaskId(String taskId);

    /**
     * 根据项目ID和用户ID查找任务列表
     *
     * @param projectId 项目ID
     * @param userId 用户ID
     * @return 任务列表
     */
    @Query("SELECT t FROM ComparisonTask t WHERE t.projectId = :projectId AND t.userId = :userId ORDER BY t.createTime DESC")
    List<ComparisonTask> findByProjectIdAndUserIdOrderByCreateTimeDesc(@Param("projectId") String projectId, @Param("userId") String userId);

    /**
     * 根据项目ID查找任务列表
     *
     * @param projectId 项目ID
     * @return 任务列表
     */
    List<ComparisonTask> findByProjectIdOrderByCreateTimeDesc(String projectId);

    /**
     * 根据用户ID查找任务列表
     *
     * @param userId 用户ID
     * @return 任务列表
     */
    List<ComparisonTask> findByUserIdOrderByCreateTimeDesc(String userId);

    /**
     * 根据状态查找任务列表
     *
     * @param status 任务状态
     * @return 任务列表
     */
    List<ComparisonTask> findByStatusOrderByCreateTimeDesc(String status);
}
