package com.xhkjedu.sstudy.mapper.resource;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.sstudy.model.resource.TResource;
import com.xhkjedu.sstudy.vo.resource.ResourceVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

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

@Repository
public interface ResourceMapper extends TkMapper<TResource> {
    //删除
    Integer deleteById(@Param("resourceid") String resourceid);

    Integer deleteByIdReal(@Param("resourceid") String resourceid);

    //详情
    ResourceVo findById(@Param("resourceid") String resourceid);
    ResourceVo findById2(@Param("resourceid") String resourceid);

    //列表
    List<Map> findAll(@Param("resource") TResource tResource);

    //更新下载次数
    void updateDownCount(@Param("resourceid") String resourceid);

    //判断资源是否已经分享到校本
    Integer getLevelResourceForxb(@Param("resource") TResource resource);


    //学生同步视频资源列表
    List<TResource> studentVideoList(@Param("resource") TResource resource);

    /**
     * 更新阅读次数
     * @Param [resourceid]
     * @Author ywx
     * @Date 2020/7/2 14:33
     * @return java.lang.Integer
     **/
    Integer updateReadCount(String resourceid);

    /**
     * 教师备课、预习导学资源列表
     * @Param [resource]
     * @Author ywx
     * @Date 2020/7/9 11:44
     * @return java.util.List<com.xhkjedu.model.resource.TResource>
     **/
    List<Map> listMyResource(@Param("resource") TResource resource);


    /**
     * 获取资源分享到预习导学的资源id
     * @Param [resourceid, createid]
     * @Author ywx
     * @Date 2020/7/16 8:47
     * @return java.lang.Integer
     **/
    String getResourceIdForyx(@Param("resource") TResource resource);

    //////////////////////////////////////////////学生WEB端//////////////////////////////////////////////
    /**
     * 同步视频列表
     * @Param [resource]
     * @Author ywx
     * @Date 2020/9/3 17:45
     * @return java.util.List<com.xhkjedu.model.resource.TResource>
     **/
    List<TResource> studentVideoWebList(@Param("resource") TResource resource);


    //转换pdf
    void convert(@Param("resourceid") String resourceid, @Param("pdfurl") String pdfurl);

    //根据模块和资源id获取资源数量
    Integer getResourceNumByLevelAndResourceid(@Param("resourceid") String resourceid);

    //获取分享的伙伴校
    List<Map<String, Object>> listSharePartnerSchool(@Param("resourceid") String resourceid);

    //获取资源详情及关联章节、伙伴校
    TResource getResourceAndSchoolById(@Param("resourceid") String resourceid);

    //更新分享过伙伴校资源的时间
    void batchUpdateTime(@Param("list") List<Integer> schoolIds,@Param("resourceid") String resourceid
            ,@Param("timestamp") int timestamp);

    //资源是否分享过
    List<Map<String, String>> listShareNumByIds(@Param("shareqids") String shareqids);

    //获取flv资源
    List<TResource> listFlvResources();

    //修改资源flv编码
    int updateFlvResconverted(@Param("resourceid")String resourceid, @Param("mp4code")String mp4code);

    //更改flv编码
    int updateFlvMp4code(@Param("resourceid")String resourceid, @Param("mp4code")String mp4code);
}
