package com.qmth.exam.reserve.service;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.boot.core.collection.PageResult;
import com.qmth.exam.reserve.bean.category.CategoryInfo;
import com.qmth.exam.reserve.bean.login.LoginUser;
import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
import com.qmth.exam.reserve.bean.teaching.TeachingReq;
import com.qmth.exam.reserve.bean.teaching.TeachingSaveReq;
import com.qmth.exam.reserve.bean.teaching.TeachingSingleVO;
import com.qmth.exam.reserve.bean.teaching.TeachingVO;
import com.qmth.exam.reserve.entity.CategoryEntity;

public interface CategoryService extends IService<CategoryEntity> {

    List<CategoryVO> listTeaching(LoginUser user, Boolean flag);

    List<CategoryInfo> getCategoryTreeForStudent(LoginUser loginUser);

    PageResult<TeachingVO> page(TeachingReq req);

    void saveTeaching(LoginUser user, TeachingSaveReq req);

    void enable(Long id, Boolean enable);

    List<CategoryVO> listCity(LoginUser user);

    List<Map<String, Object>> importTeaching(LoginUser user, InputStream inputStream);

    void updateTeachingCapacity(Long teachingId);

    TeachingSingleVO getTeaching(Long id);
}
