package com.iailab.module.model.job.dao;

import com.baomidou.dynamic.datasource.annotation.Master;
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.module.model.job.entity.ScheduleJobEntity;
import com.iailab.module.model.job.vo.ScheduleJobReqVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Map;

/**
 * 定时任务
 *
 * @author Mark sunlightcs@gmail.com
 */
@Master
@Mapper
public interface ScheduleJobDao extends BaseMapperX<ScheduleJobEntity> {

	default PageResult<ScheduleJobEntity> selectPage(ScheduleJobReqVO reqVO) {
		return selectPage(reqVO, new LambdaQueryWrapperX<ScheduleJobEntity>()
				.likeIfPresent(ScheduleJobEntity::getBeanName, reqVO.getBeanName())
				.eqIfPresent(ScheduleJobEntity::getTenantId, reqVO.getTenantId())
				.orderByDesc(ScheduleJobEntity::getCreateDate));

	}
	
	/**
	 * 批量更新状态
	 */
	int updateBatch(Map<String, Object> map);
}