package com.jsowell.pile.service;

import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.jsowell.adapay.dto.QueryWithdrawListDTO;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.pile.domain.ClearingWithdrawInfo;
import com.jsowell.pile.vo.web.ClearingBillVO;
import com.jsowell.pile.vo.web.WithdrawInfoVO;

import java.math.BigDecimal;
import java.util.List;

public interface ClearingWithdrawInfoService{

    int deleteByPrimaryKey(Integer id);

    int insert(ClearingWithdrawInfo record);

    int insertOrUpdate(ClearingWithdrawInfo record);

    int insertOrUpdateSelective(ClearingWithdrawInfo record);

    int insertSelective(ClearingWithdrawInfo record);

    ClearingWithdrawInfo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(ClearingWithdrawInfo record);

    int updateByPrimaryKey(ClearingWithdrawInfo record);

    int updateBatch(List<ClearingWithdrawInfo> list);

    int batchInsert(List<ClearingWithdrawInfo> list);

    ClearingWithdrawInfo selectByWithdrawCode(String withdrawCode);

    ClearingBillVO selectWithdrawInfoByOrderCode(String orderCode);

    List<ClearingBillVO> selectWithdrawInfoByOrderCodeList(List<String> orderCodeList);

    List<WithdrawInfoVO> selectByMerchantId(String merchantId) throws BaseAdaPayException;

    PageResponse queryWithdrawList(QueryWithdrawListDTO dto) throws BaseAdaPayException;

    BigDecimal queryTotalWithdraw(String merchantId);
}
