GoodsRPC.java 3.64 KB
/**  
 * @Title: GoodsRPC.java 
 * @Package:com.diligrp.mobsite.getway.rpc
 * @Copyright:地利集团 
 * @Description:  
 * @author:zhangshirui  
 * @date: 2014年8月14日 上午11:20:17 
 * @version: V1.0  
 */ 
package com.diligrp.mobsite.getway.rpc;

import com.diligrp.mobsite.getway.domain.protocol.GoodsSuper;
import com.diligrp.titan.sdk.domain.Attribute;
import com.diligrp.titan.sdk.domain.Category;
import com.diligrp.titan.sdk.domain.Product;
import com.diligrp.titan.sdk.input.CategoryInput;
import com.diligrp.titan.sdk.input.PopProductView;
import com.diligrp.titan.sdk.input.ProductSearchInput;
import com.diligrp.titan.sdk.input.UpdateProductInput;
import com.diligrp.titan.sdk.output.PageOutput;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/** 
 * @ClassName: GoodsRPC 
 * @author zhangshirui  
 * @date 2014年8月14日 上午11:20:17  
 */
public interface GoodsRPC {

	/**
	 * @param id           商品id
	 * @param defindResult 自定义返回结果集 不填默认只返回分类基础信息
	 *                     “attribute”-返回基础信息加上商品描述·销售·可搜索属性相关信息
	 *                     “auth”-返回基础信息加上商品认证 信息
	 *                     “video”-返回基础信息加上商品视频信息
	 *                     “subCates”-返回基础信息加上商品子分类信息
	 *                     “cate”-返回基础信息加上商品主分类详细信息
	 * @param @return
	 * @return Goods
	 * @throws
	 * @Title: getGoodsById
	 * @Description: 根据id获取商品详情
	 */
    Product getGoodsById(Long id, String[] defindResult);

	/**
	 * @param categoryId
	 * @return
	 * @Title: getConditionByCid
	 * @Description: 根据类别id获取,筛选条件
	 * @createTime 2014年8月19日 下午2:55:50
	 * @author zhangshirui
	 */
    HashMap<String, List<Attribute>> getConditionByCid(Integer categoryId);

	/**
	 * 更具商品id获取商品
	 *
	 * @param productId
	 * @param defindResult
	 * @return
	 * @createTime 2014年9月3日 下午4:58:39
	 * @author zhangshirui
	 */
	List<Product> getProductByIds(List<Long> productId, String[] defindResult);


	/**
	 * 根据sku查询skuInfoMap详细信息
	 *
	 * @param skuList
	 * @return
	 * @createTime 2014年11月6日 上午11:43:20
	 * @author zhangshirui
	 */
	Map<String, Product> getSkuInfoMap(List<String> skuList);

	/**
	 * 获取商品描述信息
	 *
	 * @param productId
	 * @return
	 * @createTime 2015年6月8日 下午6:50:31
	 * @author zhangshirui
	 */
	String getProductDesc(Long productId);

	/**
	 * 根据商品id查询商品信息
	 *
	 * @param productIds
	 * @return
	 * @createTime 2015年6月12日 下午3:14:08
	 * @author zhangshirui
	 */
	List<GoodsSuper> getGoodsInfoByIds(List<Long> productIds);

	/**
	 * 根据分类id查询分类信息
	 *
	 * @param cid
	 * @return
	 * @createTime 2015年6月23日 下午5:56:34
	 * @author zhangshirui
	 */
	Category getCategoryById(Long cid);

	/**
	 * 查询类目面包屑,返回结果进行正序排序
	 *
	 * @param cid
	 * @return
	 * @createTime 2015年6月23日 下午5:56:34
	 * @author zhangshirui
	 */
	List<Category> listCrumbs(Long cid);


	Object addProductCategory(CategoryInput req,Long userId);

	Object updateProductCategory(CategoryInput input, Long userId);

	List<Category> searchProductCategory(String input, Long userId);

	Object addGoods(PopProductView req, Long userId);

	PageOutput<List<Product>> getProductRecommend(ProductSearchInput input , Long userId);

	List<Category> listCategory(int parentId,int shopId);

	List<Product> searchProduct(ProductSearchInput input);
	Object updateProduct(UpdateProductInput updateProductInput);
}