package com.liquidnet.client.admin.zhengzai.goblin.service;

import com.liquidnet.client.admin.zhengzai.goblin.dto.SqbPerfGoodsBindItemParam;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo;

import java.util.List;

/**
 * 演出-收钱吧商品关联 服务接口
 */
public interface ISqbPerformanceGoodsService {

    /**
     * 关联演出与商品（批量，支持换购价/自动下架配置）
     *
     * @param performancesId 演出ID
     * @param items          绑定项列表（含配置）
     * @return 操作结果
     */
    ResponseDto<Boolean> bind(String performancesId, List<SqbPerfGoodsBindItemParam> items);

    /**
     * 解除演出与商品关联
     *
     * @param performancesId 演出ID
     * @param skuId          SKU ID
     * @return 操作结果
     */
    ResponseDto<Boolean> unbind(String performancesId, String skuId);

    /**
     * 查询演出关联的收钱吧商品列表
     *
     * @param performancesId 演出ID
     * @return 商品列表
     */
    ResponseDto<List<GoblinSqbPerfGoodsVo>> list(String performancesId);

    /**
     * 搜索收钱吧商品（skuType=33，供关联候选）
     *
     * @param keyword 商品名称关键词
     * @return 商品列表
     */
    ResponseDto<List<GoblinSqbPerfGoodsVo>> searchGoods(String keyword);
}
