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

import java.util.List;

import com.iamberry.wechat.core.entity.PaperBean;
import com.iamberry.wechat.core.entity.cart.ShopOrderItemDto;
import com.iamberry.wechat.core.entity.product.Product;
import com.iamberry.wechat.core.entity.product.ProductChildType;
import com.iamberry.wechat.core.entity.product.ProductColor;
import com.iamberry.wechat.core.entity.product.ProductType;
import com.iamberry.wechat.core.entity.search.SearchInfo;

public interface ProductInfoDao {

	//分页查询商品信息
	public List<Product> selectPageProduct(PaperBean bean);
	
	//根据productID查询商品信息
	public Product getProductByProductId(Integer productId);
	
	//根据商品名称查询商品信息
	public List<Product> getProductByProductName(String productName);
	
	//查询在售商品总条目数
	public Integer selectProductCount(Product product);

	/**
	 * 获取10条产品信息
	 * @return
	 */
	public List<Product> selectIndexPageProduct();
	
	/**
	 * 批量修改产品购买数量
	 * @return
	 */
	public Integer updateProductNumList(List<ShopOrderItemDto> orderItemList);

	/**
	 * 获取产品颜色信息
	 * @param productColor
	 * @return
	 */
	ProductColor getProductColor(ProductColor productColor);

	/**
	 * 获取所有产品类型
	 * @return
	 */
	List<ProductType> selectProductType();

	/**
	 *首页查询精选产品
	 * **/
	List<Product> selectIndexChoicenessProduct(Integer productChoiceness);

	/**
	 *根据配件类型id查询所有子类型
	 * **/
	List<ProductChildType> selectProductFittingsType(Integer typeId);

	/**新增搜索记录**/
	Integer insertSearchInfo(SearchInfo searchInfo);

	/**查询是否已存在这条搜索记录**/
	SearchInfo getSearchInfo(SearchInfo searchInfo);

	/**查询是否已存在这条搜索记录**/
	List<SearchInfo> selectSearchInfo(SearchInfo searchInfo);

	/**修改历史搜索信息**/
	Integer updateSearchInfo(SearchInfo searchInfo);

	/**根据产品id获取所有颜色**/
	List<ProductColor> selectColorByPid(Integer productId);
}
