
package com.tmerclub.cloud.im.mapper;

import com.tmerclub.cloud.im.model.ImMsgBizEmployeeRecent;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 员工最近聊天记录表
 *
 * @author tmerclub
 * @date 2021-08-25 13:58:56
 */
public interface ImMsgBizEmployeeRecentMapper {

    /**
     * 获取员工最近聊天记录表列表
     * @param sendType 分页参数
     * @param bizId 平台或商家id
     * @param employeeId 平台或商家的员工id
     * @return 员工最近聊天记录表列表
     */
    List<ImMsgBizEmployeeRecent> listBySendTypeAndBizIdAndEmployeeId(@Param("sendType") Integer sendType, @Param("bizId") Long bizId, @Param("employeeId") Long employeeId);

    /**
     * 根据员工最近聊天记录表id获取员工最近聊天记录表
     *
     * @param id 员工最近聊天记录表id
     * @return 员工最近聊天记录表
     */
    ImMsgBizEmployeeRecent getById(@Param("id") Long id);

    /**
     * 获取员工最近聊天记录表列表
     * @param sendType 分页参数
     * @param bizId 平台或商家id
     * @param employeeId 平台或商家的员工id
     * @param userId 用户id
     * @return 员工最近聊天记录表列表
     */
    ImMsgBizEmployeeRecent getBySendTypeBizIdEmployeeIdUserId(@Param("sendType") Integer sendType, @Param("bizId") Long bizId, @Param("employeeId") Long employeeId, @Param("userId") Long userId);

    /**
     * 保存员工最近聊天记录表
     * @param imMsgBizEmployeeRecent 员工最近聊天记录表
     */
    void save(@Param("imMsgBizEmployeeRecent") ImMsgBizEmployeeRecent imMsgBizEmployeeRecent);

    /**
     * 更新员工最近聊天记录表
     * @param imMsgBizEmployeeRecent 员工最近聊天记录表
     */
    void update(@Param("imMsgBizEmployeeRecent") ImMsgBizEmployeeRecent imMsgBizEmployeeRecent);

    /**
     * 根据员工最近聊天记录表id删除员工最近聊天记录表
     * @param id 消息id
     */
    void deleteById(@Param("id") Long id);

    /**
     * 更新客服未读条数
     * @param sendType
     * @param id
     * @param shopId
     * @param employeeId
     * @param userId
     */
    void updateEmployeeUnreadMsgNum(@Param("sendType") Integer sendType, @Param("id") Long id, @Param("shopId") Long shopId, @Param("employeeId") Long employeeId, @Param("userId") Long userId);
}
