package com.qmth.distributed.print.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qmth.distributed.print.business.entity.TBSyncTask;
import com.qmth.teachcloud.common.bean.result.SyncListResult;
import com.qmth.teachcloud.common.enums.PushTypeEnum;
import com.qmth.teachcloud.common.enums.TaskResultEnum;
import com.qmth.teachcloud.common.enums.TaskStatusEnum;
import org.apache.ibatis.annotations.Param;

import java.util.Set;

/**
 * <p>
 * 同步数据 Mapper 接口
 * </p>
 */
public interface TBSyncTaskMapper extends BaseMapper<TBSyncTask> {

    /**
     * 同步任务管理分页查询
     * @param iPage 分页参数
     * @param schoolId 学校id
     * @param status 任务状态
     * @param type 同步任务类型
     * @param result 任务结果
     * @param createId 创建人主键
     * @param orgIds 数据权限集合
     * @return 分页结果
     */
    IPage<SyncListResult> query(@Param("iPage") Page<SyncListResult> iPage,
                                @Param("schoolId") Long schoolId,
                                @Param("status") TaskStatusEnum status,
                                @Param("type") PushTypeEnum type,
                                @Param("result") TaskResultEnum result,
                                @Param("createId") Long createId,
                                @Param("orgIds") Set<Long> orgIds);
}
