package com.fs.survey.service;

import com.fs.survey.domain.SurveyFieldTypeMapping;

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

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

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

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

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

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

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

    /**
     * 根据tag获取类型映射
     *
     * @param tagName 组件tag名称
     * @param tagIcon 组件图标
     * @return 类型映射信息
     */
    public Map<String, Object> getTypeMappingByTag(String tagName, String tagIcon);

    /**
     * 初始化默认类型映射
     */
    public void initDefaultTypeMappings();
}
