From e65037e672ecab852e2a6c5b242cdadfd1a58b33 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 25 十一月 2019 09:30:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java | 461 ++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 320 insertions(+), 141 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 212de38..720aaf9 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;
@@ -17,6 +21,7 @@
import org.yeshi.utils.taobao.TbImgUtil;
import com.yeshi.fanli.dao.dynamic.DynamicInfoDao;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.taobao.TaoBaoShopDTO;
import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
@@ -24,6 +29,7 @@
import com.yeshi.fanli.entity.bus.activity.RecommendActivityInviteInfo;
import com.yeshi.fanli.entity.bus.activity.RecommendActivityTaoBaoGoods;
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
+import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.dynamic.DynamicInfo;
import com.yeshi.fanli.entity.dynamic.GoodsPicture;
import com.yeshi.fanli.entity.dynamic.InviteMaterial;
@@ -38,7 +44,7 @@
import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
import com.yeshi.fanli.service.inter.dynamic.InviteMaterialService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
@@ -48,9 +54,11 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import net.sf.json.JSONObject;
@@ -141,7 +149,7 @@
buffer.append(" ");
buffer.append("鏃╁畨锝瀄n");
buffer.append("鎴戠殑閭�璇风爜锛氥�愰個璇风爜銆慭n");
- buffer.append("璐墿鐪侀挶杩斿埄鍒窤pp锛氥�愰個璇烽摼鎺ャ��");
+ buffer.append("璐墿鐪侀挶鏉挎牀蹇渷App锛氥�愰個璇烽摼鎺ャ��");
content = content.replaceAll("\\,", "\\锛�").replaceAll("\\.", "\\銆�").replaceAll("\\;", "\\锛�")
.replaceAll("\\!", "\\锛�").replaceAll("\\?", "\\锛�").replaceAll("\\:", "\\锛�");
@@ -265,6 +273,9 @@
if (StringUtil.isNullOrEmpty(shopLink)) {
taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
}
+
+ if(StringUtil.isNullOrEmpty(taoBaoShop.getShopIcon()))
+ taoBaoShop.setShopIcon(dynamicShopInfo.getShopIcon());
DynamicInfo dynamicVO = new DynamicInfo();
dynamicVO.setId(brandId);
@@ -410,7 +421,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);
@@ -423,7 +439,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);
@@ -441,7 +462,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) {
@@ -455,30 +477,34 @@
}
// 澶ф窐瀹㈡暟鎹�
DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0);
+ if (daTaoKe == null) {
+ return addSuccess;
+ }
+
+ try {
+ daTaoKe = DaTaoKeUtil.filterDaTaoKe(TaoKeApiUtil.searchGoodsDetail(daTaoKe.getGoodsId()), daTaoKe);
+ } catch (Exception e) {
+
+ }
+
+ 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>();
- TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe);
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);
@@ -507,8 +533,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);
@@ -531,6 +563,9 @@
// 淇濆瓨淇℃伅
dynamicInfoDao.insert(dynamicInfo);
+
+ addSuccess = true;
+ return addSuccess;
}
/**
@@ -888,163 +923,307 @@
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();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
+
+ for (DynamicInfo dynamicInfo : list) {
+ DynamicInfo dynamicNew = new DynamicInfo();
+ try {
+ PropertyUtils.copyProperties(dynamicNew, dynamicInfo);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+
+ // 搴楅摵淇℃伅
+ 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) {
+ TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
+ if (goods == null) {
+ imgsNew.add(goodsPicture);
+ continue;
+ }
+
+ 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, paramsDTO);
+
+ goodsNew.setGoodsVO(detailVO);
+ goodsNew.setGoods(null);
+
+ JumpDetailV2 jumpDetail = goodsNew.getJumpDetail();
+ if (jumpDetail != null) {
+ JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache(jumpDetail.getType(),
+ platform, version);
+ if (jumpDetailV2 != null) {
+ goodsNew.setJumpDetail(jumpDetailV2);
+ }
+ }
+
+ imgsNew.add(goodsNew);
+ }
+ dynamicNew.setImgs(imgsNew);
+ }
+ listNew.add(dynamicNew);
+ }
+ }
+
+ // 鏇存柊鍟嗗搧淇℃伅
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ updateGoodInfo(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