/**
 * @ProjectName: 智慧评标-主观分助手
 * @Package: com.zhpb.gdyd_zhpb_zgf.repository.mysql
 * @ClassName: FileTypeRepository
 * @Description: 文件类型Repository接口
 * @Author: 张志锋
 * @Date: 2025-11-01
 * @Version: 1.0
 * @Copyright: © 2025 智慧评标-主观分助手
 */
package com.zhpb.gdyd_zhpb_zgf.repository.mysql;

import com.zhpb.gdyd_zhpb_zgf.entity.mysql.FileType;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

/**
 * 文件类型 Repository
 */
@Repository
public interface FileTypeRepository extends JpaRepository<FileType, Long> {

    /**
     * 根据类型代码查找文件类型
     *
     * @param typeCode 类型代码
     * @return 文件类型对象
     */
    Optional<FileType> findByTypeCode(String typeCode);

    /**
     * 根据类型名称查找文件类型
     *
     * @param typeName 类型名称
     * @return 文件类型对象
     */
    Optional<FileType> findByTypeName(String typeName);

    /**
     * 查找所有启用的文件类型，按优先级降序排列
     *
     * @param enabled 是否启用
     * @return 文件类型列表
     */
    List<FileType> findByEnabledOrderByPriorityDesc(Boolean enabled);

    /**
     * 查找所有启用的文件类型
     *
     * @return 文件类型列表
     */
    List<FileType> findByEnabledTrue();
}

