package com.xhkjedu.slive.mapper.xz;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.slive.model.xz.LXz;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

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

/**
 * @Deprecated  直播行政概要表
 * @Duthor wn
 * @Date 2022/3/30 12:01
 */
@Repository
public interface XzMapper extends TkMapper<LXz> {

    //行政直播列表
    List<Map> listXzs(@Param("xz") LXz xz);

    //行政直播课对应的课程已开课数量
    Integer getXzSectionKsNum(@Param("xzid") Integer xzid);

    //获取行政直播信息
    Map getXzByXzid(@Param("xzid") Integer xzid);

    //删除行政直播下所有的直播课程和直播班级
    void deleteCourseClassByXzid(@Param("xzid") Integer xzid);

    //删除行政直播和课节详情
    void deleteXzAndKjByXzid(@Param("xzid") Integer xzid);

    //删除行政直播下未开始的直播课、班级、课节详情
    void deleteCourseClassKjByXzid(@Param("xzid") Integer xzid);

    //修改行政直播删除状态
    void updateXzDeleted(@Param("deleted") Integer deleted,@Param("xzid") Integer xzid);

    //保存完行政直播后生成的课节基本信息
    List<Map> listXzKjsAfterSaveXz(@Param("xzid") Integer xzid);

    //取指定课节指定日期所有班级的课程和教师
    List<Map> listXzDateKjDetail(@Param("selectdate") String selectdate, @Param("xzid") Integer xzid,
                                 @Param("classid") Integer classid);

    //获取指定课节班级对应的课程的日期
    List<String> getAllDatesForKj(@Param("kjid") Integer kjid, @Param("classid") Integer classid,
                                  @Param("seldate") String seldate);

    //根据课节id获取行政直播详情
    LXz getXzByXzkjid(@Param("kjid") Integer kjid);

    //修改课程表操作步骤
    void updateCurstepByXzid(@Param("curstep") Integer curstep, @Param("xzid") Integer xzid);

    //修改保存状态
    void updateSaveState(@Param("xzid") Integer xzid, @Param("savestate") int savestate);

    //获取保存状态
    Integer getSaveStateById(@Param("xzid") Integer xzid);
}
