package com.gic.haoban.manage.service.dao.mapper;

import com.gic.haoban.manage.service.entity.TabQywxTagItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface QywxTagItemMapper {
    /**
     */
    int deleteByPrimaryKey(String qywxTagItemId);

    /**
     */
    int insert(TabQywxTagItem record);

    /**
     */
    int insertSelective(TabQywxTagItem record);

    /**
     */
    TabQywxTagItem selectByPrimaryKey(String qywxTagItemId);

    /**
     */
    int updateByPrimaryKeySelective(TabQywxTagItem record);

    /**
     */
    int updateByPrimaryKey(TabQywxTagItem record);

    /**
     * 根据id 获取标签项信息
     *
     * @param wxEnterpriseId
     * @param qywxTagId
     * @return
     */
    List<TabQywxTagItem> listByQywxTagId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagId") String qywxTagId);

    /**
     * 根据企业微信标签组key 获取标签项信息
     *
     * @param wxEnterpriseId
     * @param qywxTagGroupKey
     * @return
     */
    List<TabQywxTagItem> listByQywxTagGroupKey(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagGroupKey") String qywxTagGroupKey);

    /**
     * 根据企业微信标签组key 获取标签项信息
     *
     * @param wxEnterpriseId
     * @param qywxTagGroupKey
     * @return
     */
    int delByQywxTagGroupKey(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagGroupKey") String qywxTagGroupKey);

    /**
     * 根据id 获取标签项信息
     *
     * @param wxEnterpriseId
     * @param qywxTagKey
     * @return
     */
    TabQywxTagItem getByQywxTagKey(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagKey") String qywxTagKey);

    /**
     * 根据id 获取标签项信息
     *
     * @param wxEnterpriseId
     * @param ids
     * @return
     */
    List<TabQywxTagItem> listByQywxTagItemsIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("ids") List<String> ids);

    /**
     * 根据id 获取标签项信息
     *
     * @param wxEnterpriseId
     * @param qywxTagKeys
     * @return
     */
    List<TabQywxTagItem> listByQywxTagItemsKeys(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagKeys") List<String> qywxTagKeys);
}