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

import java.util.List;

import com.yonge.cooleshow.biz.dal.entity.Subject;
import com.yonge.cooleshow.biz.dal.queryInfo.SubjectQueryInfo;
import com.yonge.toolset.mybatis.page.PageInfo;
import com.yonge.toolset.mybatis.service.BaseService;

public interface SubjectService extends BaseService<Long, Subject> {
	/***
	 * 通过id集合查询声部
	 * @param: subjectIdList
	 * @updateTime 2022/4/6 11:27
	 * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
	 */
	List<Subject> findBySubjectByIdList(List<Long> subjectIdList);
	/***
	 * 通过声部id（字符串拼接）查询声部
	 * @author liweifan
	 * @param: subjectIdList
	 * @updateTime 2022/4/6 11:31
	 * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
	 */
	List<Subject> findBySubjectByIdList(String subjectIdList);
	/***
	 * 分页查询声部树状列表
	 * @param: queryInfo
	 * @updateTime 2022/4/6 11:28
	 * @return: com.yonge.cooleshow.common.page.PageInfo<com.yonge.cooleshow.biz.dal.entity.Subject>
	 */
	PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo);
	/***
	 * 修改、新增声部树状列表
	 * @param: subject
	 * @updateTime 2022/4/6 11:28
	 */
	void upSetSubject(Subject subject);
	/***
	 * 通过id删除声部
	 * @author liweifan
	 * @param: id
	 * @updateTime 2022/4/6 11:29
	 * @return: int
	 */
    int deleteById(Long id);
	/***
	 * 查询声部选择框
	 * @author liweifan
	 * @updateTime 2022/3/21 17:23
	 * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.SubjectSelectVo>
	 */
	List<Subject> subjectSelect();
}
