From e753d1c35c4437356ceaf376dc6c512b40f09b7f Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 06 六月 2019 09:25:44 +0800 Subject: [PATCH] 精选库入库 优化 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java | 104 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 64 insertions(+), 40 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java index f30422d..cb831d6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java @@ -3,14 +3,12 @@ import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; -import java.util.HashMap; +import java.util.Collections; 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; @@ -24,7 +22,6 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.lable.QualityFactory; import com.yeshi.fanli.entity.bus.recommend.Honest; -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.BusinessSystem; @@ -36,14 +33,16 @@ 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.entity.taobao.dataoke.DaTaoKeDetail; 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.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService; +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.user.HistorySearchService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.EhcacheUtil; @@ -52,7 +51,6 @@ 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; @@ -88,6 +86,13 @@ @Resource private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; + + @Resource + private TaoBaoShopService taoBaoShopService; + + + @Resource + private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; @RequestMapping(value = "gethotsearch", method = RequestMethod.POST) public void getHotSearch(AcceptData acceptData, PrintWriter out) { @@ -410,12 +415,12 @@ historySearchService.addHistorySearch(kw, bid); - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); - if (system == null) { - out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); - return; - } +// BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), +// acceptData.getPackages()); +// if (system == null) { +// out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); +// return; +// } if (!StringUtil.isNullOrEmpty(kw) && (kw.startsWith("http://") || kw.startsWith("https://"))) { out.print(JsonUtil.loadFalseResult("鏃犳硶鎼滅储閾炬帴")); @@ -449,6 +454,7 @@ JSONObject data = null; if (!recommend) { + // 娣樺疂鎺ュ彛璇锋眰 data = searchGoods(kw, page, filter, order, startprice, endprice); } else { @@ -602,38 +608,44 @@ sf.setParams(params); } + // 鎼滅储澶ф窐瀹� + List<DaTaoKeDetail> daTaoKeList = null; + if (page == 1) + daTaoKeList = daTaoKeGoodsDetailService.listByDtitle(kw); + TaoBaoSearchResult result = TaoBaoUtil.search(sf); 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())); + // 鏆傛椂鏀惧純鏇存柊鍒拌惀閿�鍟嗗搧搴� + // 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 (Exception e) { -// e.printStackTrace(); -// } + ThreadUtil.run(new Runnable() { + @Override + public void run() { + // 鏇存柊鍒扮珐瀛� + for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) + taoBaoGoodsCacheUtil.saveCommonTaoBaoGoodsInfo(goods); + } + }); + // } catch (Exception e) { + // e.printStackTrace(); + // } } @@ -645,14 +657,26 @@ data.put("nav", gson.toJson(navList)); List<TaoBaoGoodsBriefExtra> re = new ArrayList<TaoBaoGoodsBriefExtra>(); List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs(); + if (taoBaoGoodsBriefs == null) + taoBaoGoodsBriefs = new ArrayList<>(); + + try { + if (daTaoKeList != null && daTaoKeList.size() > 0) { + Collections.reverse(daTaoKeList); + for (DaTaoKeDetail detail : daTaoKeList) { + taoBaoGoodsBriefs.add(0,TaoBaoUtil.convert(detail)); + } + } + } catch (Exception e) { + } + int fq = sf.getQuan(); int fh = sf.getHongbao(); boolean ft = sf.isTmall(); - Map<String, String> map = manageService.convertMap(); BigDecimal proportion = manageService.getFanLiRate(); if (fq == 0 && fh == 0 && !ft) { - if (result != null && result.getTaoBaoGoodsBriefs() != null) - for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) { + if (result != null && taoBaoGoodsBriefs != null) + for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) { int count = bf.getBiz30day(); if (count >= 10000) { // 瀵归攢閲忔暟鎹仛澶勭悊 椤甸潰灞曠ず7.3涓� double sales = count; -- Gitblit v1.8.0