package com.xzzn.ems.mapper;

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

import com.xzzn.ems.domain.EmsStrategyTemp;
import org.apache.ibatis.annotations.Param;

/**
 * 模板Mapper接口
 *
 * @author xzzn
 * @date 2025-07-11
 */
public interface EmsStrategyTempMapper
{
    /**
     * 查询模板
     *
     * @param id 模板主键
     * @return 模板
     */
    public EmsStrategyTemp selectEmsStrategyTempById(Long id);

    /**
     * 查询模板列表
     *
     * @param emsStrategyTemp 模板
     * @return 模板集合
     */
    public List<EmsStrategyTemp> selectEmsStrategyTempList(EmsStrategyTemp emsStrategyTemp);

    /**
     * 新增模板
     *
     * @param emsStrategyTemp 模板
     * @return 结果
     */
    public int insertEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp);

    /**
     * 修改模板
     *
     * @param emsStrategyTemp 模板
     * @return 结果
     */
    public int updateEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp);

    /**
     * 删除模板
     *
     * @param id 模板主键
     * @return 结果
     */
    public int deleteEmsStrategyTempById(Long id);

    /**
     * 批量删除模板
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEmsStrategyTempByIds(Long[] ids);

    // 获取模板名称和id
    public List<Map<String,String>> getTempNameList(@Param("strategyId")Long strategyId, @Param("siteId")String siteId);

    // 根据模板id获取模板所有的时间配置
    public List<EmsStrategyTemp> selectStrategyTempByTempId(String templateId);

    // 根据模板id全部删除
    public int deleteTempByTempId(String templateId);

    // 获取站点和策略下的模板信息
    public List<EmsStrategyTemp> getTempListBySiteIdAndStrategyId(@Param("siteId") String siteId, @Param("strategyId")Long strategyId);
}
