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

import com.gic.haoban.manage.service.entity.contact.TabContactLog;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 建联日志表(TabContactLog)表数据库访问层
 *
 * @author TONGYI Lingma
 * @since 2024-09-27 16:09:38
 */
public interface TabContactLogMapper {

    /**
     * 通过ID查询单条数据
     *
     * @param logId 主键
     * @return 实例对象
     */
    TabContactLog queryById(Long logId);

    /**
     * 通过ID列表查询多条数据
     * @param logIds
     * @return
     */
    List<TabContactLog> queryByIds(@Param("logIds") List<Long> logIds);

    /**
     * 查询最后一次建联记录
     * @param memberId
     * @param clerkId
     * @return
     */
    List<TabContactLog> queryLastLog(@Param("memberId")String memberId, @Param("clerkId")String clerkId, @Param("beginTime")Date beginTime, @Param("endTime")Date endTime);

    /**
     * 统计总行数
     *
     * @param tabContactLog 查询条件
     * @return 总行数
     */
    long count(TabContactLog tabContactLog);

    /**
     * 新增数据
     *
     * @param tabContactLog 实例对象
     * @return 影响行数
     */
    int insert(TabContactLog tabContactLog);

    /**
     * 修改数据
     *
     * @param tabContactLog 实例对象
     * @return 影响行数
     */
    int update(TabContactLog tabContactLog);

    /**
     * 通过主键删除数据
     *
     * @param logId 主键
     * @return 影响行数
     */
    int deleteById(@Param("logId") Long logId);
}