From 8e30aa7c1f0384f09278699318b4902b815b42a7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2019 18:01:25 +0800 Subject: [PATCH] 维权返利初步修改,拼多多初步增加 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java | 51 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 31 insertions(+), 20 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 d5361c6..c40d309 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,18 +1,20 @@ 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.DaTaoKeGoodsService; import com.yeshi.fanli.util.RedisManager; -import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; @Service @@ -27,35 +29,44 @@ public void startSyncGoods() { // 鍒ゆ柇鏄惁鏈夋鍦ㄨ繘琛岀殑鏇存柊 String key1 = "dataoke-updating"; - if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key1))) - return; - - String key2 = "dataoke-update-time"; - String updateTime = redisManager.getCommonString(key2); - if (!StringUtil.isNullOrEmpty(updateTime)) { - DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(1); - if (result.getUpdateTime().equalsIgnoreCase(updateTime)) {// 鍜屼笂娆℃洿鏂板湪鍚屼竴鏃堕棿 - return; - } - } + // if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key1))) + // return; // 寮�濮嬫洿鏂� - redisManager.cacheCommonString(key1, "1"); - List<DaTaoKeDetail> goodsList = new ArrayList<>(); - for (int p = 1; p < 2000; p++) { + 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); - goodsList.addAll(result.getDetailList()); if (result.getDetailList().size() < 50)// 鏇存柊瀹屾垚 { redisManager.removeCommonString(key1); break; } + addGoodsList(result.getDetailList()); + totalCount += result.getDetailList().size(); } - - // - - + LogHelper.test("澶ф窐瀹㈡�诲叡鏇存柊鏁版嵁鏁伴噺:" + totalCount); + // 娓呴櫎杩囨湡鏁版嵁 + if (totalCount > 50000)// 淇濊瘉鏈�5w鏁版嵁鍐嶆竻闄よ繃鏈� + { + daTaoKeDetailMapper.deleteByMinUpdateTime(firstTime); + LogHelper.test("鍒犻櫎澶ф窐瀹㈣繃鏈熸暟鎹�:" + totalCount); + } + } + + @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); } } -- Gitblit v1.8.0