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

import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargePageReqVO;
import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeSaveReqVO;
import com.cf.imes.module.system.dal.dataobject.funds.recharge.GiftMoneyDetailsDO;

import jakarta.validation.Valid;

/**
 * 充值活动详情表 gift_money_details Service 接口
 *
 * @author 晨丰科技
 */
public interface RechargeActiveService {

    /**
     * 创建充值活动
     *
     * @param createReqVO
     * @return 编号
     */
    Long create(@Valid RechargeSaveReqVO createReqVO);

    /**
     * 更新充值活动
     *
     * @param updateReqVO 更新信息
     */
    void update(@Valid RechargeSaveReqVO updateReqVO);

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

    /**
     * 获得充值活动，业务异常版
     *
     * @param id 编号
     */
    GiftMoneyDetailsDO get(Long id);

    /**
     * 获得充值活动 分页
     *
     * @param pageReqVO 分页查询
     */
    PageResult<GiftMoneyDetailsDO> getPage(RechargePageReqVO pageReqVO);

    /**
     * 查询充值活动，不存返回null，无业务异常
     *
     * @param id
     * @return
     */
    GiftMoneyDetailsDO getDefaultNull(Long id);
}
