Browse Source

Merge remote-tracking branch 'origin/dev-mysql' into dev-mysql

suntg 8 years ago
parent
commit
f9098ce87c

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/controller/SearcherController.java

@@ -251,7 +251,7 @@ public class SearcherController {
 	 */
 	@RequestMapping(value = "/similarKeywords", method = RequestMethod.GET)
 	@ResponseBody
-	public List<String> getSimilarKeywords(String keyword) {
+	public Map<String,Object> getSimilarKeywords(String keyword) {
 		return searcherService.getSimilarKeywords(keyword);
 	}
 

+ 14 - 5
src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java

@@ -203,16 +203,25 @@ public class SearchServiceImpl implements SearchService{
     }
 
     @Override
-    public List<String> getSimilarKeywords(String keyword) throws SearchException {
+    public Map<String,Object> getSimilarKeywords(String keyword) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
-        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KEYWORD_URL, String.class, map);
-        if(StringUtils.isEmpty(str)) {
+        //String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KEYWORD_URL, String.class, map);
+        String strC = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_COMPONENT_URL, String.class, map);
+        String strB = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_BRAND_URL, String.class, map);
+        String strK = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KIND_URL, String.class, map);
+        if(StringUtils.isEmpty(strC) && StringUtils.isEmpty(strB) && StringUtils.isEmpty(strK)) {
             return null;
         }else {
             try {
-                List<String> reMap = FastjsonUtils.fromJson(str, List.class);
-                return reMap;
+                List<String> reMapC = FastjsonUtils.fromJson(strC, List.class);
+                List<String> reMapB = FastjsonUtils.fromJson(strB, List.class);
+                List<String> reMapK = FastjsonUtils.fromJson(strK, List.class);
+                map.clear();
+                map.put("kind",reMapK);
+                map.put("componet",reMapC);
+                map.put("brand",reMapB);
+                return map;
             }catch (Exception e) {
                 e.printStackTrace();
                 return null;

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/rpc/service/SearchService.java

@@ -33,7 +33,7 @@ public interface SearchService {
 
     List<Map<String, Object>> getBrandsBySearchComponent(String keyword, String kindId) throws SearchException;
 
-    List<String> getSimilarKeywords(String keyword) throws SearchException;
+    Map<String,Object> getSimilarKeywords(String keyword) throws SearchException;
 
     List<Map<String, Object>> getSimilarComponents(String keyword) throws SearchException;
 

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/service/SearcherService.java

@@ -104,7 +104,7 @@ public interface SearcherService {
 	 * @param keyword 关键词
 	 * @return 联想词
 	 */
-	public List<String> getSimilarKeywords(String keyword);
+	public Map<String,Object> getSimilarKeywords(String keyword);
 
 	/**
 	 * 根据输入的原厂型号获取联想词

+ 6 - 4
src/main/java/com/uas/platform/b2c/common/search/service/impl/SearcherServiceImpl.java

@@ -279,15 +279,17 @@ public class SearcherServiceImpl implements SearcherService {
 	}
 
 	@Override
-	public List<String> getSimilarKeywords(String keyword) {
-		List<String> result = new ArrayList<>();
+	public Map<String,Object> getSimilarKeywords(String keyword) {
+		Map<String,Object> result = null;
 		try {
 			result = searchService.getSimilarKeywords(keyword);
 		} catch (SearchException e) {
 			throwSystemException(e);
 		}
-		if (result.size() > 8) {
-			result = result.subList(0,8);
+		for (Entry<String, Object> entry : result.entrySet()) {
+			if(((List)entry.getValue()).size()>8){
+				entry.setValue(((List)entry.getValue()).subList(0,8));
+			}
 		}
 		return result;
 	}