package com.gci.boot.modules.vehicles.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gci.boot.modules.vehicles.entity.TbAnnualInspectionInfo;
import com.gci.boot.modules.vehicles.entity.TbAnnualInspectionRemind;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 年检提醒 服务类
 * </p>
 *
 * @author 2464
 * @since 2023-11-16
 */
public interface ITbAnnualInspectionRemindService extends IService<TbAnnualInspectionRemind> {

    /**
     * 根据车牌重算年检信息
     */
    void recalculate(String plateNumber);

    IPage<TbAnnualInspectionRemind> pageBuild(Page<TbAnnualInspectionRemind> page, LambdaQueryWrapper<TbAnnualInspectionRemind> lambdaQueryWrapper);

    /**
     * 每日更新日期数据
     */
    void  updateDate();

    /**
     * 初始化
     */
    void init();

    /**
     * 构建实体类
     * @param tbAnnualInspectionInfo
     * @return
     */
    TbAnnualInspectionRemind buildRemind(TbAnnualInspectionInfo tbAnnualInspectionInfo);

    /**
     * 查找实体类
     * @param tbAnnualInspectionInfo
     * @return
     */
    TbAnnualInspectionRemind findRemind(TbAnnualInspectionInfo tbAnnualInspectionInfo);
}
