package com.xhkjedu.slive.mapper.agora;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.slive.model.agora.TAgoralicense;
import com.xhkjedu.slive.vo.agora.AgoralicenseUserVo;
import com.xhkjedu.slive.vo.agora.AgoralicenseVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AgoralicenseMapper extends TkMapper<TAgoralicense> {
    //列表
    List<AgoralicenseVo> listAll(@Param("license") TAgoralicense license);

    //进入直播绑定license
    AgoralicenseVo inLive(Integer userid);

    //学生退出直播解绑license
    void outLive(Integer userid);

    //更新失效的license的激活状态
    void updateActivate(@Param("nowtime") Integer nowtime);

    void endLive2(@Param("license") AgoralicenseUserVo license);

    //获取未激活license
    AgoralicenseVo getLicense();

    //获取学校正在使用直播人数
    Integer getUseNum(@Param("schoolid") Integer schoolid, @Param("userid") Integer userid);

    //获取已激活license
    AgoralicenseVo getActivatedLicense();

    //处理未释放的授权
    void updateLicense();
}