Переглянути джерело

根据id获取索引中的批次信息

sunyj 8 роки тому
батько
коміт
5f1c7d735a

+ 1 - 1
search-console/src/main/java/com/uas/search/console/controller/SearchController.java

@@ -285,7 +285,7 @@ public class SearchController {
 
 	@RequestMapping("/goods/{id}")
 	@ResponseBody
-	public GoodsSimpleInfo getGoods(@PathVariable Long id) {
+	public GoodsSimpleInfo getGoods(@PathVariable String id) {
 		return innerSearchService.getGoods(id);
 	}
 }

+ 56 - 2
search-console/src/main/java/com/uas/search/console/util/DocumentToObjectUtils.java

@@ -24,6 +24,7 @@ import com.uas.search.console.model.PurchaseDetailSimpleInfo;
 import com.uas.search.console.model.PurchaseInvoiceDetailSimpleInfo;
 import com.uas.search.console.model.PurchaseInvoiceSimpleInfo;
 import com.uas.search.console.model.PurchaseSimpleInfo;
+import com.uas.search.console.model.StoreSimpleInfo;
 import com.uas.search.model.BaseOrderDetail;
 
 /**
@@ -120,8 +121,61 @@ public class DocumentToObjectUtils {
 	 * @return
 	 */
 	public static GoodsSimpleInfo toGoods(Document document) {
-		// TODO
-		return null;
+		if (document == null) {
+			return null;
+		}
+		GoodsSimpleInfo goods = new GoodsSimpleInfo();
+		goods.setId(document.get(SearchConstants.GOODS_ID_FIELD));
+
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_GO_ID_FIELD))) {
+			goods.setGoId(Long.valueOf(document.get(SearchConstants.GOODS_GO_ID_FIELD)));
+		}
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_GO_RESERVE_FIELD))) {
+			goods.setGoReserve(Double.valueOf(document.get(SearchConstants.GOODS_GO_RESERVE_FIELD)));
+		}
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_GO_MINPRICERMB_FIELD))) {
+			goods.setGoMinPriceRMB(Double.valueOf(document.get(SearchConstants.GOODS_GO_MINPRICERMB_FIELD)));
+		}
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_GO_MINPRICEUSD_FIELD))) {
+			goods.setGoMinPriceUSD(Double.valueOf(document.get(SearchConstants.GOODS_GO_MINPRICEUSD_FIELD)));
+		}
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_CRNAME_FIELD))) {
+			goods.setCrName(document.get(SearchConstants.GOODS_CRNAME_FIELD));
+		}
+
+		StoreSimpleInfo store = new StoreSimpleInfo();
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_ST_UUID_FIELD))) {
+			store.setUuid(document.get(SearchConstants.GOODS_ST_UUID_FIELD));
+		}
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_ST_TYPE_FIELD))) {
+			store.setType(document.get(SearchConstants.GOODS_ST_TYPE_FIELD));
+		}
+
+		goods.setCmpId(Long.valueOf(document.get(SearchConstants.GOODS_CMP_ID_FIELD)));
+		goods.setCmpCode(document.get(SearchConstants.GOODS_CMP_CODE_FIELD));
+
+		KindSimpleInfo kind = new KindSimpleInfo();
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_KI_ID_FIELD))) {
+			kind.setId(Long.valueOf(document.get(SearchConstants.GOODS_KI_ID_FIELD)));
+		}
+		kind.setNameCn(document.get(SearchConstants.GOODS_KI_NAME_CN_FIELD));
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_KI_LEVEL_FIELD))) {
+			kind.setLevel(Short.valueOf(document.get(SearchConstants.GOODS_KI_LEVEL_FIELD)));
+		}
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_KI_ISLEAF_FIELD))) {
+			kind.setIsLeaf(Short.valueOf(document.get(SearchConstants.GOODS_KI_ISLEAF_FIELD)));
+		}
+		goods.setKind(kind);
+
+		BrandSimpleInfo brand = new BrandSimpleInfo();
+		if (!StringUtils.isEmpty(document.get(SearchConstants.GOODS_BR_ID_FIELD))) {
+			brand.setId(Long.valueOf(document.get(SearchConstants.GOODS_BR_ID_FIELD)));
+		}
+		brand.setNameCn(document.get(SearchConstants.GOODS_BR_NAME_CN_FIELD));
+		brand.setNameEn(document.get(SearchConstants.GOODS_BR_NAME_EN_FIELD));
+		brand.setUuid(document.get(SearchConstants.GOODS_BR_UUID_FIELD));
+		goods.setBrand(brand);
+		return goods;
 	}
 
 	/**

+ 23 - 2
search-console/src/main/java/com/uas/search/console/util/SearchUtils.java

@@ -28,6 +28,7 @@ import com.uas.search.console.LuceneProperties;
 import com.uas.search.console.core.util.ContextUtils;
 import com.uas.search.console.model.BrandSimpleInfo;
 import com.uas.search.console.model.ComponentSimpleInfo;
+import com.uas.search.console.model.GoodsSimpleInfo;
 import com.uas.search.console.model.KindSimpleInfo;
 import com.uas.search.console.model.OrderInvoiceSimpleInfo;
 import com.uas.search.console.model.OrderSimpleInfo;
@@ -170,7 +171,25 @@ public class SearchUtils {
 		if (id == null) {
 			throw new SearchException("输入无效:" + id);
 		}
-		List<Document> documents = getDocuments(tableName, field, Long.toString(id));
+		return getDocumentById(tableName, field, Long.toString(id));
+	}
+
+	/**
+	 * 根据域和搜索词获取指定表的Document(每个id最多只能对应一条数据)
+	 * 
+	 * @param tableName
+	 *            表名
+	 * @param field
+	 *            搜索域
+	 * @param keyword
+	 *            搜索词
+	 * @return Document
+	 */
+	public static Document getDocumentById(String tableName, String field, String id) {
+		if (id == null) {
+			throw new SearchException("输入无效:" + id);
+		}
+		List<Document> documents = getDocuments(tableName, field, id);
 		if (CollectionUtils.isEmpty(documents)) {
 			return null;
 		} else if (documents.size() > 1) {
@@ -296,7 +315,9 @@ public class SearchUtils {
 			return SearchConstants.BRAND_TABLE_NAME;
 		} else if (clazz == ComponentSimpleInfo.class) {
 			return SearchConstants.COMPONENT_TABLE_NAME;
-		} else if (clazz == OrderSimpleInfo.class) {
+		} else if (clazz == GoodsSimpleInfo.class) {
+			return SearchConstants.GOODS_TABLE_NAME;
+		}else if (clazz == OrderSimpleInfo.class) {
 			return SearchConstants.ORDER_TABLE_NAME;
 		} else if (clazz == OrderInvoiceSimpleInfo.class) {
 			return SearchConstants.ORDER_INVOICE_TABLE_NAME;

+ 1 - 0
search-console/src/main/webapp/WEB-INF/views/console.html

@@ -50,6 +50,7 @@
 					<li><a target="_blank">search/kind/12</a></li>
 					<li><a target="_blank">search/brand/12</a></li>
 					<li><a target="_blank">search/component/12</a></li>
+					<li><a target="_blank">search/goods/AAAevvAAHAAI1EIAAB</a></li>
 				</ol>
 			</ol>
 		</div>