package com.jsowell.pile.service;

import com.jsowell.pile.domain.ClearingBillInfo;
import com.jsowell.pile.dto.GetClearingBillDTO;
import com.jsowell.pile.vo.web.MerchantClearingBillVO;

import java.util.List;

public interface ClearingBillInfoService {


    int deleteByPrimaryKey(Integer id);

    int insert(ClearingBillInfo record);

    int insertSelective(ClearingBillInfo record);

    ClearingBillInfo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(ClearingBillInfo record);

    int updateByPrimaryKey(ClearingBillInfo record);

    List<ClearingBillInfo> selectByMerchantId(String merchantId, String billStatus);

    void updateStatus(List<Integer> clearingBillIds, String billStatus, String withdrawCode);

    /**
     * 后管用 查询运营商账单列表
     *
     * @param dto
     * @return
     */
    List<MerchantClearingBillVO> getMerchantClearingBillList(GetClearingBillDTO dto);

    int insertOrUpdate(ClearingBillInfo record);

    int insertOrUpdateSelective(ClearingBillInfo record);

    int updateBatch(List<ClearingBillInfo> list);

    int updateBatchSelective(List<ClearingBillInfo> list);

    int batchInsert(List<ClearingBillInfo> list);

    ClearingBillInfo selectByMerchantIdAndTradeDate(String merchantId, String tradeDate);

    List<ClearingBillInfo> selectByWithdrawCode(String withdrawCode);
}

