package com.ruoyi.hezhi.mapper;

import com.ruoyi.hezhi.domain.TbBanner;
import com.ruoyi.hezhi.domain.dto.BannerDTO;
import com.ruoyi.hezhi.domain.vo.BannerVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 轮播图Mapper接口
 *
 * @author CC
 * @date 2024-03-12
 */
public interface TbBannerMapper
{
    /**
     * 查询轮播图
     *
     * @param bannerId 轮播图主键
     * @return 轮播图
     */
    public TbBanner selectTbBannerByBannerId(String bannerId);

    /**
     * 查询轮播图列表
     *
     * @param tbBanner 轮播图
     * @return 轮播图集合
     */
    public List<TbBanner> selectTbBannerList(TbBanner tbBanner);

    /**
     * 新增轮播图
     *
     * @param tbBanner 轮播图
     * @return 结果
     */
    public int insertTbBanner(TbBanner tbBanner);

    /**
     * 验证排序
     * @param sort 排序
     * @param id 编号
     * @return
     */
    public int checkSort(@Param("sort") Long sort, @Param("id") String id, @Param("type") String type);

    /**
     * 修改轮播图
     *
     * @param tbBanner 轮播图
     * @return 结果
     */
    public int updateTbBanner(TbBanner tbBanner);

    /**
     * 删除轮播图
     *
     * @param bannerId 轮播图主键
     * @return 结果
     */
    public int deleteTbBannerByBannerId(@Param("bannerId") String bannerId,
                                        @Param("deleteBy") String deleteBy);

    /**
     * 批量删除轮播图
     *
     * @param bannerIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbBannerByBannerIds(@Param("bannerIds") String[] bannerIds,
                                         @Param("deleteBy") String deleteBy);

    /**
     * 查询轮播图列表
     *
     * @param dto 轮播图
     * @return 轮播图集合
     */
    public List<BannerVO> selectBannerListForXcxCommon(BannerDTO dto);
}
