Browse Source

提取Document转为类目、品牌、器件对象的方法至DocumentToObjectUtils;

sunyj 9 years ago
parent
commit
5dd6df310a

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

@@ -9,6 +9,7 @@ import java.util.Set;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
@@ -159,21 +160,21 @@ public class SearchController {
 		return searchService.getSimilarPropertyValues(kindId, propertyId, keyword, topNum);
 	}
 
-	@RequestMapping("/kind")
+	@RequestMapping("/kind/{id}")
 	@ResponseBody
-	public KindSimpleInfo getKind(Long kindId) {
-		return innerSearchService.getKind(kindId);
+	public KindSimpleInfo getKind(@PathVariable Long id) {
+		return innerSearchService.getKind(id);
 	}
 
-	@RequestMapping("/brand")
+	@RequestMapping("/brand/{id}")
 	@ResponseBody
-	public BrandSimpleInfo getBrand(Long brandId) {
-		return innerSearchService.getBrand(brandId);
+	public BrandSimpleInfo getBrand(@PathVariable Long id) {
+		return innerSearchService.getBrand(id);
 	}
 
-	@RequestMapping("/component")
+	@RequestMapping("/component/{id}")
 	@ResponseBody
-	public ComponentSimpleInfo getComponent(Long componentId) {
-		return innerSearchService.getComponent(componentId);
+	public ComponentSimpleInfo getComponent(@PathVariable Long id) {
+		return innerSearchService.getComponent(id);
 	}
 }

+ 1 - 1
search-console/src/main/java/com/uas/search/console/model/ParsedQueueMessage.java

@@ -31,7 +31,7 @@ public class ParsedQueueMessage {
 	private int methodType;
 
 	/**
-	 * 存放解析出来的对象:kind、brand或component对象
+	 * 存放解析出来的对象:kind、brand或component、order、purchase等对象
 	 */
 	private Object[] objects;
 

+ 6 - 6
search-console/src/main/java/com/uas/search/console/service/InnerSearchService.java

@@ -14,24 +14,24 @@ public interface InnerSearchService {
 	/**
 	 * 根据id获取类目
 	 * 
-	 * @param kindId
+	 * @param id
 	 * @return
 	 */
-	public KindSimpleInfo getKind(Long kindId);
+	public KindSimpleInfo getKind(Long id);
 
 	/**
 	 * 根据id获取品牌
 	 * 
-	 * @param brandId
+	 * @param id
 	 * @return
 	 */
-	public BrandSimpleInfo getBrand(Long brandId);
+	public BrandSimpleInfo getBrand(Long id);
 
 	/**
 	 * 根据id获取器件
 	 * 
-	 * @param componentId
+	 * @param id
 	 * @return
 	 */
-	public ComponentSimpleInfo getComponent(Long componentId);
+	public ComponentSimpleInfo getComponent(Long id);
 }

+ 7 - 34
search-console/src/main/java/com/uas/search/console/service/impl/SearchServiceImpl.java

@@ -29,6 +29,7 @@ import com.uas.search.console.model.BrandSimpleInfo;
 import com.uas.search.console.model.ComponentSimpleInfo;
 import com.uas.search.console.model.KindSimpleInfo;
 import com.uas.search.console.service.InnerSearchService;
+import com.uas.search.console.util.DocumentToObjectUtils;
 import com.uas.search.console.util.SearchConstants;
 import com.uas.search.console.util.SearchUtils;
 import com.uas.search.exception.SearchException;
@@ -674,46 +675,18 @@ public class SearchServiceImpl implements SearchService, InnerSearchService {
 	}
 
 	@Override
-	public KindSimpleInfo getKind(Long kindId) {
-		KindSimpleInfo kind = null;
-		Document document = SearchUtils.getDocumentById(SearchConstants.KIND_ID_FIELD, kindId);
-		if (document != null) {
-			kind = new KindSimpleInfo();
-			kind.setId(kindId);
-			kind.setNameCn(document.get(SearchConstants.KIND_NAMECN_FIELD));
-			kind.setIsLeaf(Short.valueOf(document.get(SearchConstants.KIND_ISLEAF_FIELD)));
-			kind.setLevel(Short.valueOf(document.get(SearchConstants.KIND_LEVEL_FIELD)));
-		}
-		return kind;
+	public KindSimpleInfo getKind(Long id) {
+		return DocumentToObjectUtils.toKind(SearchUtils.getDocumentById(SearchConstants.KIND_ID_FIELD, id));
 	}
 
 	@Override
-	public BrandSimpleInfo getBrand(Long brandId) {
-		BrandSimpleInfo brand = null;
-		Document document = SearchUtils.getDocumentById(SearchConstants.BRAND_ID_FIELD, brandId);
-		if (document != null) {
-			brand = new BrandSimpleInfo();
-			brand.setId(brandId);
-			brand.setNameCn(document.get(SearchConstants.BRAND_NAMECN_FIELD));
-			brand.setNameEn(document.get(SearchConstants.BRAND_NAMEEN_FIELD));
-			brand.setUuid(document.get(SearchConstants.BRAND_UUID_FIELD));
-		}
-		return brand;
+	public BrandSimpleInfo getBrand(Long id) {
+		return DocumentToObjectUtils.toBrand(SearchUtils.getDocumentById(SearchConstants.BRAND_ID_FIELD, id));
 	}
 
 	@Override
-	public ComponentSimpleInfo getComponent(Long componentId) {
-		ComponentSimpleInfo component = null;
-		Document document = SearchUtils.getDocumentById(SearchConstants.COMPONENT_ID_FIELD, componentId);
-		if (document != null) {
-			component = new ComponentSimpleInfo();
-			component.setId(componentId);
-			component.setCode(document.get(SearchConstants.COMPONENT_CODE_FIELD));
-			component.setUuid(document.get(SearchConstants.COMPONENT_UUID_FIELD));
-			component.setKindid(Long.valueOf(document.get(SearchConstants.COMPONENT_KINDID_FIELD)));
-			component.setBrandid(Long.valueOf(document.get(SearchConstants.COMPONENT_BRANDID_FIELD)));
-		}
-		return component;
+	public ComponentSimpleInfo getComponent(Long id) {
+		return DocumentToObjectUtils.toComponent(SearchUtils.getDocumentById(SearchConstants.COMPONENT_ID_FIELD, id));
 	}
 
 }

+ 58 - 0
search-console/src/main/java/com/uas/search/console/util/DocumentToObjectUtils.java

@@ -4,7 +4,10 @@ import java.util.Date;
 
 import org.apache.lucene.document.Document;
 
+import com.uas.search.console.model.BrandSimpleInfo;
+import com.uas.search.console.model.ComponentSimpleInfo;
 import com.uas.search.console.model.EnterpriseSimpleInfo;
+import com.uas.search.console.model.KindSimpleInfo;
 import com.uas.search.console.model.OrderDetailSimpleInfo;
 import com.uas.search.console.model.OrderInvoiceDetailSimpleInfo;
 import com.uas.search.console.model.OrderInvoiceSimpleInfo;
@@ -22,6 +25,61 @@ import com.uas.search.console.model.PurchaseSimpleInfo;
  */
 public class DocumentToObjectUtils {
 
+	/**
+	 * 将Document转换为类目对象
+	 * 
+	 * @param document
+	 * @return
+	 */
+	public static KindSimpleInfo toKind(Document document) {
+		if (document == null) {
+			return null;
+		}
+		KindSimpleInfo kind = new KindSimpleInfo();
+		kind.setId(Long.valueOf(document.get(SearchConstants.KIND_ID_FIELD)));
+		kind.setNameCn(document.get(SearchConstants.KIND_NAMECN_FIELD));
+		kind.setIsLeaf(Short.valueOf(document.get(SearchConstants.KIND_ISLEAF_FIELD)));
+		kind.setLevel(Short.valueOf(document.get(SearchConstants.KIND_LEVEL_FIELD)));
+		return kind;
+	}
+
+	/**
+	 * 将Document转换为品牌对象
+	 * 
+	 * @param document
+	 * @return
+	 */
+	public static BrandSimpleInfo toBrand(Document document) {
+		if (document == null) {
+			return null;
+		}
+		BrandSimpleInfo brand = new BrandSimpleInfo();
+		brand.setId(Long.valueOf(document.get(SearchConstants.BRAND_ID_FIELD)));
+		brand.setNameCn(document.get(SearchConstants.BRAND_NAMECN_FIELD));
+		brand.setNameEn(document.get(SearchConstants.BRAND_NAMEEN_FIELD));
+		brand.setUuid(document.get(SearchConstants.BRAND_UUID_FIELD));
+		return brand;
+	}
+
+	/**
+	 * 将Document转换为器件对象
+	 * 
+	 * @param document
+	 * @return
+	 */
+	public static ComponentSimpleInfo toComponent(Document document) {
+		if (document == null) {
+			return null;
+		}
+		ComponentSimpleInfo component = new ComponentSimpleInfo();
+		component.setId(Long.valueOf(document.get(SearchConstants.COMPONENT_ID_FIELD)));
+		component.setCode(document.get(SearchConstants.COMPONENT_CODE_FIELD));
+		component.setUuid(document.get(SearchConstants.COMPONENT_UUID_FIELD));
+		component.setKindid(Long.valueOf(document.get(SearchConstants.COMPONENT_KINDID_FIELD)));
+		component.setBrandid(Long.valueOf(document.get(SearchConstants.COMPONENT_BRANDID_FIELD)));
+		return component;
+	}
+
 	/**
 	 * 将Document转换为销售单对象
 	 *