package cn.newfeifan.mall.module.distri.service.ptdailywithdrawal;

import javax.validation.*;
import cn.newfeifan.mall.module.distri.controller.app.ptdailywithdrawal.vo.*;
import cn.newfeifan.mall.module.distri.dal.dataobject.ptdailywithdrawal.PtDailyWithdrawalDO;
import cn.newfeifan.mall.framework.common.pojo.PageResult;

/**
 * 平台每日提现记录 Service 接口
 *
 * @author 非繁人
 */
public interface PtDailyWithdrawalService {

    /**
     * 创建平台每日提现记录
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createPtDailyWithdrawal(@Valid AppPtDailyWithdrawalSaveReqVO createReqVO);

    /**
     * 更新平台每日提现记录
     *
     * @param updateReqVO 更新信息
     */
    void updatePtDailyWithdrawal(@Valid AppPtDailyWithdrawalSaveReqVO updateReqVO);

    /**
     * 删除平台每日提现记录
     *
     * @param id 编号
     */
    void deletePtDailyWithdrawal(Long id);

    /**
     * 获得平台每日提现记录
     *
     * @param id 编号
     * @return 平台每日提现记录
     */
    PtDailyWithdrawalDO getPtDailyWithdrawal(Long id);

    /**
     * 获得平台每日提现记录分页
     *
     * @param pageReqVO 分页查询
     * @return 平台每日提现记录分页
     */
    PageResult<PtDailyWithdrawalDO> getPtDailyWithdrawalPage(AppPtDailyWithdrawalPageReqVO pageReqVO);

    /**
     * 获取当天时间段的平台每日提现记录
     * @return 平台每日提现记录
     */
    PtDailyWithdrawalDO getPtDailyWithdrawalToDay();
}