package com.xindazhou.business.service.community.banner;

import com.xindazhou.business.controller.admin.community.banner.vo.BannerPageReqVO;
import com.xindazhou.business.controller.admin.community.banner.vo.BannerRespVO;
import com.xindazhou.business.controller.admin.community.banner.vo.BannerSaveReqVO;
import com.xindazhou.framework.common.pojo.PageResult;

import java.util.List;

/**
 * Banner Service 接口
 *
 * @author xindazhou
 */
public interface BannerService {

    /**
     * 创建Banner
     *
     * @param createReqVO 创建信息
     * @return Banner ID
     */
    Long createBanner(BannerSaveReqVO createReqVO);

    /**
     * 更新Banner
     *
     * @param updateReqVO 更新信息
     */
    void updateBanner(BannerSaveReqVO updateReqVO);

    /**
     * 删除Banner
     *
     * @param id Banner ID
     */
    void deleteBanner(Long id);

    /**
     * 获得Banner
     *
     * @param id Banner ID
     * @return Banner
     */
    BannerRespVO getBanner(Long id);

    /**
     * 获得Banner分页列表
     *
     * @param pageReqVO 分页查询
     * @return Banner分页
     */
    PageResult<BannerRespVO> getBannerPage(BannerPageReqVO pageReqVO);

    /**
     * 更新Banner状态
     *
     * @param id Banner ID
     * @param status 状态：0-未上架，1-已上架，2-已下架
     */
    void updateBannerStatus(Long id, Integer status);

    /**
     * 获得移动端Banner列表（只返回已上架的）
     *
     * @return Banner列表
     */
    List<com.xindazhou.business.controller.app.community.banner.vo.BannerRespVO> getBannerList();

}

