package com.sptg.estate.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.sptg.common.core.beans.ResultBean;
import com.sptg.estate.api.dto.GuestRecordDto;
import com.sptg.estate.api.entity.GuestRecord;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;
import java.util.Map;

/**
 * title: GuestRecordServiceInterface
 * package: com.sptg.estate.biz.security
 * description:访客信息登记记录 服务层接口
 *
 *
 *
 */
public interface GuestRecordServiceInterface {

    /**
     * 功能描述:访客登记信息记录
     * @param guestRecordDto 访客登记信息记录对象（含分页及查询条件）
     * @return  Page<GuestRecord>
     *
     *
     */
    Page<GuestRecord> showGuestRecordList(GuestRecordDto guestRecordDto);

    /**
     * 功能描述:新增访客登记信息记录
     * @param guestRecord 访客登记信息记录对象
     * @return ResultBean<GuestRecord>
     *
     *
     */
    ResultBean<GuestRecord> addGuestRecord(GuestRecord guestRecord);

    /**
     * 功能描述:根据Id查访客登记信息记录
     * @param id 必填
     * @return AccessRecords
     *
     *
     */
    GuestRecord findGuestRecordById(Long id);

    /**
     * 功能描述:编辑访客登记信息记录
     * @param guestRecord 访客登记信息记录对象
     * @return ResultBean<Boolean>
     *
     *
     */
    ResultBean<Boolean> updateGuestRecord(GuestRecord guestRecord);

    /**
     * 功能描述:删除访客登记信息记录
     * @param guestRecordDto 访客登记信息记录对象
     * @return ResultBean<Boolean>
     *
     *
     */
    ResultBean<Boolean> deleteGuestRecord(GuestRecordDto guestRecordDto);


    /**
     * 功能描述:根据userId查询访客登记信息记录
     * @param userIds
     * @return ResultBean<GuestRecord>
     *
     *
     */
    ResultBean<GuestRecord> getListByUserId(List<Long> userIds);

    /**
     * 功能描述: 通过条件获取访客登记信息记录
     * @param guestRecord
     * @return List<GuestRecord>
     *
     *
     */
    List<GuestRecord> findByCondition(GuestRecord guestRecord);

}
