
package com.tmerclub.cloud.live.mapper;

import com.tmerclub.cloud.live.model.LiveRoomProd;
import com.tmerclub.cloud.live.vo.LiveRoomProdVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 直播商品
 * @author TRACK
 */
public interface LiveRoomProdMapper {

    /**
     * 保存直播商品
     * @param liveRoomProdList 直播商品
     */
    void saveBatch(@Param("liveRoomProdList") List<LiveRoomProd> liveRoomProdList);

    /**
     * 根据直播id删除直播商品
     * @param roomId
     */
    void deleteByRoomId(@Param("roomId") Long roomId);

    /**
     * 根据商品id删除
     * @param spuId
     * @param roomIds
     */
    void deleteBySpuId(@Param("spuId") Long spuId, @Param("roomIds") List<Long> roomIds);

    /**
     * 根据直播id获取直播商品列表
     * @param roomId
     * @return
     */
    List<LiveRoomProdVO> getByRoomId(@Param("roomId") Long roomId);

    /**
     * 更新讲解状态
     * @param roomId
     * @param spuId
     * @param explainStatus
     * @return
     */
    int updateExplainStatus(@Param("roomId") Long roomId, @Param("spuId") Long spuId, @Param("explainStatus") Integer explainStatus);

    /**
     * 根据商品id获取正常状态下的直播间id列表
     * @param spuId
     * @return
     */
    List<Long> listRoomIdBySpuId(@Param("spuId") Long spuId);

    /**
     * 根据商品id获取正在直播的直播间信息
     * @param spuId
     * @return
     */
    LiveRoomProdVO getLivingRoomBySpuId(@Param("spuId") Long spuId);
}
