package com.ningdatech.carapi.car.vehicle.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ningdatech.carapi.car.vehicle.model.NdVehicleBaseInfoJoin;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author PoffyZhang
 * @since 2022-10-09
 */
public interface IVehicleBaseInfoJoinService extends IService<NdVehicleBaseInfoJoin> {

    Page<NdVehicleBaseInfoJoin> pageJoin(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);
    Page<NdVehicleBaseInfoJoin> pageJoinWithUseCompany(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);
    Page<NdVehicleBaseInfoJoin> pageOpenJoin(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);

    NdVehicleBaseInfoJoin oneJoin(LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);

    Page<NdVehicleBaseInfoJoin> pageJoinWithEquipment(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);
    Page<NdVehicleBaseInfoJoin> pageJoinWithEquipmentAndUseCompany(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);

    Page<NdVehicleBaseInfoJoin> pageJoinWithEquipmentOpen(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);

    NdVehicleBaseInfoJoin oneJoinWithEquipment(LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);

    List<NdVehicleBaseInfoJoin> listJoin(LambdaQueryWrapper<NdVehicleBaseInfoJoin> in);

    List<NdVehicleBaseInfoJoin> listCarJoin(LambdaQueryWrapper<NdVehicleBaseInfoJoin> in);
    List<NdVehicleBaseInfoJoin> listCarJoinWithUseCompany(LambdaQueryWrapper<NdVehicleBaseInfoJoin> in);

    Page<NdVehicleBaseInfoJoin> pageJoinWithNotEquipment(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);
    Page<NdVehicleBaseInfoJoin> pageJoinWithNotEquipmentAndUseCompany(Page<NdVehicleBaseInfoJoin> page, LambdaQueryWrapper<NdVehicleBaseInfoJoin> wrapper);
}
