From 26b5b1a6bbbb5ff64dc2ec73cf8b11f1aa61c1c5 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 14 五月 2019 11:03:25 +0800 Subject: [PATCH] Merge branch 'div_8' --- fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java | 76 +++++++++++++++++++++++--------------- 1 files changed, 46 insertions(+), 30 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java index 295c8c6..d50db6e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java @@ -3,12 +3,14 @@ import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import javax.annotation.Resource; +import javax.print.attribute.standard.NumberUp; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Controller; @@ -34,6 +36,7 @@ import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; +import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; 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,8 +48,11 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.EhcacheUtil; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.ThreadUtil; +import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; import com.yeshi.fanli.util.taobao.SearchFilterUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import net.sf.ehcache.Element; import net.sf.json.JSONArray; @@ -80,9 +86,13 @@ @Resource private QualityGoodsService qualityGoodsService; + @Resource + private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; + @RequestMapping(value = "gethotsearch", method = RequestMethod.POST) public void getHotSearch(AcceptData acceptData, PrintWriter out) { - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages()); + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -96,7 +106,8 @@ List<HotSearch> hotSearchList = new ArrayList<HotSearch>(); for (SuperHotSearch superHotSearch : superHotSearchList) { HotSearch hotSearch = superHotSearch.getHotSearch(); - hotSearchList.add(hotSearch); + if (hotSearch != null) + hotSearchList.add(hotSearch); } JSONObject data = new JSONObject(); @@ -160,7 +171,8 @@ String endprice, String fastFilter, PrintWriter out) { String bid = getHistorySearchBid(acceptData); historySearchService.addHistorySearch(kw, bid); - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages()); + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -351,32 +363,6 @@ return data; } - @RequestMapping(value = "gethistorysearch", method = RequestMethod.POST) - public void getHistorySearch(AcceptData acceptData, PrintWriter out) { - String bid = getHistorySearchBid(acceptData); - List<HistorySearch> historySearchList = historySearchService.getHistorySearch(bid); - if (historySearchList == null || historySearchList.size() == 0) { - out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); - return; - } - JSONObject data = new JSONObject(); - data.put("count", historySearchList.size()); - Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); - data.put("historySearchList", gson.toJson(historySearchList)); - out.print(JsonUtil.loadTrueResult(data)); - return; - } - - @RequestMapping(value = "clearhistorysearch", method = RequestMethod.POST) - public void clearHistorySearch(AcceptData acceptData, PrintWriter out) { - String bid = getHistorySearchBid(acceptData); - long count = historySearchService.clearHistorySearch(bid); - JSONObject data = new JSONObject(); - data.put("count", count); - out.print(JsonUtil.loadTrueResult(data)); - return; - } - @RequestMapping(value = "suggestsearch", method = RequestMethod.POST) public void getSugguestSearch(AcceptData acceptData, String kw, PrintWriter out) { List<String> list = TaoBaoUtil.getSuguestSearch(kw); @@ -424,7 +410,8 @@ historySearchService.addHistorySearch(kw, bid); - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages()); + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -619,6 +606,35 @@ if (result == null) { return null; } + // 鎼滅储鏄惁鍦ㄨ惀閿�涓诲晢鍝佸簱 + if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) { + String numIds = ""; + for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) { + numIds += goods.getAuctionId() + ","; + } + if (numIds.endsWith(",")) + numIds = numIds.substring(0, numIds.length() - 1); + try { + List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getBatchGoodsInfos(numIds); + Map<Long, Integer> map = new HashMap<>(); + for (TaoBaoGoodsBrief g : goodsList) + map.put(g.getAuctionId(), g.getMaterialLibType()); + for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) + goods.setMaterialLibType(map.get(goods.getAuctionId())); + + ThreadUtil.run(new Runnable() { + @Override + public void run() { + // 鏇存柊鍒扮珐瀛� + for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) + taoBaoGoodsCacheUtil.saveCommonTaoBaoGoodsInfo(goods); + } + }); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + + } List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav(); if (result.getNavList() != null) -- Gitblit v1.8.0