package com.bonus.material.basic.service;

import java.util.List;
import com.bonus.material.basic.domain.BmConfig;

/**
 * 功能参数配置Service接口
 * 
 * @author xsheng
 * @date 2024-09-26
 */
public interface IBmConfigService 
{
    /**
     * 查询功能参数配置
     * 
     * @param id 功能参数配置主键
     * @return 功能参数配置
     */
    public BmConfig selectBmConfigById(Long id);


    /**
     * 查询功能参数配置
     *
     * @param itemName 功能参数配置名称
     * @return 功能参数配置
     */
    public BmConfig selectBmConfigByItemName(String itemName);

    /**
     * 查询功能参数配置列表
     * 
     * @param bmConfig 功能参数配置
     * @return 功能参数配置集合
     */
    public List<BmConfig> selectBmConfigList(BmConfig bmConfig);

    /**
     * 新增功能参数配置
     * 
     * @param bmConfig 功能参数配置
     * @return 结果
     */
    public int insertBmConfig(BmConfig bmConfig);

    /**
     * 修改功能参数配置
     * 
     * @param bmConfig 功能参数配置
     * @return 结果
     */
    public int updateBmConfig(BmConfig bmConfig);

    /**
     * 批量删除功能参数配置
     * 
     * @param ids 需要删除的功能参数配置主键集合
     * @return 结果
     */
    public int deleteBmConfigByIds(Long[] ids);

    /**
     * 删除功能参数配置信息
     * 
     * @param id 功能参数配置主键
     * @return 结果
     */
    public int deleteBmConfigById(Long id);

    public boolean isBmConfigEnabledWithDefaultFalse(String itemName);

    public boolean isBmConfigEnabledWithDefaultTrue(String itemName);

    public List<String> getBmConfigResultAsList(String itemName);

//    public List<String> getLeaseTaskAuditRoleIds();
//
//    public List<String> getBackTaskAuditRoleIds();
}
