package jnpf.cultivate.service;

import com.github.pagehelper.PageInfo;
import jnpf.model.cultivate.req.learn.QueryLearnTaskListReq;
import jnpf.model.cultivate.vo.learn.FtbCultivateLearnTaskInfoListVO;
import jnpf.model.cultivate.vo.learn.WebLearnTaskDto;

import java.util.List;
import java.util.Map;

/**
 * 学习任务列表信息
 *
 * @Author: 许贵林
 * @create: 2024/9/9:14:47
 */
public interface FtbCultivateLearnTaskListService {

    /**
     * web端查询任务列表接口
     * @param req
     * @return
     */
    PageInfo<FtbCultivateLearnTaskInfoListVO> getWebPageList(QueryLearnTaskListReq req);

    /**
     * web端统计所有任务数量接口
     * @return
     */
    WebLearnTaskDto countTaskNumber();

    /**
     * 分类统计任务数量
     * @return
     */
    Map<String, Integer> groupCountCateNum();

    /**
     * 查询分类下是否有任务
     *
     * @param cateIds 分类IDS
     * @return true-有   false-没有
     */
    Boolean checkHasTask(List<String> cateIds);


    /**
     * 预更新任务状态
     */
    void preUpdateTaskStatus(String tenantId);
}
