package com.xhpc.activity.service;

import com.xhpc.activity.domain.XhpcClearingCheckoutDomain;
import com.xhpc.activity.vo.ClearingReceiptVo;
import com.xhpc.common.core.domain.R;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface XhpcClearingCheckoutService {

    List<XhpcClearingCheckoutDomain> getPage(Map<String, Object> params);

    List<Map<String, Object>> getCheckoutPage(Map<String, Object> params);

    XhpcClearingCheckoutDomain getDomainByPk(Long checkoutId);

    R getTmpCheckoutData(Long operatorId);

    boolean insertDomain(XhpcClearingCheckoutDomain domain);

    void bankExport(HttpServletResponse response, String checkoutIds) throws IOException;

    void orderExport(HttpServletResponse response, String checkoutIds) throws IOException;

    boolean insertReceipt(ClearingReceiptVo receiptVo) throws Exception;


    /**
     * 历史订单记录（PC）
     * @return
     */
    List<Map<String,Object>> getListPage(String phone,String transactionNumber,Integer status,String chargingStationName,Long operatorId,Integer source,String beginStartTime,String beginEndTime,Long userId,Integer type,String affiliationOrganization,String evcsOrderNo,String plateNum,Integer internetId,String internetSerialNumber,String terminalName,String vinCode,String overStartTime,String overEndTime,Long personnelId,Integer confirmResult, Integer checkoutId);


    void getListPageExport(HttpServletResponse response,String phone,String transactionNumber,Integer status,String chargingStationName,Long operatorId,Integer source,String beginStartTime,String beginEndTime,Long userId,Integer type,String affiliationOrganization,String evcsOrderNo,String plateNum,Integer internetId,String internetSerialNumber,String terminalName,String vinCode,String overStartTime,String overEndTime,Long personnelId,Integer confirmResult, Integer checkoutId) throws IOException;

}
