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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.biz.dto.cmd.ShipOrderCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.ShipOrderDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.ShipOrderGenerateDocumentCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.ShipOrderUpdateCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.ShipOrderListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.ShipOrderPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.ShipOrderShowQry;
import com.xunhong.erp.turbo.biz.domain.entity.ShipOrder;

import java.util.List;

/**
 * @author shenyifei
 */
public interface ShipOrderGateway {
	ShipOrder save(ShipOrderCreateCmd shipOrderCreateCmd);

	IPage<ShipOrder> page(ShipOrderPageQry shipOrderPageQry);

	List<ShipOrder> list(ShipOrderListQry shipOrderListQry);

	ShipOrder update(ShipOrderUpdateCmd shipOrderUpdateCmd);

	ShipOrder show(ShipOrderShowQry shipOrderShowQry);

	void destroy(ShipOrderDestroyCmd shipOrderDestroyCmd);

	void generateDocument(ShipOrderGenerateDocumentCmd shipOrderGenerateDocumentCmd);
}

