package com.fs.qw.mapper;

import com.fs.qw.domain.QwContactBatch;
import com.fs.qw.vo.QwContactBatchListVO;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 企微公海Mapper接口
 *
 * @author fs
 * @date 2024-07-12
 */
public interface QwContactBatchMapper
{
    /**
     * 查询企微公海
     *
     * @param id 企微公海主键
     * @return 企微公海
     */
    public QwContactBatch selectQwContactBatchById(Long id);
    @Select(" select b.*,u.nick_name from qw_contact_batch b " +
            "LEFT JOIN company_user u " +
            "on  u.user_id=b.company_user_id " +
            "WHERE b.id=#{id} ")
    public QwContactBatchListVO selectQwContactBatchByIdVO(Long id);

    /**
     * 查询企微公海列表
     *
     * @param qwContactBatch 企微公海
     * @return 企微公海集合
     */
    public List<QwContactBatch> selectQwContactBatchList(QwContactBatch qwContactBatch);

    /**
     * 新增企微公海
     *
     * @param qwContactBatch 企微公海
     * @return 结果
     */
    public int insertQwContactBatch(QwContactBatch qwContactBatch);

    /**
     * 修改企微公海
     *
     * @param qwContactBatch 企微公海
     * @return 结果
     */
    public int updateQwContactBatch(QwContactBatch qwContactBatch);

    /**
     * 删除企微公海
     *
     * @param id 企微公海主键
     * @return 结果
     */
    public int deleteQwContactBatchById(Long id);

    /**
     * 批量删除企微公海
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQwContactBatchByIds(Long[] ids);
    @Select({"<script> " +
            " select b.*,u.nick_name from qw_contact_batch b LEFT JOIN company_user u on  u.user_id=b.company_user_id"+
            "<where>\n" +
            "            <if test=\"phone != null  and phone != ''\"> and b.phone = #{phone}</if>\n" +
            "            <if test=\"tagIds != null  and tagIds != ''\"> and b.tag_ids = #{tagIds}</if>\n" +
            "            <if test=\"status != null \"> and b.status = #{status}</if>\n" +
            "            <if test=\"userId != null \"> and b.user_id = #{userId}</if>\n" +
            "            <if test=\"num != null \"> and b.num = #{num}</if>\n" +
            "            <if test=\"companyUserId != null \"> and b.company_user_id = #{companyUserId}</if>\n" +
            "            <if test=\"companyId != null \"> and b.company_id = #{companyId}</if>\n" +
            "</where>"+
            "</script>"})
    List<QwContactBatchListVO> selectQwContactBatchListVO(QwContactBatch qwContactBatch);
}
