package com.reading.platform.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.reading.platform.entity.ProductBundle;

/**
 * 产品套餐服务接口
 */
public interface ProductBundleService extends IService<ProductBundle> {

    /**
     * 获取套餐分页列表
     */
    Page<ProductBundle> getBundlePage(int pageNum, int pageSize, String keyword, String status);

    /**
     * 根据 ID 获取套餐
     */
    ProductBundle getBundleById(String id);

    /**
     * 创建套餐
     */
    ProductBundle createBundle(ProductBundle bundle);

    /**
     * 更新套餐
     */
    ProductBundle updateBundle(String id, ProductBundle bundle);

    /**
     * 删除套餐
     */
    void deleteBundle(String id);

    /**
     * 提交审核
     */
    void submitBundle(String id);

    /**
     * 审核套餐
     */
    void reviewBundle(String id, boolean approved, String comment);

    /**
     * 发布套餐
     */
    void publishBundle(String id);

    /**
     * 下架套餐
     */
    void offlineBundle(String id);

    /**
     * 获取系统套餐列表
     */
    Page<ProductBundle> getSystemBundles(int pageNum, int pageSize, String gradeLevel);
}
