From 20d1a38a0f8049873f1fbbaef96c22e971ea9d77 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 17 七月 2019 15:50:09 +0800
Subject: [PATCH] 搜索词

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java |  148 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 146 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
index 93822f3..cc9bd05 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -6,7 +6,10 @@
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import javax.annotation.Resource;
 
@@ -14,6 +17,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -31,6 +35,7 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
 import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
 import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
@@ -45,11 +50,13 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.Utils;
 import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
 import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.jd.JDUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
 import com.yeshi.fanli.util.taobao.SearchFilterUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
@@ -95,6 +102,143 @@
 	@Resource
 	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
 
+	
+	
+	/**
+	 * 绮樿创鏉夸俊鎭帹鑽�
+	 * 
+	 * @param acceptData
+	 * @param url
+	 *            鍟嗗搧閾炬帴
+	 * @param out
+	 */
+	@RequestMapping(value = "getNewGoodsInfo", method = RequestMethod.POST)
+	public void getNewGoodsInfo(AcceptData acceptData, String text, PrintWriter out) {
+		if (StringUtil.isNullOrEmpty(text)) {
+			out.print(JsonUtil.loadFalseResult("鍊间负绌�"));
+			return;
+		}
+
+		if (text.length() > 256) {
+			out.print(JsonUtil.loadFalseResult("鍊艰繃闀�"));
+			return;
+		}
+
+		TaoBaoGoodsBrief tb = null;
+		String URL_REGEX = "(((http|https)://)|(www\\.))[a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6}(:[0-9]{1,4})?(/[a-zA-Z0-9\\&%_\\./-~-]*)?";
+
+		Pattern p = Pattern.compile(URL_REGEX);
+		Matcher matcher = p.matcher(text);
+		if (!matcher.find()) {// 涓嶅寘鍚摼鎺�
+			// 鍟嗗搧璇︽儏
+			// 鍙戠幇
+			// 娌℃湁閾炬帴锛屾爣棰樿繃闀夸篃涓嶅鐞�
+			if (text.startsWith("銆�") && text.contains("銆�")) {
+				int end = text.indexOf("銆�");
+				if (end > 2)
+					text = text.substring(1, end);
+			}
+
+			LogHelper.test("鏍规嵁绮樿创鏉挎帹鑽�:" + text);
+
+			if (text.length() > 80) {
+				out.print(JsonUtil.loadFalseResult("鍊艰繃闀�"));
+				return;
+			}
+
+			SearchFilter sf = new SearchFilter();
+			sf.setKey(text);
+			JSONObject root = new JSONObject();
+
+			TaoBaoSearchResult result = TaoBaoUtil.search(sf);
+			if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0)
+				for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) {
+					// 鏄睘浜庢窐瀹濊仈鐩熷晢鍝�
+					if (goods.getTitle().equalsIgnoreCase(text)) {
+						root.put("type", 2);
+						JSONObject data = new JSONObject();
+						data.put("title", goods.getTitle());
+						root.put("data", data);
+						out.print(JsonUtil.loadTrueResult(root));
+						return;
+					}
+				}
+
+			// 鏌ヨ澶ф窐瀹㈡爣棰�
+			List<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listByDtitle(text);
+			if (list != null && list.size() > 0) {
+				root.put("type", 2);
+				JSONObject data = new JSONObject();
+				data.put("title", list.get(0).getdTitle());
+				root.put("data", data);
+				out.print(JsonUtil.loadTrueResult(root));
+				return;
+			}
+
+			out.print(JsonUtil.loadFalseResult("鏆備笉鏀寔璇ョ被鍨嬶紒"));
+			return;
+		}
+
+		text = matcher.group();
+		if (text.contains("ju.taobao.com") || text.contains(".juhuasuan.com")) {// 鑱氬垝绠�
+			int index = text.indexOf("item_id");
+			if (index < 0) {
+				out.println(JsonUtil.loadFalseResult("鏆傛湭鎵惧埌璇ュ晢鍝侊紝璇风◢鍚庡啀璇曪紒"));
+				return;
+			}
+			text = text.substring(index);
+			int last = text.indexOf("&");
+			String id = "";
+			if (last > 0)
+				id = text.substring(text.indexOf("=") + 1, text.indexOf("&"));
+			else {
+				id = text.substring(text.indexOf("=" + 1));
+			}
+			tb = TaoBaoUtil.isAlimama(id);
+			if (tb == null) {
+				tb = TaoBaoUtil.parsePhoneTmAndTb(id);
+			}
+		} else if (text.contains("http://zmnxbc.com")) { // 鎵嬫満绔ぉ鐚獳PP鍒嗕韩
+			tb = TaoBaoUtil.parsePhoneShareUrlByTM(text);
+		} else if (text.contains("h5.m.taobao") || text.contains("detail.m.tmall") || text.contains("item.taobao")
+				|| text.contains("detail.tmall")) { // 鎵嬫満椤甸潰鍜岀數鑴戦〉闈�
+			Map<String, String> map = Utils.parseURL(text);
+			String id = "";
+			id = map.get("id").replace("}", "");
+			tb = TaoBaoUtil.isAlimama(id);
+			if (tb == null) {
+				tb = TaoBaoUtil.parsePhoneTmAndTb(id);
+			}
+		} else {
+			tb = TaoBaoUtil.parsePhoneShareUrlByTB(text);
+		}
+
+		if (tb == null) {
+			out.println(JsonUtil.loadFalseResult("鏆傛湭鎵惧埌璇ュ晢鍝侊紝璇风◢鍚庡啀璇曪紒"));
+			return;
+		}
+		JSONObject data = new JSONObject();
+		JSONObject taoBaoGoodsJSON = new JSONObject();
+		taoBaoGoodsJSON.put("title", tb.getTitle());
+		taoBaoGoodsJSON.put("zkPrice", tb.getZkPrice());
+		taoBaoGoodsJSON.put("auctionId", tb.getAuctionId());
+		taoBaoGoodsJSON.put("url", "http://item.taobao.com/item.htm?id=" + tb.getAuctionId());
+		data.put("taoBaoGoodsBrief", taoBaoGoodsJSON);
+		if (!StringUtil.isNullOrEmpty(tb.getPictUrl())) {
+			if (tb.getImgList() == null)
+				tb.setImgList(new ArrayList<>());
+			tb.getImgList().add(0, TbImgUtil.getTBSize220Img(tb.getPictUrl()));
+		}
+		data.put("tbImgs", tb.getImgList());
+		JSONObject root = new JSONObject();
+		root.put("type", 1);
+		root.put("data", data);
+
+		out.print(JsonUtil.loadTrueResult(root));
+	}
+	
+	
+	
 	/**
 	 * 鎼滅储鍊欓�夎瘝
 	 * 
@@ -113,9 +257,9 @@
 		if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
 			list = TaoBaoUtil.getSuguestSearch(kw);
 		} else if (goodsType == Constant.SOURCE_TYPE_JD) {
-
+			list = JDUtil.suggestSearch(kw);
 		} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
-
+			list = PinDuoDuoUtil.suggestSearch(kw);
 		}
 
 		if (list == null || list.size() == 0) {

--
Gitblit v1.8.0