package com.liquidnet.service.kylin.service.admin;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.dao.KylinArtistAssociationStatusDto;
import com.liquidnet.service.kylin.dao.KylinArtistPerformanceDao;
import com.liquidnet.service.kylin.entity.KylinArtistPerformance;

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

public interface IKylinArtistPerformanceService extends IService<KylinArtistPerformance> {

    /**
     * 获取指定场次的艺人阵容
     * @param performancesId
     * @param timesId
     * @return
     */
    List<KylinArtistPerformanceDao> getSessionArtists(String performancesId, String timesId);

    /**
     * 更新演出艺人排序
     *
     * @param performanceId
     * @param orderData
     * @return
     */
    boolean updateArtistOrder(String performanceId, List<Map<String, Object>> orderData);

    /**
     * 删除演出艺人关联
     *
     * @param mid
     * @param performanceId
     * @return
     */
    int deletePerformanceArtist(Long mid, String performanceId);

    /**
     * 获取所有艺人
     * @param performancesId
     * @param timesId
     * @param keyword
     * @return
     */
    List<KylinArtistAssociationStatusDto> getAllArtists(String performancesId, String timesId, String keyword);

    /**
     * 修改艺人关联
     * @param performancesId
     * @param timesId
     * @param artistOrders
     * @return
     */
    boolean updateArtistAssociations(String performancesId, String timesId, List<Map<String, Object>> artistOrders);
}
