package com.yd.csf.service.service;

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.extension.service.IService;

/**
 * <p>
 * 预约信息主表 服务类
 * </p>
 *
 * @author zxm
 * @since 2025-09-01
 */
public interface IAppointmentService extends IService<Appointment> {

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

    Appointment queryOne(String appointmentBizId);

    ItineraryDto getItineraryDto(String appointmentBizId);

    void del(String appointmentBizId);

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