From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/DynamicRecommendController.java |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/DynamicRecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/DynamicRecommendController.java
index 7ce03fd..77c1660 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/DynamicRecommendController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/DynamicRecommendController.java
@@ -19,16 +19,20 @@
 import com.yeshi.fanli.entity.taobao.SearchFilter;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 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.exception.taobao.TaoBaoTokenParseException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.manger.goods.tb.TaoBaoTokenAuctionIdMapManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.Utils;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
 import net.sf.json.JSONObject;
 
@@ -49,7 +53,10 @@
 	private TaoBaoUnionConfigService taoBaoUnionConfigService;
 
 	@Resource
-	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+	@Resource
+	private TaoBaoTokenAuctionIdMapManager taoBaoTokenAuctionIdMapManager;
 
 	/**
 	 * 鑾峰彇鍟嗗搧淇℃伅
@@ -150,6 +157,9 @@
 		Pattern p = Pattern.compile(URL_REGEX);
 		Matcher matcher = p.matcher(text);
 		if (!matcher.find()) {// 涓嶅寘鍚摼鎺�
+			// 瑙f瀽娣樺彛浠�
+			if (analysisTaoToken(text, out))
+				return;
 			// 鍟嗗搧璇︽儏
 			// 鍙戠幇
 			// 娌℃湁閾炬帴锛屾爣棰樿繃闀夸篃涓嶅鐞�
@@ -159,7 +169,7 @@
 					text = text.substring(1, end);
 			}
 
-			LogHelper.test("鏍规嵁绮樿创鏉挎帹鑽�:"+text);
+			LogHelper.test("鏍规嵁绮樿创鏉挎帹鑽�:" + text);
 
 			if (text.length() > 80) {
 				out.print(JsonUtil.loadFalseResult("鍊艰繃闀�"));
@@ -185,11 +195,11 @@
 				}
 
 			// 鏌ヨ澶ф窐瀹㈡爣棰�
-			List<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listByDtitle(text);
+			List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listByDtitle(text);
 			if (list != null && list.size() > 0) {
 				root.put("type", 2);
 				JSONObject data = new JSONObject();
-				data.put("title", list.get(0).getdTitle());
+				data.put("title", list.get(0).getDtitle());
 				root.put("data", data);
 				out.print(JsonUtil.loadTrueResult(root));
 				return;
@@ -257,4 +267,49 @@
 		out.print(JsonUtil.loadTrueResult(root));
 	}
 
+	/**
+	 * 瑙f瀽娣樺彛浠�
+	 * 
+	 * @param text
+	 * @param out
+	 * @return
+	 */
+	private boolean analysisTaoToken(String text, PrintWriter out) {
+		List<String> tokenList = TaoBaoUtil.getTokenListFromText(text);
+		if (tokenList != null && tokenList.size() > 0) {
+			String token = tokenList.get(0);
+			Long auctionId = taoBaoTokenAuctionIdMapManager.getAuctionIdByToken(token);
+			if (auctionId != null) {
+				TaoBaoGoodsBrief tb = null;
+				try {
+					tb = TaoKeApiUtil.getSimpleGoodsInfo(auctionId);
+				} catch (TaobaoGoodsDownException e) {
+					e.printStackTrace();
+				}
+
+				if (tb != null) {
+					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));
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
 }

--
Gitblit v1.8.0