From 3fc84b5d4b36ce9ab5cea84ee1b54942c8e04ef9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 08 八月 2019 16:55:52 +0800 Subject: [PATCH] 拼多多短链修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 74 insertions(+), 46 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java index e17efea..59636a0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java @@ -414,7 +414,12 @@ public void insertTimeHotSale() { Long classId = 1L; try { - saveHotSale(classId, 0L); + for (int i = 0; i < 3; i++) { + boolean addSuccess = saveHotSale(classId, 0L); + if (addSuccess) { + break; + } + } } catch (Exception e) { try { LogHelper.errorDetailInfo(e); @@ -427,7 +432,12 @@ List<GoodsClass> list = DaTaoKeUtil.goodsClasses; for (GoodsClass goodsClass : list) { try { - saveHotSale(classId, goodsClass.getId()); + for (int i = 0; i < 3; i++) { + boolean addSuccess = saveHotSale(classId, goodsClass.getId()); + if (addSuccess) { + break; + } + } } catch (Exception e) { try { LogHelper.errorDetailInfo(e); @@ -445,7 +455,8 @@ * @param subclassId * @throws TaobaoGoodsDownException */ - public void saveHotSale(Long classId, Long subclassId) throws TaobaoGoodsDownException { + public boolean saveHotSale(Long classId, Long subclassId) throws TaobaoGoodsDownException { + boolean addSuccess = false; List<Long> listId = null; List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId); if (listInfo != null && listInfo.size() > 0) { @@ -459,6 +470,9 @@ } // 澶ф窐瀹㈡暟鎹� DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0); + if (daTaoKe == null) { + return addSuccess; + } try { daTaoKe = DaTaoKeUtil.filterDaTaoKe(TaoKeApiUtil.searchGoodsDetail(daTaoKe.getGoodsId()), daTaoKe); @@ -466,41 +480,27 @@ } - // 杩囨护涓虹┖鐨� - if (daTaoKe == null) { - return; - } - - List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); - listGoods.add(taoBaoGoodsBrief); - BigDecimal proportion = hongBaoManageService.getFanLiRate(); - TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, + TaoBaoGoodsBriefExtra goodsExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); - // 鍟嗗搧鍥剧墖 - GoodsPicture goodsPicture = getGoodsPicture(daTaoKe); - if (!taoBaoGoodsBriefExtra.isCoupon()) { - taoBaoGoodsBriefExtra.setState(1); - goodsPicture.setGoodState(1); + if (!goodsExtra.isCoupon() || (goodsExtra.getState() != null && goodsExtra.getState() == 1)) { + return addSuccess; // 宸蹭笅鏋� 銆佹棤鍒� 涓嶅姞鍏� } - taoBaoGoodsBriefExtra.setTkRate(taoBaoGoodsBrief.getTkRate()); - taoBaoGoodsBriefExtra.setUpdatetime(new Date()); - taoBaoGoodsBriefExtra.setCouponInfo(null); - goodsPicture.setGoods(taoBaoGoodsBriefExtra); + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); + listGoods.add(taoBaoGoodsBrief); + + goodsExtra.setTkRate(taoBaoGoodsBrief.getTkRate()); + goodsExtra.setUpdatetime(new Date()); + goodsExtra.setCouponInfo(null); + + GoodsPicture goodsPicture = getGoodsPicture(daTaoKe); + goodsPicture.setGoods(goodsExtra); // 鍟嗗搧鍒楄〃 List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); listPicture.add(goodsPicture); - - // 鍒嗕韩濂栭噾 - BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief); - ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); - shareMoneyDesc.setColor("#FFFFFF"); - shareMoneyDesc.setBottomColor("#E8AE48"); - shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); - // 鑾峰彇鍟嗗搧鍒楄〃鍥剧墖 TaoBaoGoodsBrief taoBaoGoodsBrief2 = TaoKeApiUtil.getSimpleGoodsInfo(daTaoKe.getGoodsId()); @@ -526,8 +526,14 @@ listPicture.add(picture); } } - - taoBaoGoodsBriefExtra.setImgList(imgList); + goodsExtra.setImgList(imgList); + + // 鍒嗕韩濂栭噾 + BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief); + ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); + shareMoneyDesc.setColor("#FFFFFF"); + shareMoneyDesc.setBottomColor("#E8AE48"); + shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); // 缁勭粐鍔ㄦ�佷俊鎭� DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId); @@ -550,6 +556,9 @@ // 淇濆瓨淇℃伅 dynamicInfoDao.insert(dynamicInfo); + + addSuccess = true; + return addSuccess; } /** @@ -909,7 +918,7 @@ @Override -// @Cacheable(value = "dynamicCache", key = "'queryV2-'+#platform+'-'+#version+'-'+#start+'-'+#count+'-'+#cid+'-'+#subId") + @Cacheable(value = "dynamicCache", key = "'queryV2-'+#platform+'-'+#version+'-'+#start+'-'+#count+'-'+#cid+'-'+#subId") public List<DynamicInfo> queryV2(int platform, int version, int start, int count, Long cid, Long subId) { List<DynamicInfo> listNew = new ArrayList<DynamicInfo>(); List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId); @@ -925,43 +934,62 @@ continue; } + // 搴楅摵淇℃伅 TaoBaoShop shop = dynamicNew.getShop(); if (shop != null) { - Integer userType = shop.getUserType(); - if (userType == null || userType == 0) { - shop.setUserType(10); - } else { - shop.setUserType(11); + TaoBaoShop shopNew = new TaoBaoShop(); + try { + PropertyUtils.copyProperties(shopNew, shop); + } catch (Exception e) { + e.printStackTrace(); + continue; } - dynamicNew.setShop(shop); + Integer userType = shopNew.getUserType(); + if (userType == null || userType == 0) { + shopNew.setUserType(10); + } else { + shopNew.setUserType(11); + } + dynamicNew.setShop(shopNew); } - + List<GoodsPicture> imgsNew = new ArrayList<GoodsPicture>(); List<GoodsPicture> imgs = dynamicNew.getImgs(); if (imgs != null && imgs.size() > 0) { for (GoodsPicture goodsPicture: imgs) { TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods(); if (goods == null) { + imgsNew.add(goodsPicture); continue; } - GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBaoGoodsBriefExtra(goods, fanLiRate, shareRate); - goodsPicture.setGoodsVO(detailVO); - goodsPicture.setGoods(null); - JumpDetailV2 jumpDetail = goodsPicture.getJumpDetail(); + GoodsPicture goodsNew = new GoodsPicture(); + try { + PropertyUtils.copyProperties(goodsNew, goodsPicture); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBaoGoodsBriefExtra(goods, fanLiRate, shareRate); + goodsNew.setGoodsVO(detailVO); + goodsNew.setGoods(null); + + JumpDetailV2 jumpDetail = goodsNew.getJumpDetail(); if (jumpDetail != null) { JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache(jumpDetail.getType(), platform, version); if (jumpDetailV2 != null) { - goodsPicture.setJumpDetail(jumpDetailV2); + goodsNew.setJumpDetail(jumpDetailV2); } } + + imgsNew.add(goodsNew); } + dynamicNew.setImgs(imgsNew); } - dynamicNew.setImgs(imgs); listNew.add(dynamicNew); } } - // 鏇存柊鍟嗗搧淇℃伅 executor.execute(new Runnable() { -- Gitblit v1.8.0