package com.xinyilu.system.mapper.motionprescriptionvideo;

import com.xinyilu.system.domain.motionprescriptionvideo.MotionPrescriptionVideo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 运动处方库干预视频信息Mapper接口
 *
 * @author xinyilu
 * @date 2023-04-04
 */
public interface MotionPrescriptionVideoMapper {
    /**
     * 查询运动处方库干预视频信息
     *
     * @param id 运动处方库干预视频信息主键
     * @return 运动处方库干预视频信息
     */
    MotionPrescriptionVideo selectMotionPrescriptionVideoById(Long id);

    /**
     * 查询运动处方库干预视频信息列表
     *
     * @param motionPrescriptionVideo 运动处方库干预视频信息
     * @return 运动处方库干预视频信息集合
     */
    List<MotionPrescriptionVideo> selectMotionPrescriptionVideoList(MotionPrescriptionVideo motionPrescriptionVideo);

    /**
     * 新增运动处方库干预视频信息
     *
     * @param motionPrescriptionVideo 运动处方库干预视频信息
     * @return 结果
     */
    int insertMotionPrescriptionVideo(MotionPrescriptionVideo motionPrescriptionVideo);

    /**
     * 修改运动处方库干预视频信息
     *
     * @param motionPrescriptionVideo 运动处方库干预视频信息
     * @return 结果
     */
    int updateMotionPrescriptionVideo(MotionPrescriptionVideo motionPrescriptionVideo);

    /**
     * 删除运动处方库干预视频信息
     *
     * @param id 运动处方库干预视频信息主键
     * @return 结果
     */
    int deleteMotionPrescriptionVideoById(Long id);

    /**
     * 批量删除运动处方库干预视频信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteMotionPrescriptionVideoByIds(Long[] ids);

    /**
     * 批量新增运动处方视频信息
     *
     * @param videoList 视频路径集合
     * @return 新增数量
     */
    int insertMotionPrescriptionVideoList(@Param("videoList") List<MotionPrescriptionVideo> videoList);

    /**
     * 查询运动处方库干预视频路径集合
     *
     * @param motionPrescriptionId 运动处方库id
     * @return 运动处方库干预视频信息集合
     */
    List<String> getMotionPrescriptionVideoUrlList(Long motionPrescriptionId);

    /**
     * 批量删除运动处方库干预视频信息
     *
     * @param urlList 干预视频集合
     * @return 结果
     */
    int deleteMotionPrescriptionVideoByUrls(@Param("urlList") List<String> urlList);
}
