package com.dgtly.system.mapper;

import com.dgtly.system.domain.AlertConfiguration;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 弹框配置Mapper接口
 * 
 * @author chenyn
 * @date 2023-06-13
 */
public interface AlertConfigurationMapper 
{
    /**
     * 查询弹框配置
     * 
     * @param alertId 弹框配置ID
     * @return 弹框配置
     */
    public AlertConfiguration selectAlertConfigurationById(Long alertId);

    public List<AlertConfiguration> selectAlertConfigurationByAlertStatus();


    /**
     * 查询弹框配置列表
     * 
     * @param alertConfiguration 弹框配置
     * @return 弹框配置集合
     */
    public List<AlertConfiguration> selectAlertConfigurationList(AlertConfiguration alertConfiguration);

    public List<AlertConfiguration> selectAlertConfigurationListFilter(AlertConfiguration alertConfiguration);

    /**
     * 新增弹框配置
     * 
     * @param alertConfiguration 弹框配置
     * @return 结果
     */
    public int insertAlertConfiguration(AlertConfiguration alertConfiguration);

    /**
     * 修改弹框配置
     * 
     * @param alertConfiguration 弹框配置
     * @return 结果
     */
    public int updateAlertConfiguration(AlertConfiguration alertConfiguration);

    /**
     * 删除弹框配置
     * 
     * @param alertId 弹框配置ID
     * @return 结果
     */
    public int deleteAlertConfigurationById(Long alertId);

    /**
     * 批量删除弹框配置
     * 
     * @param alertIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteAlertConfigurationByIds(String[] alertIds);

    public List<String> selectOrgCode(@Param("parType") String parType,@Param("parValue") String parValue);

    public List<String> selectOrgCodeByInterface(@Param("parType") String parType,@Param("parValue") String parValue);

    List<Map<String, Object>> searchProductParamByCustomerCode(@Param("salesLevel")String salesLevel, @Param("orgCode")String orgCode, @Param("groupByStr") String groupByStr);
}
