package com.snack.server.module.banner.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.snack.server.module.banner.dto.req.BannerPageReq;
import com.snack.server.module.banner.dto.req.BannerSaveReq;
import com.snack.server.module.banner.vo.BannerVO;

import java.util.List;

/**
 * 轮播图业务接口
 */
public interface BannerService {

    /**
     * 用户端：获取当前生效的轮播图列表
     */
    List<BannerVO> listActive();

    /**
     * 管理端：分页查询轮播图
     */
    Page<BannerVO> pageBanners(BannerPageReq req);

    /**
     * 管理端：获取轮播图详情
     */
    BannerVO getById(Long id);

    /**
     * 创建轮播图
     */
    Long create(BannerSaveReq req);

    /**
     * 更新轮播图
     */
    void update(BannerSaveReq req);

    /**
     * 删除轮播图
     */
    void delete(Long id);

    /**
     * 上下线切换
     */
    void updateStatus(Long id, Integer status);

    /**
     * 调整排序
     */
    void updateSort(Long id, Integer sort);
}
