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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.infra.dto.cmd.AgreementCreateCmd;
import com.xunhong.erp.turbo.api.infra.dto.cmd.AgreementDestroyCmd;
import com.xunhong.erp.turbo.api.infra.dto.cmd.AgreementUpdateCmd;
import com.xunhong.erp.turbo.api.infra.dto.qry.AgreementListQry;
import com.xunhong.erp.turbo.api.infra.dto.qry.AgreementPageQry;
import com.xunhong.erp.turbo.api.infra.dto.qry.AgreementShowQry;
import com.xunhong.erp.turbo.infra.domain.entity.Agreement;

import java.util.List;

/**
 * @author shenyifei
 */
public interface AgreementGateway {
	Agreement save(AgreementCreateCmd agreementCreateCmd);

	IPage<Agreement> page(AgreementPageQry agreementPageQry);

	List<Agreement> list(AgreementListQry agreementListQry);

	Agreement update(AgreementUpdateCmd agreementUpdateCmd);

	Agreement show(AgreementShowQry agreementShowQry);

	void destroy(AgreementDestroyCmd agreementDestroyCmd);
}

