package com.yc.ship.module.trade.service.invoice;


import com.yc.ship.framework.common.pojo.PageResult;
import com.yc.ship.module.trade.controller.admin.invoicelog.vo.InvoiceLogPageReqVO;
import com.yc.ship.module.trade.controller.admin.invoicelog.vo.InvoiceLogSaveReqVO;
import com.yc.ship.module.trade.dal.dataobject.invoice.InvoiceLogDO;

import javax.validation.Valid;


/**
 * 发票记录 Service 接口
 *
 * @author 管理员
 */
public interface InvoiceLogService {

    /**
     * 创建发票记录
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createInvoiceLog(@Valid InvoiceLogSaveReqVO createReqVO);

    /**
     * 更新发票记录
     *
     * @param updateReqVO 更新信息
     */
    void updateInvoiceLog(@Valid InvoiceLogSaveReqVO updateReqVO);


    void  saveInvoiceLog (Long invoiceId, String type, String url, String params, String reqContent,String resContent);


    /**
     * 删除发票记录
     *
     * @param id 编号
     */
    void deleteInvoiceLog(Long id);

    /**
     * 获得发票记录
     *
     * @param id 编号
     * @return 发票记录
     */
    InvoiceLogDO getInvoiceLog(Long id);

    /**
     * 获得发票记录分页
     *
     * @param pageReqVO 分页查询
     * @return 发票记录分页
     */
    PageResult<InvoiceLogDO> getInvoiceLogPage(InvoiceLogPageReqVO pageReqVO);

}