package com.iamberry.wechat.service.product.dao;

import java.util.List;

import com.iamberry.wechat.core.entity.product.Product;
import com.iamberry.wechat.core.entity.product.ProductType;
/**
 * 
 *		description: 商品查询接口
 * 	   		@author: 张应真
 *	    @createDate: 2016年4月20日
 */
public interface ProductDao {
	/**
	 * 用户商品查询
	 * @return
	 */
	List<Product>getProductByFuzzy(String productName);
	
	/**
	 * 获取所有产品信息并分页
	 * 2016年4月21日
	 * @author 穆再兴
	 * @param page
	 * @return
	 */
	public List<Product> selectAllProductInfo(Product product);
	
	/**
	 * 根据productId 查询单个产品
	 * 2016年4月22日
	 * @author 穆再兴
	 * @param productId
	 * @return
	 */
	public Product selectProductByProductId(Integer productId);
	
	/**
	 * 查所有产品个数 分页用
	 * 2016年4月23日
	 * @author 穆再兴
	 * @return
	 */
	public Integer selectProductCount(Product product);
	
	/**
	 * 添加一个产品
	 * 2016年4月21日
	 * @author 穆再兴
	 * @return
	 */
	public Integer addProduct(Product product);
	
	/**
	 * 根据 productId 修改一个产品的信息
	 * 2016年4月22日
	 * @author 穆再兴
	 * @param product
	 * @return
	 */
	public Integer updateProductByProductId(Product product);
	
	/**
	 * 根据 productId 修改一个产品的状态
	 * 2016年4月22日
	 * @author 穆再兴
	 * @param product
	 * @return
	 */
	public Integer updateProductStatusByProductId(Product product);

	/**
	 * 获取产品的所有返利类型-service 接口
	 * @return
	 */
	public List<ProductType> getAll();
	
	/**
	 * 根据id查询一个产品返利类型
	 * @param typeId
	 * @return
	 */
	public ProductType selectOneById(Integer typeId);
	
	/**
	 * 添加一个产品返利类型
	 * @param productType
	 * @return
	 */
	public Integer insertProductType(ProductType productType);
	
	/**
	 * 根据类型id修改一个产品返利类型
	 * @return
	 */
	public Integer updateProductTypeById(ProductType productType);
	
	/**
	 * 根据类型id修改一个产品类型的状态
	 * @return
	 */
	public Integer updateProductTypeStatusById(ProductType productType);
}