package org.xyzh.system.mapper.user;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.xyzh.common.core.page.PageParam;
import org.xyzh.common.dto.sys.TbGuestDTO;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * @description    来客Mapper
 * @filename    TbGuestMapper.java
 * @author    yslg
 * @copyright xyzh
 * @since 2025-12-18
 */
@Mapper
public interface TbGuestMapper extends BaseMapper<TbGuestDTO>{
    
    /**
     * @description    插入来客
     * @param    guest    来客信息
     * @author    yslg
     * @since 2025-12-18
     */
    int insertGuest(TbGuestDTO guest);

    /**
     * @description    更新来客
     * @param    guest    来客信息
     * @author    yslg
     * @since 2025-12-18
     */
    int updateGuest(TbGuestDTO guest);

    /**
     * @description    删除来客
     * @param    userId    来客ID
     * @author    yslg
     * @since 2025-12-18
     */
    int deleteGuest(String userId);

    /**
     * @description    查询单个来客
     * @param    guest    来客信息
     * @author    yslg
     * @since 2025-12-18
     */
    TbGuestDTO selectGuestOne(TbGuestDTO guest);

    /**
     * @description    根据微信id查询来客
     * @param    wechatId
     * @author    yslg
     * @since 2025-12-18
     */
    TbGuestDTO selectGuestByWechatId(String wechatId);

    /**
     * @description    查询来客列表
     * @param    guest    来客信息
     * @author    yslg
     * @since 2025-12-18
     */
    List<TbGuestDTO> selectGuestList(TbGuestDTO guest);

    /**
     * @description    查询来客分页列表
     * @param    guest    来客信息
     * @param    pageParam    分页参数
     * @author    yslg
     * @since 2025-12-18
     */
    List<TbGuestDTO> selectGuestPage(TbGuestDTO guest, PageParam pageParam);

    int countGuest(TbGuestDTO guest);
}
