package com.jeesharp.business.modules.pay.payfundwithdraw.service;

import com.jeesharp.business.modules.pay.payfundwithdraw.entity.PayFundWithdraw;
import com.jeesharp.business.modules.pay.payfundwithdraw.vo.PayFundWithdrawQueryVO;
import com.jeesharp.framework.mybatis.core.service.BaseInterface;
import com.jeesharp.framework.pojo.Page;

/**
 * 预约提现领域服务接口。
 *
 * @author jeesharp
 * @since 2026-06-12
 */
public interface PayFundWithdrawService extends BaseInterface<PayFundWithdraw, PayFundWithdrawQueryVO> {

    /**
     * 新增提现记录。
     */
    PayFundWithdraw createFundWithdraw(PayFundWithdraw entity);

    /**
     * 更新提现记录。
     */
    void updateFundWithdraw(PayFundWithdraw entity);

    /**
     * 按商户提现单号查询。
     */
    PayFundWithdraw findByOutRequestNo(String outRequestNo);

    /**
     * 按范围分页（Application 注入 scope / 租户条件）。
     */
    Page<PayFundWithdraw> findScopePage(Page<PayFundWithdraw> page, PayFundWithdrawQueryVO query);
}
