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

import com.qqchen.deploy.backend.system.entity.SysParam;
import com.qqchen.deploy.backend.framework.repository.IBaseRepository;

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

public interface ISysParamRepository extends IBaseRepository<SysParam, Long> {
    
    /**
     * 根据参数编码查询参数
     * @param code 参数编码
     * @return 参数对象
     */
    Optional<SysParam> findByCodeAndDeletedFalse(String code);
    
    /**
     * 根据参数编码和启用状态查询参数
     * @param code 参数编码
     * @param enabled 启用状态
     * @return 参数对象
     */
    Optional<SysParam> findByCodeAndEnabledAndDeletedFalse(String code, Boolean enabled);
    
    /**
     * 根据参数类型查询参数列表
     * @param type 参数类型
     * @return 参数列表
     */
    List<SysParam> findByTypeAndDeletedFalse(String type);
    
    /**
     * 检查参数编码是否存在
     * @param code 参数编码
     * @return 是否存在
     */
    boolean existsByCodeAndDeletedFalse(String code);
} 