package com.crm.pay.service;

import com.crm.rely.backend.core.dto.base.BaseResultDto;
import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.exception.ServiceException;
import com.crm.rely.backend.model.dto.finance.withdraw.FinanceWithdrawDto;
import com.crm.rely.backend.model.entity.finance.withdraw.FinanceWithdrawApproveEntity;
import com.crm.rely.backend.model.entity.finance.withdraw.FinanceWithdrawBaseAddEntity;
import com.crm.rely.backend.model.entity.finance.withdraw.FinanceWithdrawDeleteEntity;
import com.crm.rely.backend.model.entity.finance.withdraw.FinanceWithdrawSearchListEntity;

public interface FinanceWithdrawService {

    BaseResultDto save(FinanceWithdrawBaseAddEntity entity) throws ServiceException;

    void approve(FinanceWithdrawApproveEntity entity) throws ServiceException;

    void delete(FinanceWithdrawDeleteEntity entity) throws ServiceException;

    ResultWithPagerDto<FinanceWithdrawDto> searchList(FinanceWithdrawSearchListEntity entity) throws ServiceException;

    FinanceWithdrawDto searchSingle(Long id) throws ServiceException;
}
