package com.qqchen.deploy.backend.workflow.repository;

import com.qqchen.deploy.backend.framework.repository.IBaseRepository;
import com.qqchen.deploy.backend.workflow.entity.FormCategory;
import org.springframework.stereotype.Repository;

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

/**
 * 表单分类Repository接口
 *
 * @author qqchen
 * @date 2025-10-24
 */
@Repository
public interface IFormCategoryRepository extends IBaseRepository<FormCategory, Long> {

    /**
     * 根据编码查询
     *
     * @param code 分类编码
     * @return 表单分类
     */
    Optional<FormCategory> findByCodeAndDeletedFalse(String code);

    /**
     * 检查编码是否存在
     *
     * @param code 分类编码
     * @return 是否存在
     */
    boolean existsByCodeAndDeletedFalse(String code);

    /**
     * 查询所有启用的分类（按排序）
     *
     * @return 分类列表
     */
    List<FormCategory> findByEnabledTrueAndDeletedFalseOrderBySortAsc();
}

