package com.fs.survey.mapper;

import com.fs.survey.domain.SurveyFieldTypeMapping;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 字段类型映射Mapper接口
 *
 */
public interface SurveyFieldTypeMappingMapper {
    /**
     * 查询字段类型映射
     *
     * @param id 字段类型映射主键
     * @return 字段类型映射
     */
    public SurveyFieldTypeMapping selectSurveyFieldTypeMappingById(Long id);

    /**
     * 查询字段类型映射列表
     *
     * @param surveyFieldTypeMapping 字段类型映射
     * @return 字段类型映射集合
     */
    public List<SurveyFieldTypeMapping> selectSurveyFieldTypeMappingList(SurveyFieldTypeMapping surveyFieldTypeMapping);

    /**
     * 根据tag和icon查询映射
     *
     * @param tagName 组件tag名称
     * @param tagIcon 组件图标
     * @return 字段类型映射
     */
    public SurveyFieldTypeMapping selectByTagAndIcon(@Param("tagName") String tagName, @Param("tagIcon") String tagIcon);

    /**
     * 新增字段类型映射
     *
     * @param surveyFieldTypeMapping 字段类型映射
     * @return 结果
     */
    public int insertSurveyFieldTypeMapping(SurveyFieldTypeMapping surveyFieldTypeMapping);

    /**
     * 修改字段类型映射
     *
     * @param surveyFieldTypeMapping 字段类型映射
     * @return 结果
     */
    public int updateSurveyFieldTypeMapping(SurveyFieldTypeMapping surveyFieldTypeMapping);

    /**
     * 删除字段类型映射
     *
     * @param id 字段类型映射主键
     * @return 结果
     */
    public int deleteSurveyFieldTypeMappingById(Long id);

    /**
     * 批量删除字段类型映射
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSurveyFieldTypeMappingByIds(Long[] ids);

    /**
     * 清空表
     */
    public void truncateTable();
}
