package com.fs.course.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fs.course.domain.FsUserCompanyUserQw;
import com.fs.qw.param.FsUserCompanyUserQwParam;
import com.fs.qw.vo.FsUserCompanyUserQwVO;
import org.apache.ibatis.annotations.Select;

/**
 * 微信用户和销售关系-企业微信自动的Mapper接口
 *
 * @author fs
 * @date 2025-10-23
 */
public interface FsUserCompanyUserQwMapper extends BaseMapper<FsUserCompanyUserQw>{
    /**
     * 查询微信用户和销售关系-企业微信自动的
     *
     * @param id 微信用户和销售关系-企业微信自动的主键
     * @return 微信用户和销售关系-企业微信自动的
     */
    FsUserCompanyUserQw selectFsUserCompanyUserQwById(Long id);

    /**
     * 查询微信用户和销售关系-企业微信自动的列表
     *
     * @param userQwParam 微信用户和销售关系-企业微信自动的
     * @return 微信用户和销售关系-企业微信自动的集合
     */
    List<FsUserCompanyUserQw> selectFsUserCompanyUserQwList(FsUserCompanyUserQw userQwParam);

    @Select("<script> " +
            "select cuq.id, cuq.user_id, cuq.project_id, cuq.create_time, cuq.remark, cu.nick_name as companyUserName  " +
            "from fs_user_company_user_qw cuq " +
            "left join  company_user cu on cuq.company_user_id=cu.user_id " +
            "</script> ")
    List<FsUserCompanyUserQwVO> selectFsUserCompanyUserQwListVO(FsUserCompanyUserQwParam userQwParam);

    /**
     * 新增微信用户和销售关系-企业微信自动的
     *
     * @param fsUserCompanyUserQw 微信用户和销售关系-企业微信自动的
     * @return 结果
     */
    int insertFsUserCompanyUserQw(FsUserCompanyUserQw fsUserCompanyUserQw);

    /**
     * 修改微信用户和销售关系-企业微信自动的
     *
     * @param fsUserCompanyUserQw 微信用户和销售关系-企业微信自动的
     * @return 结果
     */
    int updateFsUserCompanyUserQw(FsUserCompanyUserQw fsUserCompanyUserQw);

    /**
     * 删除微信用户和销售关系-企业微信自动的
     *
     * @param id 微信用户和销售关系-企业微信自动的主键
     * @return 结果
     */
    int deleteFsUserCompanyUserQwById(Long id);

    /**
     * 批量删除微信用户和销售关系-企业微信自动的
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteFsUserCompanyUserQwByIds(Long[] ids);
}
