From 51a4ff5d777028d52a19c314a99f796334cb7b51 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 23 十一月 2019 18:30:01 +0800 Subject: [PATCH] 配置文件修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java | 71 ++++++++++++++++++++++++----------- 1 files changed, 48 insertions(+), 23 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java index 6bf6f04..d4a45e3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.taobao.dataoke; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -8,11 +9,13 @@ import javax.annotation.Resource; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.taobao.dataoke.DaTaoKeDetailMapper; import com.yeshi.fanli.dto.dataoke.DaTaoKeApiResult; +import com.yeshi.fanli.dto.dataoke.DingDongQiangDTO; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; import com.yeshi.fanli.log.LogHelper; @@ -31,27 +34,23 @@ @Override public void startSyncGoods() { - + LogHelper.test("澶ф窐瀹㈠悓姝ュ紑濮�"); // 鍒ゆ柇鏄惁鏈夋鍦ㄨ繘琛岀殑鏇存柊 - String key1 = "dataoke-updating"; - // if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key1))) - // return; - - // 寮�濮嬫洿鏂� - redisManager.cacheCommonString(key1, "1", 60 * 20); long firstTime = System.currentTimeMillis() - 1000 * 60 * 5L; int totalCount = 0; for (int p = 1; p <= 2000; p++) {// 10W鏁版嵁 - DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(p); - if (result.getDetailList().size() < 50)// 鏇存柊瀹屾垚 - { - redisManager.removeCommonString(key1); - break; + try { + DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(p); + if (result.getDetailList().size() < 50)// 鏇存柊瀹屾垚 + { + break; + } + addGoodsList(result.getDetailList()); + totalCount += result.getDetailList().size(); + } catch (Exception e) { + e.printStackTrace(); } - addGoodsList(result.getDetailList()); - totalCount += result.getDetailList().size(); } - LogHelper.test("澶ф窐瀹㈡�诲叡鏇存柊鏁版嵁鏁伴噺:" + totalCount); // 娓呴櫎杩囨湡鏁版嵁 if (totalCount > 50000)// 淇濊瘉鏈�5w鏁版嵁鍐嶆竻闄よ繃鏈� @@ -91,8 +90,9 @@ List<DaTaoKeDetail> dtList = listByGoodsIds(goodsIdList); Map<Long, DaTaoKeDetail> map = new HashMap<>(); - for (DaTaoKeDetail goods : dtList) - map.put(goods.getGoodsId(), goods); + if (dtList != null) + for (DaTaoKeDetail goods : dtList) + map.put(goods.getGoodsId(), goods); for (TaoBaoGoodsBrief goods : goodsList) { DaTaoKeDetail detail = map.get(goods.getAuctionId()); goods = DaTaoKeUtil.filterTaoBaoGoods(goods, detail); @@ -108,8 +108,10 @@ List<DaTaoKeDetail> daTaoKeList = daTaoKeDetailMapper.listByGoodsIds(goodsIdList); if (daTaoKeList == null || daTaoKeList.size() == 0) return goods; + // 閲嶆柊璁剧疆鏍囬涓庡埜浠锋牸 goods = DaTaoKeUtil.filterTaoBaoGoods(goods, daTaoKeList.get(0)); + return goods; } @@ -117,10 +119,10 @@ public List<DaTaoKeDetail> listByIds(List<Long> idList) { return daTaoKeDetailMapper.listByIds(idList); } - - + @Override public List<DaTaoKeDetail> listByDtitle(String dtitle) { + return daTaoKeDetailMapper.listByDtitle(dtitle.trim()); } @@ -135,10 +137,33 @@ return daTaoKeDetailMapper.countSearchByTitleWithCid(title, (cid == null || cid == 0 ? null : cid)); } - - @Override - public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId,int count) { - return daTaoKeDetailMapper.getGoodsNotInList(cid, listId,count); + public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId, int count) { + return daTaoKeDetailMapper.getGoodsNotInList(cid, listId, count); } + + @Override + public List<DaTaoKeDetail> listByCidAndMaxPrice(Integer cid, BigDecimal maxPrice, int page, int pageSize) { + return daTaoKeDetailMapper.listByCidAndMaxMinPrice(cid, maxPrice, null, (page - 1) * pageSize, pageSize); + } + + @Override + public Long countByCidAndMaxPrice(Integer cid, BigDecimal maxPrice) { + + return daTaoKeDetailMapper.countByCidAndMaxMinPrice(cid, maxPrice, null); + } + + + private void updateGoods(Long id) { + DaTaoKeDetail detail = daTaoKeDetailMapper.selectByPrimaryKey(id); + if (detail != null) + return; + detail = DaTaoKeApiUtil.getGoodsDetailV1(id); + if (detail != null) { + List<DaTaoKeDetail> list = new ArrayList<>(); + list.add(detail); + addGoodsList(list); + } + } + } -- Gitblit v1.8.0