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

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.dao.KylinArtistDao;
import com.liquidnet.service.kylin.dto.param.ArtistParam;
import com.liquidnet.service.kylin.dto.param.ArtistSearchParam;
import com.liquidnet.service.kylin.dto.vo.ArtistGoodsOptionVo;
import com.liquidnet.service.kylin.dto.vo.ArtistVo;
import com.liquidnet.service.kylin.entity.KylinArtist;

import java.util.List;

/**
 * <p>
 * 艺人管理 服务类
 * </p>
 *
 * @author liquidnet
 * @since 2026-02-04
 */
public interface IKylinArtistService extends IService<KylinArtist> {

    Boolean create(ArtistParam param);

    Boolean update(ArtistParam param);

    ArtistVo detail(String artistId);

    PageInfo<KylinArtistDao> artistList(ArtistSearchParam param);

    Boolean delete(List<String> artistIds);

    Boolean checkArtistNameExists(String artistName, String artistId);

    List<ArtistGoodsOptionVo> searchGoods(String keyword, String artistId, List<String> excludeSpuIds);

    List<ArtistVo.ProductVo> listArtistProducts(String artistId);

    Boolean saveArtistProducts(String artistId, List<String> spuIds);

}
