From 9a82179d24ec670ba1aefef6906b8acadf58da6e Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期六, 03 八月 2019 12:13:31 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 292 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 156 insertions(+), 136 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 ed65a19..f1d2871 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 @@ -9,6 +9,7 @@ import javax.annotation.Resource; +import org.apache.commons.beanutils.PropertyUtils; import org.springframework.cache.annotation.Cacheable; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; @@ -18,7 +19,6 @@ import com.yeshi.fanli.dao.dynamic.DynamicInfoDao; import com.yeshi.fanli.dto.taobao.TaoBaoShopDTO; -import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser; import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.bus.activity.RecommendActivity; @@ -460,6 +460,17 @@ // 澶ф窐瀹㈡暟鎹� DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0); + try { + daTaoKe = DaTaoKeUtil.filterDaTaoKe(TaoKeApiUtil.searchGoodsDetail(daTaoKe.getGoodsId()), daTaoKe); + } catch (Exception e) { + + } + + // 杩囨护涓虹┖鐨� + if (daTaoKe == null) { + return; + } + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe); listGoods.add(taoBaoGoodsBrief); @@ -467,25 +478,29 @@ BigDecimal proportion = hongBaoManageService.getFanLiRate(); TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); + + // 鍟嗗搧鍥剧墖 + GoodsPicture goodsPicture = getGoodsPicture(daTaoKe); if (!taoBaoGoodsBriefExtra.isCoupon()) { taoBaoGoodsBriefExtra.setState(1); + goodsPicture.setGoodState(1); } taoBaoGoodsBriefExtra.setTkRate(taoBaoGoodsBrief.getTkRate()); - + taoBaoGoodsBriefExtra.setUpdatetime(new Date()); + taoBaoGoodsBriefExtra.setCouponInfo(null); + goodsPicture.setGoods(taoBaoGoodsBriefExtra); + + // 鍟嗗搧鍒楄〃 + 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); - // 鍟嗗搧鍥剧墖 - GoodsPicture goodsPicture = getGoodsPicture(daTaoKe); - taoBaoGoodsBriefExtra.setUpdatetime(new Date()); - taoBaoGoodsBriefExtra.setCouponInfo(null); - goodsPicture.setGoods(taoBaoGoodsBriefExtra); - // 鍟嗗搧鍒楄〃 - List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>(); - listPicture.add(goodsPicture); + // 鑾峰彇鍟嗗搧鍒楄〃鍥剧墖 TaoBaoGoodsBrief taoBaoGoodsBrief2 = TaoKeApiUtil.getSimpleGoodsInfo(daTaoKe.getGoodsId()); @@ -896,15 +911,21 @@ @Override @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); - if (list != null && list.size() > 0) { BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); BigDecimal shareRate = hongBaoManageService.getShareRate(); - for (DynamicInfo dynamicInfo: list) { + DynamicInfo dynamicNew = new DynamicInfo(); + try { + PropertyUtils.copyProperties(dynamicNew, dynamicInfo); + } catch (Exception e) { + e.printStackTrace(); + continue; + } - TaoBaoShop shop = dynamicInfo.getShop(); + TaoBaoShop shop = dynamicNew.getShop(); if (shop != null) { Integer userType = shop.getUserType(); if (userType == null || userType == 0) { @@ -912,11 +933,11 @@ } else { shop.setUserType(11); } - dynamicInfo.setShop(shop); + dynamicNew.setShop(shop); } - List<GoodsPicture> imgs = dynamicInfo.getImgs(); + List<GoodsPicture> imgs = dynamicNew.getImgs(); if (imgs != null && imgs.size() > 0) { for (GoodsPicture goodsPicture: imgs) { TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods(); @@ -936,7 +957,8 @@ } } } - dynamicInfo.setImgs(imgs); + dynamicNew.setImgs(imgs); + listNew.add(dynamicNew); } } @@ -948,8 +970,7 @@ updateGoodInfo(list); } }); - - return list; + return listNew; } @@ -957,159 +978,158 @@ * 鏇存柊鍟嗗搧淇℃伅 */ public void updateGoodInfo(List<DynamicInfo> list) { - - // 澶栫綉杩涜鏇存柊 if (!Constant.IS_OUTNET) { - return; + return; // 澶栫綉杩涜鏇存柊 } if (list == null || list.size() == 0) { return; } - - BigDecimal proportion = hongBaoManageService.getFanLiRate(); - for (DynamicInfo dynamicInfo : list) { - // 閭�璇锋暟鎹笉鍋氭洿鏂� - long classId = dynamicInfo.getClassId(); - if (classId == 4) { - break; - } - - // 鏇存柊鍟嗗搧淇℃伅 - List<GoodsPicture> imgs = dynamicInfo.getImgs(); - if (imgs == null || imgs.size() == 0) { - continue; - } - - // 鏄惁涓�涓皬鏃朵箣鍐呭凡鏇存柊 - Date updateTime = dynamicInfo.getUpdateTime(); - if (updateTime != null) { - long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁� - long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟 - long diff = System.currentTimeMillis() - updateTime.getTime(); - long day = diff / nd;// 璁$畻宸灏戝ぉ - long hour = diff % nd / nh + day * 24;// 璁$畻宸灏戝皬鏃� - if (hour < 1) { - continue; + + try { + BigDecimal proportion = hongBaoManageService.getFanLiRate(); + for (DynamicInfo dynamicInfo : list) { + // 閭�璇锋暟鎹笉鍋氭洿鏂� + long classId = dynamicInfo.getClassId(); + if (classId == 4) { + break; } - } - // 宸蹭笅鏋禝D - List<Long> listDown = new ArrayList<Long>(); - // 鍟嗗搧鍒楄〃 - List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); - - for (GoodsPicture goodsPicture : imgs) { - TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods(); - if (oldExtra == null) { + // 鏇存柊鍟嗗搧淇℃伅 + List<GoodsPicture> listPicture = dynamicInfo.getImgs(); + if (listPicture == null || listPicture.size() == 0) { continue; } - Integer state = oldExtra.getState(); - if (state != null && state == 1) { - continue; + // 鏄惁涓�涓皬鏃朵箣鍐呭凡鏇存柊 + Date updateTime = dynamicInfo.getUpdateTime(); + if (updateTime != null) { + long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁� + long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟 + long diff = System.currentTimeMillis() - updateTime.getTime(); + long day = diff / nd;// 璁$畻宸灏戝ぉ + long hour = diff % nd / nh + day * 24;// 璁$畻宸灏戝皬鏃� + if (hour < 1) { + continue; + } } - try { - TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); + // 宸蹭笅鏋禝D + List<Long> listDown = new ArrayList<Long>(); + // 鍟嗗搧鍒楄〃 + List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>(); - // 鏇存柊鍟嗗搧淇℃伅 + for (GoodsPicture goodsPicture : listPicture) { + TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods(); + if (oldExtra == null) { + continue; + } + + Integer state = oldExtra.getState(); + if (state != null && state == 1) { + continue; + } + + TaoBaoGoodsBrief goodsBrief = null; try { - taoBaoGoodsUpdateService.updateTaoBaoGoods(goodsBrief); - } catch (Exception e) { - e.printStackTrace(); + goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId()); + } catch (TaobaoGoodsDownException e) { } - listGoods.add(goodsBrief); + // 鏄惁涓嬫灦 锛� 1銆佸晢鍝佹湰韬笅鏋� 2銆佹棤鍒镐俊鎭垯璁や负涓嬫灦 + boolean isDown = true; - // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� - if (classId == 1) { - BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); - ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); - shareMoneyDesc.setColor("#FFFFFF"); - shareMoneyDesc.setBottomColor("#E8AE48"); - shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); - dynamicInfo.setDesc(shareMoneyDesc); + if (goodsBrief == null) { + listDown.add(oldExtra.getAuctionId()); // 涓嬫灦鍟嗗搧 + } else if (goodsBrief.getCouponAmount() != null + && goodsBrief.getCouponAmount().compareTo(BigDecimal.valueOf(0)) > 0) { + isDown = false; } - TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, - proportion.toString(), null); + if (isDown) { + oldExtra.setState(1); + oldExtra.setCoupon(false); + oldExtra.setUpdatetime(new Date()); + goodsPicture.setGoods(oldExtra); - if (!newExtra.isCoupon()) { - newExtra.setState(1); - } - newExtra.setUpdatetime(new Date()); - goodsPicture.setGoods(oldExtra); + // 鍟嗗搧宸叉姠鍏� + goodsPicture.setGoodState(1); - } catch (TaobaoGoodsDownException e) { - listDown.add(oldExtra.getAuctionId()); - - oldExtra.setState(1); - oldExtra.setCoupon(false); - oldExtra.setUpdatetime(new Date()); - goodsPicture.setGoods(oldExtra); - - // 鍟嗗搧鐪熷疄涓嬫灦 - goodsPicture.setGoodState(1); - - // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� 锛屽叾浣欎笉鍋氭洿鏂� - if (classId == 1) { - ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); - shareMoneyDesc.setColor("#FFFFFF"); - shareMoneyDesc.setBottomColor("#E8AE48"); - shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + new BigDecimal(0)); - dynamicInfo.setDesc(shareMoneyDesc); - } - e.printStackTrace(); - } - } - dynamicInfo.setImgs(imgs); - - // 鍟嗗搧宸蹭笅鏋� - List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief(); - if (listGoodsBrief != null && listGoodsBrief.size() > 0) { - - if (listGoods.size() > 0) { - if (classId == 1) { - dynamicInfo.setListGoodsBrief(listGoods); - } else { - for (int i = 0; i < listGoodsBrief.size(); i++) { - TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i); - Long auctionId = taoBaoGoodsBrief.getAuctionId(); - - boolean isadd = true; - for (TaoBaoGoodsBrief goods : listGoods) { - if (goods.getAuctionId().equals(auctionId) || goods.getAuctionId() == auctionId) { - isadd = false; - break; - } - } - - if (isadd) { - // 鍟嗗搧宸蹭笅鏋� 鍒欐坊鍔犲師鏉ュ晢鍝佷俊鎭� - if (listDown.size() > 0 && listDown.contains(taoBaoGoodsBrief.getAuctionId())) { - taoBaoGoodsBrief.setState(1); - } - listGoods.add(taoBaoGoodsBrief); - } + // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� + if (classId == 1) { + ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); + shareMoneyDesc.setColor("#FFFFFF"); + shareMoneyDesc.setBottomColor("#E8AE48"); + shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + new BigDecimal(0)); + dynamicInfo.setDesc(shareMoneyDesc); } - dynamicInfo.setListGoodsBrief(listGoods); + } else { + listGoods.add(goodsBrief); + + TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, + proportion.toString(), null); + newExtra.setUpdatetime(new Date()); + goodsPicture.setGoods(newExtra); + + // 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲� + if (classId == 1) { + BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief); + ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO(); + shareMoneyDesc.setColor("#FFFFFF"); + shareMoneyDesc.setBottomColor("#E8AE48"); + shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney); + dynamicInfo.setDesc(shareMoneyDesc); + } } - } else { + } + dynamicInfo.setImgs(listPicture); + + // 鍟嗗搧宸蹭笅鏋� + List<TaoBaoGoodsBrief> listGoodsBrief = dynamicInfo.getListGoodsBrief(); + if (listGoodsBrief != null && listGoodsBrief.size() > 0) { + // 娣樺疂宸蹭笅鏋跺晢鍝� if (listDown.size() > 0) { for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) { if (listDown.contains(taoBaoGoodsBrief.getAuctionId())) { taoBaoGoodsBrief.setState(1); } } + } + + if (listGoods.size() == 0) { dynamicInfo.setListGoodsBrief(listGoodsBrief); + } else { + List<TaoBaoGoodsBrief> listNew = new ArrayList<TaoBaoGoodsBrief>(); + for (int i = 0; i < listGoodsBrief.size(); i++) { + TaoBaoGoodsBrief taoBaoGoodsBrief = listGoodsBrief.get(i); + if (taoBaoGoodsBrief.getState() != null && taoBaoGoodsBrief.getState() == 1) { + listNew.add(taoBaoGoodsBrief); + } else { + boolean isUpdate = false; + Long auctionId = taoBaoGoodsBrief.getAuctionId(); + for (TaoBaoGoodsBrief goods : listGoods) { + if (goods.getAuctionId().equals(auctionId) || goods.getAuctionId() == auctionId) { + listNew.add(goods); + isUpdate = true; + break; + } + } + + if (!isUpdate) { + listNew.add(taoBaoGoodsBrief); + } + } + } + dynamicInfo.setListGoodsBrief(listNew); } } + dynamicInfo.setUpdateTime(new Date()); + dynamicInfoDao.updateGoodInfo(dynamicInfo); } - - dynamicInfo.setUpdateTime(new Date()); - dynamicInfoDao.updateGoodInfo(dynamicInfo); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); } + } } -- Gitblit v1.8.0