From 565c0a03a299de5a619f4d5b5fe593e46dbf35dd Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 28 八月 2019 15:07:58 +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 | 444 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 274 insertions(+), 170 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 0626c8b..d5df5b2 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
@@ -1,14 +1,18 @@
package com.yeshi.fanli.service.impl.dynamic;
+import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
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;
@@ -413,7 +417,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);
@@ -426,7 +435,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);
@@ -444,7 +458,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) {
@@ -458,6 +473,9 @@
}
// 澶ф窐瀹㈡暟鎹�
DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0);
+ if (daTaoKe == null) {
+ return addSuccess;
+ }
try {
daTaoKe = DaTaoKeUtil.filterDaTaoKe(TaoKeApiUtil.searchGoodsDetail(daTaoKe.getGoodsId()), daTaoKe);
@@ -465,29 +483,24 @@
}
- List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe);
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
+ TaoBaoGoodsBriefExtra goodsExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(),
+ null);
+
+ if (!goodsExtra.isCoupon() || (goodsExtra.getState() != null && goodsExtra.getState() == 1)) {
+ return addSuccess; // 宸蹭笅鏋� 銆佹棤鍒� 涓嶅姞鍏�
+ }
+
+ List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
listGoods.add(taoBaoGoodsBrief);
- BigDecimal proportion = hongBaoManageService.getFanLiRate();
- TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
- proportion.toString(), null);
- if (!taoBaoGoodsBriefExtra.isCoupon()) {
- taoBaoGoodsBriefExtra.setState(1);
- }
- taoBaoGoodsBriefExtra.setTkRate(taoBaoGoodsBrief.getTkRate());
+ goodsExtra.setTkRate(taoBaoGoodsBrief.getTkRate());
+ goodsExtra.setUpdatetime(new Date());
+ goodsExtra.setCouponInfo(null);
- // 鍒嗕韩濂栭噾
- 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);
+ goodsPicture.setGoods(goodsExtra);
// 鍟嗗搧鍒楄〃
List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
listPicture.add(goodsPicture);
@@ -516,8 +529,14 @@
listPicture.add(picture);
}
}
+ goodsExtra.setImgList(imgList);
- taoBaoGoodsBriefExtra.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);
@@ -540,6 +559,9 @@
// 淇濆瓨淇℃伅
dynamicInfoDao.insert(dynamicInfo);
+
+ addSuccess = true;
+ return addSuccess;
}
/**
@@ -896,56 +918,128 @@
return list;
}
-
-
+
+ private Map<Long, TaoBaoGoodsBrief> getFilterGoodsMap(List<DynamicInfo> list) {
+ // 鎻愬彇杩囨护鍟嗗搧
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ for (DynamicInfo dynamicInfo : list) {
+ List<GoodsPicture> gpList = dynamicInfo.getImgs();
+ if (gpList != null)
+ for (GoodsPicture gp : gpList) {
+ if (gp != null && gp.getGoods() != null) {
+ TaoBaoGoodsBriefExtra newGoods = new TaoBaoGoodsBriefExtra();
+ try {
+ PropertyUtils.copyProperties(newGoods, gp.getGoods());
+ goodsList.add(newGoods);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ e.printStackTrace();
+ } catch (NoSuchMethodException e) {
+ e.printStackTrace();
+ }
+
+ }
+ }
+ }
+ goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
+ Map<Long, TaoBaoGoodsBrief> map = new HashMap<>();
+ if (goodsList != null)
+ for (TaoBaoGoodsBrief goods : goodsList)
+ map.put(goods.getAuctionId(), goods);
+ return map;
+ }
+
@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);
-
+ // 闇�瑕佹洿鏂扮殑鍟嗗搧
+ List<TaoBaoGoodsBrief> taoBaoGoodsUpdateList = new ArrayList<>();
if (list != null && list.size() > 0) {
+ // 鎻愬彇鍟嗗搧
+ Map<Long, TaoBaoGoodsBrief> goodsMap = getFilterGoodsMap(list);
+
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
-
- for (DynamicInfo dynamicInfo: list) {
-
- TaoBaoShop shop = dynamicInfo.getShop();
- if (shop != null) {
- Integer userType = shop.getUserType();
- if (userType == null || userType == 0) {
- shop.setUserType(10);
- } else {
- shop.setUserType(11);
- }
- dynamicInfo.setShop(shop);
+ for (DynamicInfo dynamicInfo : list) {
+ DynamicInfo dynamicNew = new DynamicInfo();
+ try {
+ PropertyUtils.copyProperties(dynamicNew, dynamicInfo);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
}
-
-
- List<GoodsPicture> imgs = dynamicInfo.getImgs();
+
+ // 搴楅摵淇℃伅
+ TaoBaoShop shop = dynamicNew.getShop();
+ if (shop != null) {
+ TaoBaoShop shopNew = new TaoBaoShop();
+ try {
+ PropertyUtils.copyProperties(shopNew, shop);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+ 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) {
+ 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();
+
+ taoBaoGoodsUpdateList.add(goods);
+
+ GoodsPicture goodsNew = new GoodsPicture();
+ try {
+ PropertyUtils.copyProperties(goodsNew, goodsPicture);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+
+ // 杩囨护鍒镐俊鎭笌璧勯噾淇℃伅
+ goods.setCouponAmount(goodsMap.get(goods.getAuctionId()).getCouponAmount());
+ goods.setZkPrice(goodsMap.get(goods.getAuctionId()).getZkPrice());
+ goods.setCouponStartFee(goodsMap.get(goods.getAuctionId()).getCouponStartFee());
+ goods.setTkRate(goodsMap.get(goods.getAuctionId()).getTkRate());
+
+ 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);
+ JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache(jumpDetail.getType(),
+ platform, version);
if (jumpDetailV2 != null) {
- goodsPicture.setJumpDetail(jumpDetailV2);
+ goodsNew.setJumpDetail(jumpDetailV2);
}
}
+
+ imgsNew.add(goodsNew);
}
+ dynamicNew.setImgs(imgsNew);
}
- dynamicInfo.setImgs(imgs);
+ listNew.add(dynamicNew);
}
}
-
-
+
// 鏇存柊鍟嗗搧淇℃伅
executor.execute(new Runnable() {
@Override
@@ -954,167 +1048,177 @@
}
});
- return list;
+ taoBaoGoodsUpdateService.addUpdateQueueAsync(taoBaoGoodsUpdateList);
+ return listNew;
}
-
/**
* 鏇存柊鍟嗗搧淇℃伅
*/
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());
+ boolean needUpdate = false;
+ // 宸蹭笅鏋禝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 {
+
+ // 闇�瑕佹洿鏂颁俊鎭紱
+ needUpdate = true;
+ }
+
+ // 鏃犳晥鏇存柊淇℃伅
+ if (!needUpdate) {
+ continue;
+ }
+
+ // 鏇存柊鍟嗗搧淇℃伅
+ 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