package com.xunhong.erp.turbo.api.infra.api;


import com.xunhong.erp.turbo.api.infra.dto.cmd.MaterialBatchAddCmd;
import com.xunhong.erp.turbo.api.infra.dto.cmd.MaterialCreateCmd;
import com.xunhong.erp.turbo.api.infra.dto.cmd.MaterialDestroyCmd;
import com.xunhong.erp.turbo.api.infra.dto.cmd.MaterialUpdateCmd;
import com.xunhong.erp.turbo.api.infra.dto.qry.MaterialPageQry;
import com.xunhong.erp.turbo.api.infra.dto.qry.MaterialShowQry;
import com.xunhong.erp.turbo.api.infra.dto.vo.MaterialVO;
import com.xunhong.erp.turbo.api.user.dto.vo.OssTokenVO;
import com.xunhong.erp.turbo.base.dto.PageDTO;

import java.util.List;

/**
 * 素材管理
 *
 * @author shenyifei
 */
public interface MaterialServiceI {
	OssTokenVO ossToken();

	PageDTO<MaterialVO> page(MaterialPageQry materialPageQry);

	MaterialVO create(MaterialCreateCmd materialCreateCmd);

	MaterialVO show(MaterialShowQry materialShowQry);

	MaterialVO update(MaterialUpdateCmd materialUpdateCmd);

	void destroy(MaterialDestroyCmd materialDestroyCmd);

	List<MaterialVO> batchCreate(MaterialBatchAddCmd materialAddCmdList);
}
