package com.yonge.cooleshow.biz.dal.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.yonge.cooleshow.biz.dal.entity.TenantAlbumMusic;
import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumMusicWrapper;

/**
 * 机构专辑曲目
 * 2023-07-21 17:32:49
 */
@Repository
public interface TenantAlbumMusicMapper extends BaseMapper<TenantAlbumMusic> {

	/**
	 * 分页查询
	 * @param page IPage<TenantAlbumMusicWrapper.TenantAlbumMusic>
	 * @param param TenantAlbumMusicWrapper.TenantAlbumMusicQuery
	 * @return List<TenantAlbumMusicWrapper.TenantAlbumMusic>
	 */
	List<TenantAlbumMusicWrapper.StudentTenantAlbumMusic> selectPage(@Param("page") IPage<TenantAlbumMusicWrapper.StudentTenantAlbumMusic> page, @Param("param") TenantAlbumMusicWrapper.StudentTenantAlbumMusicQuery param);

	List<Long> selectMusicSheetIds(@Param("albumId") String albumId, @Param("subjectType") String s, @Param("type") String type, @Param("level") String level);

    /**
     * 获取机构专辑曲目ID集合
     *
     * @param tenantId 机构ID
     */
    List<Long> selectMusicIdsByTenantIds(@Param("tenantId") Long tenantId);

    /**
     * 获取专辑可使用的曲目
     */
    List<TenantAlbumMusic> getByAlbumAndEnable(@Param("tenantAlbumIds") List<Long> tenantAlbumIds);
}