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 | 68 ++++++++++++++++++++++------------ 1 files changed, 44 insertions(+), 24 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 ac246eb..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 @@ -9,16 +9,17 @@ 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; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; @@ -33,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鏁版嵁鍐嶆竻闄よ繃鏈� @@ -93,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); @@ -121,8 +119,7 @@ public List<DaTaoKeDetail> listByIds(List<Long> idList) { return daTaoKeDetailMapper.listByIds(idList); } - - + @Override public List<DaTaoKeDetail> listByDtitle(String dtitle) { @@ -140,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