package com.iailab.module.model.mcs.sche.dao;

import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity;
import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestPageReqVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.Map;

/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年09月06日
 */
@TenantDS
@Mapper
public interface StScheduleSuggestDao extends BaseMapperX<StScheduleSuggestEntity> {

    default PageResult<StScheduleSuggestEntity> selectPage(StScheduleSuggestPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<StScheduleSuggestEntity>()
                .likeIfPresent(StScheduleSuggestEntity::getTitle, reqVO.getTitle())
                .likeIfPresent(StScheduleSuggestEntity::getScheduleObj, reqVO.getScheduleObj())
                .orderByDesc(StScheduleSuggestEntity::getCreateTime));
    }

    void cleanScheduleSuggest(Map<String, Date> tMap);
}