package com.yd.csf.service.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.appointment.ApiAppointmentLogPageRequest;
import com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest;
import com.yd.csf.feign.response.appointment.ApiAppointmentLogPageResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import com.yd.csf.feign.dto.appointmentfile.ItineraryDto;
import com.yd.csf.service.model.Appointment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 预约信息主表 Mapper 接口
 * </p>
 *
 * @author zxm
 * @since 2025-09-01
 */
public interface AppointmentMapper extends BaseMapper<Appointment> {

    IPage<ApiAppointmentPageResponse> page(@Param("page") Page<ApiAppointmentPageResponse> page,
                                           @Param("request") ApiAppointmentPageRequest request);

    //获取行程单的数据
    ItineraryDto getItineraryDto(@Param("appointmentBizId") String appointmentBizId);

    Integer updateDelStatus(@Param("appointmentBizId") String appointmentBizId);

    IPage<ApiAppointmentLogPageResponse> logPage(@Param("page") Page<ApiAppointmentLogPageResponse> page,
                                                 @Param("request") ApiAppointmentLogPageRequest request);
}
