From 4114e871bcb3dce771b6aed64a1027d0bbb95ca6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 16 五月 2019 15:28:37 +0800 Subject: [PATCH] 增加动态用户 --- fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java | 85 +++++++++++++++++++++++++----------------- 1 files changed, 51 insertions(+), 34 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 902613e..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; @@ -25,7 +27,7 @@ import com.yeshi.fanli.entity.bus.search.HistorySearch; import com.yeshi.fanli.entity.bus.search.HotSearch; import com.yeshi.fanli.entity.bus.su.search.SuperHotSearch; -import com.yeshi.fanli.entity.system.System; +import com.yeshi.fanli.entity.system.BusinessSystem; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.SearchFilter; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; @@ -34,9 +36,10 @@ 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; -import com.yeshi.fanli.service.inter.config.SystemService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService; @@ -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; @@ -57,7 +63,7 @@ public class SearchController { @Resource - private SystemService systemService; + private BusinessSystemService businessSystemService; @Resource private ConfigService configService; @@ -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) { - System system = systemService.getSystemCache(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); - System system = systemService.getSystemCache(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); - System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages()); + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); if (system == null) { out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); return; @@ -480,7 +467,8 @@ } Gson gson = new GsonBuilder().create(); - data.put("words", gson.toJson(listRecommendWords)); + if (data != null) + data.put("words", gson.toJson(listRecommendWords)); out.print(JsonUtil.loadTrueResult(data)); } @@ -618,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