package com.iamberry.wechat.face.cart;

import java.util.List;

import com.iamberry.wechat.core.entity.product.*;
import com.iamberry.wechat.core.entity.search.SearchInfo;

public interface ProductInfoService {

	//分页查询商品信息
	public List<Product> selectPageProduct(int pageSize, int pageNO, String productName,Integer typeId);

	//分页查配件信息
	public List<ProductFittings> selectPageProductFittings(int pageSize, int pageNO, Integer typeId);

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

	/**
	 * 获取10条产品信息
	 * @return
	 */
	public List<Product> selectIndexPageProduct();
	
	/**
	 * 更新首页产品信息缓存
	 */
	public void cacheIndexPageProduct();
	
	/**
	 * 批量修改产品购买数量
	 * @return
	 */
	public Integer updateProductNumList(String orderId);

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

	/**
	 * 获取配件信息
	 * @param productFittings
	 * @return
	 */
	ProductFittings getProductFittings(ProductFittings productFittings);

	/**
	 * 获取所有产品类型
	 * @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);



	/**
	 * 根据colorId查询产品信息
	 * @param colorId
	 * @return
	 */
	Product selectProductByColorId(Integer colorId);
}
