From c22963a2ee796e59094524cadc5a78c450ed98f8 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 01 八月 2019 17:54:29 +0800
Subject: [PATCH] 动态分享无券 + 下架 不能分享

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java |   76 +++++++++++++++++++++++++++++--------
 1 files changed, 59 insertions(+), 17 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 165ada6..f318b12 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
@@ -16,6 +16,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.NumberUtil;
 import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.google.gson.Gson;
@@ -32,6 +33,7 @@
 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.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -56,6 +58,7 @@
 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.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 
@@ -110,8 +113,8 @@
 	 *            鍟嗗搧閾炬帴
 	 * @param out
 	 */
-	@RequestMapping(value = "getNewGoodsInfo", method = RequestMethod.POST)
-	public void getNewGoodsInfo(AcceptData acceptData, String text, PrintWriter out) {
+	@RequestMapping(value = "getRecommendInfo", method = RequestMethod.POST)
+	public void getRecommendInfo(AcceptData acceptData, String text, PrintWriter out) {
 		if (StringUtil.isNullOrEmpty(text)) {
 			out.print(JsonUtil.loadFalseResult("鍊间负绌�"));
 			return;
@@ -128,13 +131,10 @@
 		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);
+			String pattern = "^[A-Za-z0-9]+$";
+			if (Pattern.matches(pattern, text)) {
+				out.println(JsonUtil.loadFalseResult("涓嶆敮鎸佹帹鑽�"));
+				return;
 			}
 
 			LogHelper.test("鏍规嵁绮樿创鏉挎帹鑽�:" + text);
@@ -143,6 +143,11 @@
 				out.print(JsonUtil.loadFalseResult("鍊艰繃闀�"));
 				return;
 			}
+
+			if (analysisTaoToken(text, out)) {
+				return;
+			}
+
 			JSONObject root = new JSONObject();
 
 			root.put("type", 2);
@@ -195,20 +200,59 @@
 		JSONObject taoBaoGoodsJSON = new JSONObject();
 		taoBaoGoodsJSON.put("title", tb.getTitle());
 		taoBaoGoodsJSON.put("zkPrice", tb.getZkPrice());
-		taoBaoGoodsJSON.put("auctionId", tb.getAuctionId());
+		taoBaoGoodsJSON.put("id", tb.getAuctionId());
+		taoBaoGoodsJSON.put("goodsType", Constant.SOURCE_TYPE_TAOBAO);
 		taoBaoGoodsJSON.put("url", "http://item.taobao.com/item.htm?id=" + tb.getAuctionId());
-		data.put("taoBaoGoodsBrief", taoBaoGoodsJSON);
+		data.put("goods", 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());
+		data.put("imgs", tb.getImgList());
 		JSONObject root = new JSONObject();
 		root.put("type", 1);
 		root.put("data", data);
 
 		out.print(JsonUtil.loadTrueResult(root));
+	}
+
+	private boolean analysisTaoToken(String text, PrintWriter out) {
+		String token = StringUtil.picUpTaoToken(text);
+		if (!StringUtil.isNullOrEmpty(token)) {
+			Long auctionId = TaoKeApiUtil.tokenConvertAuctionId(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("id", tb.getAuctionId());
+					taoBaoGoodsJSON.put("goodsType", Constant.SOURCE_TYPE_TAOBAO);
+					taoBaoGoodsJSON.put("url", "http://item.taobao.com/item.htm?id=" + tb.getAuctionId());
+					data.put("goods", taoBaoGoodsJSON);
+					if (!StringUtil.isNullOrEmpty(tb.getPictUrl())) {
+						if (tb.getImgList() == null)
+							tb.setImgList(new ArrayList<>());
+						tb.getImgList().add(0, TbImgUtil.getTBSize220Img(tb.getPictUrl()));
+					}
+					data.put("imgs", tb.getImgList());
+					JSONObject root = new JSONObject();
+					root.put("type", 1);
+					root.put("data", data);
+					out.print(JsonUtil.loadTrueResult(root));
+					return true;
+				}
+			}
+		}
+		return false;
 	}
 
 	/**
@@ -591,8 +635,7 @@
 				Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 						.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 				for (JDGoods goods : goodsList) {
-					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, null, fanLiRate,
-							shareRate);
+					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate);
 					array.add(gson.toJson(goodsDetailVO));
 				}
 			}
@@ -604,7 +647,7 @@
 	}
 
 	/**
-	 * 浜笢
+	 * 鎷煎澶�
 	 * 
 	 * @param kw
 	 * @param page
@@ -668,8 +711,7 @@
 				BigDecimal shareRate = hongBaoManageService.getShareRate();
 
 				for (PDDGoodsDetail goods : goodsList) {
-					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, null, fanLiRate,
-							shareRate);
+					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, fanLiRate, shareRate);
 					array.add(gson.toJson(goodsDetailVO));
 				}
 			}

--
Gitblit v1.8.0