package com.xunhong.erp.turbo.biz.domain.gateway;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierInvoiceCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierInvoiceDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierInvoiceUpdateCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierInvoiceListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierInvoicePageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierInvoiceShowQry;
import com.xunhong.erp.turbo.biz.domain.entity.SupplierInvoice;

import java.util.List;

/**
 * @author shenyifei
 */
public interface SupplierInvoiceGateway {
    SupplierInvoice save(SupplierInvoiceCreateCmd supplierInvoiceCreateCmd);

    IPage<SupplierInvoice> page(SupplierInvoicePageQry supplierInvoicePageQry);

    List<SupplierInvoice> list(SupplierInvoiceListQry supplierInvoiceListQry);

    SupplierInvoice update(SupplierInvoiceUpdateCmd invoiceUpdateCmd);

    SupplierInvoice show(SupplierInvoiceShowQry supplierInvoiceShowQry);

    void destroy(SupplierInvoiceDestroyCmd supplierInvoiceDestroyCmd);
}

