package com.ruoyi.bst.withdraw.service;

import java.util.List;
import com.ruoyi.bst.withdraw.domain.Withdraw;
import com.ruoyi.bst.withdraw.domain.WithdrawVO;
import com.ruoyi.bst.withdraw.domain.WithdrawQuery;
import com.ruoyi.bst.withdraw.domain.dto.WithdrawVerifyDTO;

/**
 * 提现Service接口
 *
 * @author ruoyi
 * @date 2025-04-07
 */
public interface WithdrawService
{
    /**
     * 查询提现
     *
     * @param id 提现主键
     * @return 提现
     */
    public WithdrawVO selectWithdrawById(Long id);

    /**
     * 查询提现列表
     *
     * @param withdraw 提现
     * @return 提现集合
     */
    public List<WithdrawVO> selectWithdrawList(WithdrawQuery withdraw);

    /**
     * 新增提现
     *
     * @param withdraw 提现
     * @return 结果
     */
    public int insertWithdraw(Withdraw withdraw);

    /**
     * 修改提现
     *
     * @param withdraw 提现
     * @return 结果
     */
    public int updateWithdraw(Withdraw withdraw);

    /**
     * 批量删除提现
     *
     * @param ids 需要删除的提现主键集合
     * @return 结果
     */
    public int deleteWithdrawByIds(Long[] ids);

    /**
     * 删除提现信息
     *
     * @param id 提现主键
     * @return 结果
     */
    public int deleteWithdrawById(Long id);

    /**
     * 提现审核
     */
    int verify(WithdrawVerifyDTO dto);
}
