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

import com.xunhong.erp.turbo.api.biz.dto.cmd.ProductCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.ProductDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.ProductUpdateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.ProductDragCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.ProductListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.ProductPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.ProductShowQry;
import com.xunhong.erp.turbo.api.biz.dto.vo.ProductVO;
import com.xunhong.erp.turbo.base.dto.PageDTO;

import java.util.List;

/**
 * @author shenyifei
 */
public interface ProductServiceI {
    ProductVO create(ProductCreateCmd productCreateCmd);

    PageDTO<ProductVO> page(ProductPageQry productPageQry);

    List<ProductVO> list(ProductListQry productListQry);

    ProductVO update(ProductUpdateCmd productUpdateCmd);

    ProductVO show(ProductShowQry productShowQry);

    void destroy(ProductDestroyCmd productDestroyCmd);
    
    void drag(ProductDragCmd productDragCmd);
}