From 6fdcc0c26dd33e87a024a69ed635d9aedb59cad6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 07 一月 2020 12:02:50 +0800
Subject: [PATCH] 订单搜索引擎增量更新

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java |   63 +++++++++++++++++++------------
 1 files changed, 39 insertions(+), 24 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 94f78e6..881f331 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
@@ -37,7 +37,7 @@
 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.TaobaoGoodsDownException;
 import com.yeshi.fanli.exception.user.TokenRecordException;
 import com.yeshi.fanli.log.LogHelper;
@@ -50,10 +50,11 @@
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
 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.HistorySearchService;
 import com.yeshi.fanli.service.inter.user.TokenRecordService;
 import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
+import com.yeshi.fanli.service.manger.goods.jd.JDGoodsLinkParseManager;
 import com.yeshi.fanli.tag.PageEntity;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.DouYinUtil;
@@ -116,7 +117,7 @@
 	private TaoBaoShopService taoBaoShopService;
 
 	@Resource
-	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
 
 	@Resource(name = "taskExecutor")
 	private TaskExecutor executor;
@@ -132,6 +133,9 @@
 
 	@Resource
 	private BrandInfoService brandInfoService;
+
+	@Resource
+	private JDGoodsLinkParseManager jdGoodsLinkParseManager;
 
 	/**
 	 * 绮樿创鏉夸俊鎭帹鑽�
@@ -149,6 +153,7 @@
 		}
 		// 鍘婚櫎鍓嶅悗绌烘牸
 		text = text.trim();
+		String originalText = text;
 
 		try {
 			TokenVO tokenVO = tokenRecordService.discernToken(text, uid, acceptData);
@@ -227,7 +232,7 @@
 			tb = TaoBaoUtil.isAlimama(id);
 			if (tb == null) {
 				type = 4;
-				tb = getTaoBaoGoodsBriefFromGoodsId(id);
+				tb = getTaoBaoGoodsBriefFromGoodsId(id, originalText);
 			}
 		} else if (text.contains("http://zmnxbc.com")) { // 鎵嬫満绔ぉ鐚獳PP鍒嗕韩
 			tb = TaoBaoUtil.parsePhoneShareUrlByTM(text);
@@ -239,7 +244,7 @@
 			tb = TaoBaoUtil.isAlimama(id);
 			if (tb == null) {
 				type = 4;
-				tb = getTaoBaoGoodsBriefFromGoodsId(id);
+				tb = getTaoBaoGoodsBriefFromGoodsId(id, originalText);
 			}
 		} else if (text.contains("v.douyin.com")) { // 鎶栭煶
 			analysisDouYin(acceptData, text, out);
@@ -250,7 +255,7 @@
 			if (tb == null) {
 				String goodsId = TaoBaoUtil.getGoodsIdByPhoneShareUrl(text);
 				if (!StringUtil.isNullOrEmpty(goodsId)) {
-					tb = getTaoBaoGoodsBriefFromGoodsId(goodsId);
+					tb = getTaoBaoGoodsBriefFromGoodsId(goodsId, originalText);
 					if (tb != null)
 						type = 4;
 				}
@@ -267,7 +272,7 @@
 
 				// 棰嗗埜鐭繛鎺�
 				if (StringUtil.isNullOrEmpty(jdId) && text.contains("u.jd.com")) {
-					jdId = JDUtil.getJDGoodsIdByUJD(text);
+					jdId = jdGoodsLinkParseManager.parseGoodsIdByJDShortUrl(text);
 				}
 
 				if (!StringUtil.isNullOrEmpty(jdId)) {
@@ -363,9 +368,8 @@
 			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 			data.put("type", type);
-			data.put("goods",
-					gson.toJson(GoodsDetailVOFactory.convertCommonGoods(commonGoods,hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
-							acceptData.getVersion()))));
+			data.put("goods", gson.toJson(GoodsDetailVOFactory.convertCommonGoods(commonGoods,
+					hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), acceptData.getVersion()))));
 			out.print(JsonUtil.loadTrueResult(data));
 			return;
 		}
@@ -401,12 +405,22 @@
 		out.print(JsonUtil.loadTrueResult(root));
 	}
 
-	private TaoBaoGoodsBrief getTaoBaoGoodsBriefFromGoodsId(String goodsId) {
+	private TaoBaoGoodsBrief getTaoBaoGoodsBriefFromGoodsId(String goodsId, String text) {
 		TaoBaoGoodsBrief tb = TaoBaoUtil.getTmallGoodsInfo(goodsId);
 		if (tb == null && NumberUtil.isNumeric(goodsId)) {// 鏄暟瀛�
-			tb = TaoBaoUtil.getSimpleGoodsBrief(Long.parseLong(goodsId));
-			if (tb != null) {
-				tb.setPictUrl(TbImgUtil.getTBSize220Img(tb.getPictUrl()));
+			// tb = TaoBaoUtil.getSimpleGoodsBrief(Long.parseLong(goodsId));
+			// if (tb != null) {
+			// tb.setPictUrl(TbImgUtil.getTBSize220Img(tb.getPictUrl()));
+			// }
+			if (tb == null) {
+				tb = new TaoBaoGoodsBrief();
+				if (text.trim().indexOf("銆�") == 0 && text.trim().indexOf("銆�") > 0) {
+					// 鎴彇鏍囬
+					String title = text.trim().substring(1, text.trim().lastIndexOf("銆�"));
+					tb.setAuctionId(Long.parseLong(goodsId));
+					tb.setTitle(title);
+					tb.setPictUrl("http://");
+				}
 			}
 		}
 		return tb;
@@ -487,9 +501,8 @@
 						JSONObject data = new JSONObject();
 						data.put("type", 3);
 						data.put("goods",
-								gson.toJson(GoodsDetailVOFactory.convertTaoBao(goodsBrief,
-										hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
-												acceptData.getVersion()))));
+								gson.toJson(GoodsDetailVOFactory.convertTaoBao(goodsBrief, hongBaoManageService
+										.getShowComputeRate(acceptData.getPlatform(), acceptData.getVersion()))));
 						out.print(JsonUtil.loadTrueResult(data));
 						return true;
 					}
@@ -720,9 +733,9 @@
 		}
 
 		// 鎼滅储澶ф窐瀹�
-		List<DaTaoKeDetail> daTaoKeList = null;
+		List<DaTaoKeDetailV2> daTaoKeList = null;
 		if (page == 1) {
-			daTaoKeList = daTaoKeGoodsDetailService.listByDtitle(key);
+			daTaoKeList = daTaoKeGoodsDetailV2Service.listByDtitle(key);
 		}
 
 		// 娣樺疂api鎼滅储鍟嗗搧
@@ -751,7 +764,7 @@
 		if (daTaoKeList != null && daTaoKeList.size() > 0) {
 			try {
 				Collections.reverse(daTaoKeList);
-				for (DaTaoKeDetail detail : daTaoKeList) {
+				for (DaTaoKeDetailV2 detail : daTaoKeList) {
 					taoBaoGoodsBriefs.add(0, TaoBaoUtil.convert(detail));
 				}
 			} catch (Exception e) {
@@ -759,7 +772,7 @@
 		}
 
 		List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>();
-		ConfigParamsDTO paramsDTO =  hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
+		ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
 				acceptData.getVersion());
 
 		for (TaoBaoGoodsBrief goods : taoBaoGoodsBriefs) {
@@ -780,13 +793,15 @@
 					|| ("android".equalsIgnoreCase(platform) && VersionUtil.greaterThan_2_0_2(platform, version))) {
 				BrandInfoVO brandInfoVO = null;
 				try {
-					brandInfoVO = brandInfoService.listByAlikeName(key,acceptData.getPlatform(),acceptData.getVersion());
+					brandInfoVO = brandInfoService.listByAlikeName(key, acceptData.getPlatform(),
+							acceptData.getVersion());
 				} catch (Exception e) {
 				}
 				if (brandInfoVO != null)
 					data.put("shop", JsonUtil.getApiCommonGson().toJson(brandInfoVO));
 			} else {
-				List<TaoBaoShopVO> listShop = taoBaoShopService.getShopByKeyV2(key,acceptData.getPlatform(),acceptData.getVersion());
+				List<TaoBaoShopVO> listShop = taoBaoShopService.getShopByKeyV2(key, acceptData.getPlatform(),
+						acceptData.getVersion());
 				if (listShop != null && listShop.size() > 0 && listShop.get(0).getListGoodsVO() != null
 						&& listShop.get(0).getListGoodsVO().size() > 2) {
 					TaoBaoShopVO taoBaoShop = listShop.get(0);
@@ -1047,7 +1062,7 @@
 			Gson gson = JsonUtil.getApiCommonGson();
 			List<PDDGoodsDetail> goodsList = result.getGoodsList();
 			if (goodsList != null && goodsList.size() > 0) {
-				ConfigParamsDTO paramsDTO =  hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
+				ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
 						acceptData.getVersion());
 
 				for (PDDGoodsDetail goods : goodsList) {

--
Gitblit v1.8.0