From d2c88e6ba5780393715898ec15477526330555fe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 08 五月 2019 11:21:57 +0800 Subject: [PATCH] 热销商品 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java | 77 ++++++++++++++------------------------ 1 files changed, 28 insertions(+), 49 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java index c40d309..3158ab7 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java @@ -1,72 +1,51 @@ package com.yeshi.fanli.service.impl.taobao.dataoke; import java.util.ArrayList; -import java.util.Date; import java.util.List; import javax.annotation.Resource; 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.entity.taobao.dataoke.DaTaoKeDetail; -import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService; -import com.yeshi.fanli.util.RedisManager; -import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; +import com.yeshi.fanli.util.taobao.DaTaoKeUtil; @Service public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService { - @Resource - private DaTaoKeDetailMapper daTaoKeDetailMapper; @Resource - private RedisManager redisManager; + private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; - @Override - public void startSyncGoods() { - // 鍒ゆ柇鏄惁鏈夋鍦ㄨ繘琛岀殑鏇存柊 - 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; + private List<DaTaoKeDetail> reSearchDetails(List<DaTaoKeDetail> list) { + List<Long> idList = new ArrayList<>(); + if (list != null) { + for (DaTaoKeDetail detail : list) { + idList.add(detail.getId()); } - addGoodsList(result.getDetailList()); - totalCount += result.getDetailList().size(); - } - - LogHelper.test("澶ф窐瀹㈡�诲叡鏇存柊鏁版嵁鏁伴噺:" + totalCount); - // 娓呴櫎杩囨湡鏁版嵁 - if (totalCount > 50000)// 淇濊瘉鏈�5w鏁版嵁鍐嶆竻闄よ繃鏈� - { - daTaoKeDetailMapper.deleteByMinUpdateTime(firstTime); - LogHelper.test("鍒犻櫎澶ф窐瀹㈣繃鏈熸暟鎹�:" + totalCount); - } + List<DaTaoKeDetail> detailList = daTaoKeGoodsDetailService.listByIds(idList); + return detailList; + } else + return null; } - @Transactional - private void addGoodsList(List<DaTaoKeDetail> goodsList) { - List<Long> idList = new ArrayList<>(); - for (DaTaoKeDetail goods : goodsList) { - goods.setUpdateTime(new Date()); - idList.add(goods.getId()); - } - // 鎵归噺鍒犻櫎 - daTaoKeDetailMapper.deleteByIdList(idList); - // 鎵归噺鎻掑叆 - daTaoKeDetailMapper.insertByBatch(goodsList); + @Override + public List<DaTaoKeDetail> getCurrentSalesRankGoodsList(Long cid) { + List<DaTaoKeDetail> list = DaTaoKeUtil.getCurrentSalesRank(cid); + return reSearchDetails(list); + } + + @Override + public List<DaTaoKeDetail> getCurrentDaySalesRankGoodsList(Long cid) { + List<DaTaoKeDetail> list = DaTaoKeUtil.getCurrentDaySalesRank(cid); + return reSearchDetails(list); + } + + @Override + public List<DaTaoKeDetail> getCurrentHotSalesRankGoodsList() { + List<DaTaoKeDetail> list = DaTaoKeUtil.getCurrentHotSalesRank(); + return reSearchDetails(list); } } -- Gitblit v1.8.0