From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 23 一月 2024 17:17:55 +0800
Subject: [PATCH] 抖音转链修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java |  101 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 82 insertions(+), 19 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java
index 6c0bb36..4724b9a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java
@@ -99,7 +99,7 @@
 
     @Transactional
     @Override
-    public void deleteTaoBaoGoods(Long auctionId) {
+    public void deleteTaoBaoGoods(String auctionId) {
         // 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹�
         qualityFactoryGoodsUpdateService.deleteByTaoBaoGoodsId(auctionId);
 
@@ -109,7 +109,7 @@
 
     @Transactional
     @Override
-    public void offlineTaoBaoGoods(Long auctionId) {
+    public void offlineTaoBaoGoods(String auctionId) {
         // 鏇存柊鍔ㄦ�佹暟鎹�
         activityGoodsUpdateService.downTaoBaoGoods(auctionId);
 
@@ -134,7 +134,7 @@
         if (goods == null)
             throw new TaobaoGoodsUpdateException(1, "鍟嗗搧涓虹┖");
 
-        if (goods.getAuctionId() == null || goods.getAuctionId() == 0)
+        if (StringUtil.isNullOrEmpty( goods.getAuctionId()))
             throw new TaobaoGoodsUpdateException(2, "鍟嗗搧ID涓虹┖");
 
         // 璁剧疆鍟嗗搧姝e父涓婄嚎
@@ -146,7 +146,7 @@
             e.printStackTrace();
         }
 
-        TaoBaoGoodsBrief tb = taoBaoGoodsBriefMapper.selectByPrimaryKey(goods.getAuctionId());
+        TaoBaoGoodsBrief tb = taoBaoGoodsBriefMapper.selectOneByAuctionId(goods.getAuctionId());
         if (tb != null) {
             goods.setId(tb.getId());
             TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(goods);
@@ -174,9 +174,9 @@
 
     @Override
     public void deleteOutOfDate() {
-        List<Long> list = taoBaoGoodsBriefMapper
+        List<String> list = taoBaoGoodsBriefMapper
                 .queryCanDeleteGoods(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 2), 0, 2000);
-        for (Long auctionId : list) {
+        for (String auctionId : list) {
             deleteTaoBaoGoods(auctionId);
         }
     }
@@ -259,25 +259,25 @@
     }
 
     @Override
-    public List<Long> listNeedUpdateGoodsId(long start, int count, int hour) {
+    public List<String> listNeedUpdateGoodsId(long start, int count, int hour) {
         return taoBaoGoodsBriefMapper.listNeedUpdateGoodsId(start, count, hour);
     }
 
     @Override
-    public void updateByTaoKeGoodsDetail(Long id) {
+    public void updateByTaoKeGoodsDetail(String goodsId) {
         try {
-            TaoBaoGoodsBrief oldGoods = taoBaoGoodsBriefMapper.selectByPrimaryKey(id);
+            TaoBaoGoodsBrief oldGoods = taoBaoGoodsBriefMapper.selectOneByAuctionId(goodsId);
             if (oldGoods == null) {
                 return;
             }
 
-            TaoBaoGoodsBrief newGoods = TaoKeApiUtil.searchGoodsDetail(id);
+            TaoBaoGoodsBrief newGoods = TaoKeApiUtil.searchGoodsDetail(oldGoods.getAuctionId());
             if (newGoods == null) {
                 return;
             }
 
             // 鏇存柊绮鹃�夊晢鍝�
-            newGoods.setId(id);
+            newGoods.setId(oldGoods.getId());
             TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(newGoods);
             taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(updateGoods);
 
@@ -292,7 +292,7 @@
             }
 
         } catch (TaobaoGoodsDownException e) {
-            offlineTaoBaoGoods(id);
+            offlineTaoBaoGoods(goodsId);
         } catch (Exception e) {
             LogHelper.errorDetailInfo(e);
         }
@@ -310,15 +310,14 @@
             return;
         }
         goods.setUpdatetime(new Date());
-        if (goods.getId() == null)
-            goods.setId(goods.getAuctionId());
+        goods.setMid(goods.getAuctionId());
         taoBaoGoodsUpdateDao.save(goods);
         taoBaoGoodsCacheUtil.addUpdateHistory(goods.getAuctionId());
     }
 
     @Async
     @Override
-    public void addUpdateQueueAsync(Long auctionId) {
+    public void addUpdateQueueAsync(String auctionId) {
         addUpdateQueueSync(auctionId);
     }
 
@@ -327,7 +326,7 @@
      *
      * @param auctionId
      */
-    private void addUpdateQueueSync(Long auctionId) {
+    private void addUpdateQueueSync(String auctionId) {
         try {
             if (taoBaoGoodsCacheUtil.canAddToUpdateQueue(auctionId)) {
                 // 娣诲姞鍒版洿鏂伴槦鍒�
@@ -354,7 +353,7 @@
 
         // 鍟嗗搧杩囨护涓嶅厑璁稿嚭閿�
         try {
-            Map<Long, TaoBaoGoodsBrief> finalMap = new HashMap<>();
+            Map<String, TaoBaoGoodsBrief> finalMap = new HashMap<>();
             // 鍘熷鏁版嵁鍏ㄨ鐩�
             for (TaoBaoGoodsBrief goods : goodsList) {
                 finalMap.put(goods.getAuctionId(), goods);
@@ -373,11 +372,15 @@
             }
 
             // 鍐嶄粠mongodb涓彇瑕嗙洊
-            List<Long> auctionIds = new ArrayList<>();
+            List<String> auctionIds = new ArrayList<>();
             for (TaoBaoGoodsBrief goods : tempGoodsList) {
                 auctionIds.add(goods.getAuctionId());
             }
-            List<TaoBaoGoodsBrief> mList = taoBaoGoodsUpdateDao.listByAuctionIds(auctionIds);
+            List<TaoBaoGoodsBrief> mList =null;
+            try {
+                mList = taoBaoGoodsUpdateDao.listByAuctionIds(auctionIds);
+            }catch(Exception e){
+            }
             if (mList != null)
                 for (TaoBaoGoodsBrief goods : mList) {
                     if (goods.getUpdatetime().getTime() > System.currentTimeMillis() - 1000 * 60 * 60 * 24L)// 鍦�1澶╁唴鏇存柊鐨勬暟鎹墠鍙備笌杩囨护
@@ -408,6 +411,66 @@
     }
 
     @Override
+    public List<CommonGoods> filterImportantTaoBaoGoodsWithCommonGoods(List<CommonGoods> goodsList) {
+
+        // 鍟嗗搧杩囨护涓嶅厑璁稿嚭閿�
+        try {
+            Map<String, CommonGoods> finalMap = new HashMap<>();
+            // 鍘熷鏁版嵁鍏ㄨ鐩�
+            List<CommonGoods> tempGoodsList = new ArrayList<>();
+            for (CommonGoods goods : goodsList) {
+                if (goods.getGoodsType() == CommonGoods.SHOP_TYPE_TB) {
+                    finalMap.put(goods.getGoodsId(), goods);
+                    tempGoodsList.add(goods);
+                }
+            }
+
+            // 鍏堜粠redis閲岄潰鍙栬鐩�
+            for (int i = 0; i < tempGoodsList.size(); i++) {
+                TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil
+                        .getCommonTaoBaoGoodsInfo(tempGoodsList.get(i).getGoodsId());
+                if (goods != null) {
+                    finalMap.put(goods.getAuctionId(), CommonGoodsFactory.create(goods));
+                    tempGoodsList.remove(i--);
+                }
+            }
+
+            // 鍐嶄粠mongodb涓彇瑕嗙洊
+            List<String> auctionIds = new ArrayList<>();
+            for (CommonGoods goods : tempGoodsList) {
+                auctionIds.add(goods.getGoodsId());
+            }
+            List<TaoBaoGoodsBrief> mList = taoBaoGoodsUpdateDao.listByAuctionIds(auctionIds);
+            if (mList != null)
+                for (TaoBaoGoodsBrief goods : mList) {
+                    if (goods.getUpdatetime().getTime() > System.currentTimeMillis() - 1000 * 60 * 60 * 24L)// 鍦�1澶╁唴鏇存柊鐨勬暟鎹墠鍙備笌杩囨护
+                        finalMap.put(goods.getAuctionId(), CommonGoodsFactory.create(goods));
+                }
+
+            List<CommonGoods> finalList = new ArrayList<>();
+            for (CommonGoods goods : goodsList) {
+                if (goods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) {
+                    CommonGoods newGoods = finalMap.get(goods.getGoodsId());
+                    // 杩囨护浠锋牸锛岃繑鍒╂瘮渚嬶紝鍒镐俊鎭�
+                    goods.setPrice(newGoods.getPrice());
+                    goods.setRate(newGoods.getRate());
+                    goods.setCouponAmount(newGoods.getCouponAmount());
+                    goods.setCouponInfo(newGoods.getCouponInfo());
+                    goods.setCouponLeftCount(newGoods.getCouponLeftCount());
+                    goods.setCouponStartPrice(newGoods.getCouponStartPrice());
+                    goods.setCouponTotalCount(newGoods.getCouponTotalCount());
+                }
+
+                finalList.add(goods);
+            }
+            return finalList;
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+        return goodsList;
+    }
+
+    @Override
     public int listAndRemoveByMaxUpdateTime(Date maxTime, int page, int pageSize) {
         return taoBaoGoodsUpdateDao.listAndRemoveByMaxUpdateTime(maxTime, (page - 1) * pageSize, pageSize);
     }

--
Gitblit v1.8.0