package com.cf.imes.module.system.service.funds.productpromotion;

import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.system.controller.admin.funds.productpromotion.vo.ProductPromotionPageReqVO;
import com.cf.imes.module.system.controller.admin.funds.productpromotion.vo.ProductPromotionSaveReqVO;

import com.cf.imes.module.system.dal.dataobject.funds.productpromotion.ProductPromotionDO;
import jakarta.validation.Valid;

import java.util.List;

/**
 * 优惠活动表 product_promotion Service 接口
 *
 * @author 晨丰科技
 */
public interface ProductPromotionService {

    /**
     * 创建优惠活动
     *
     * @param createReqVO
     * @return 编号
     */
    Long create(@Valid ProductPromotionSaveReqVO createReqVO);

    /**
     * 更新优惠活动
     *
     * @param updateReqVO 更新信息
     */
    void update(@Valid ProductPromotionSaveReqVO updateReqVO);

    /**
     * 删除优惠活动
     *
     * @param id 编号
     */
    void delete(Long id);

    /**
     * 获得优惠活动
     *
     * @param id 编号
     */
    ProductPromotionDO get(Long id);

    /**
     * 获得优惠活动 分页
     *
     * @param pageReqVO 分页查询
     */
    PageResult<ProductPromotionDO> getPage(ProductPromotionPageReqVO pageReqVO);

    /**
     * 获取可用优惠活动
     *
     * @param productId
     * @return
     */
    List<ProductPromotionDO> getAvailableProductPromotionList(Long productId);
}
