
package com.tmerclub.cloud.multishop.service;

import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.database.vo.PageVO;
import com.tmerclub.cloud.multishop.dto.IndexImgDTO;
import com.tmerclub.cloud.multishop.model.IndexImg;
import com.tmerclub.cloud.multishop.vo.IndexImgVO;

import java.util.List;

/**
 * 轮播图
 *
 * @author YXF
 * @date 2020-11-24 16:38:32
 */
public interface IndexImgService {

    /**
     * 分页获取轮播图列表
     * @param pageDTO 分页参数
     * @param indexImgDTO
     * @return 轮播图列表分页数据
     */
    PageVO<IndexImgVO> page(PageDTO pageDTO, IndexImgDTO indexImgDTO);

    /**
     * 根据轮播图id获取轮播图
     * @param imgId 轮播图id
     * @return 轮播图
     */
    IndexImgVO getByImgId(Long imgId);

    /**
     * 保存轮播图
     * @param indexImg 轮播图
     */
    void save(IndexImg indexImg);

    /**
     * 更新轮播图
     * @param indexImg 轮播图
     */
    void update(IndexImg indexImg);

    /**
     * 根据轮播图id删除轮播图
     * @param imgId
     * @param shopId
     * @param imgType
     */
    void deleteById(Long imgId, Long shopId, Integer imgType);

    /**
     * 根据店铺id，获取轮播图列表
     * @param shopId 店铺id
     * @param imgType 图片类型
     * @return 轮播图列表
     */
    List<IndexImgVO> getListByShopId(Long shopId, Integer imgType);

    /**
     * 解绑轮播图商品
     * @param shopId
     * @param spuIds
     */
    void offlineSpuBySpuIds(Long shopId, List<Long> spuIds);

    /**
     * 批量更新
     * @param spuId
     * @param shopId
     */
    void batchUpdate(Long spuId, Long shopId);
}
