package com.nbclass.activity.mapper;

import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.nbclass.activity.model.DataDict;
import com.nbclass.activity.model.DataDictItem;
import com.nbclass.util.MyMapper;

public interface DataDictMapper extends MyMapper<DataDict> {

	/**
	 * 根据条件查询列表
	 * @param entity
	 * @return
	 */
	public List<DataDict> getList(DataDict entity);

	/**
	 * 删除前验证
	 * @param list
	 * @return
	 */
	public Long delCheck(List<Long> list);

    /**
     * 根据id批量删除记录
     * @param list
     */
    public void deleteByIds(List<Long> list);

	/**
	 * 通过字典Key获取子集
	 * @param datakey
	 * @return
	 */
	public List<DataDictItem> getItemsByKey(@Param(value="datakey")String datakey);

	/**
	 * 根据字典名获取列表
	 * @param datakey
	 * @param tagNames
	 * @return
	 */
	public List<DataDictItem> getItemsByNames(@Param(value="datakey")String datakey, @Param("tagNames")List<String> tagNames);

	/**
	 * 保存字典item
	 * @param entity
	 */
	public void insertDataDictItem(DataDictItem entity);

	/**
	 * 根据标签名称查询标签信息
	 * @param postTagList
	 * @return
	 */
	List<DataDictItem> getDataDictTemName(@Param("tagNames")ArrayList<String> postTagList);

	/**
	 * 获取所有标签
	 * @return
	 */
	List<Long> getDataDictID();

	/**
	 * 查询字典值是否重复
	 * @param name
	 * @return
	 */
	int getDataDicName(String name);

	/**
	 * 获取自定义标签id
	 * @return
	 */
    Long getDataDictIDLabels();

}
