From dd24286b6da752433ba5b2360929a04e5040936c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 29 五月 2019 10:57:15 +0800
Subject: [PATCH] 叮咚呛修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java |  578 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 351 insertions(+), 227 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 a544732..0dd5c72 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
@@ -20,6 +20,7 @@
 import com.yeshi.fanli.dto.taobao.TaoBaoShopDTO;
 import com.yeshi.fanli.entity.bus.activity.ActivityUser;
 import com.yeshi.fanli.entity.bus.activity.RecommendActivity;
+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.dynamic.DynamicInfo;
@@ -111,7 +112,7 @@
 		String materialId = inviteMaterial.getId();
 		String content = inviteMaterial.getText();
 		
-		ActivityUser user=activityUserService.selectByPrimaryKey(1L);
+		ActivityUser user=activityUserService.selectByPrimaryKey(2L);
 		
 		if (!StringUtil.isNullOrEmpty(content)) {
 			DynamicInfo dynamicTxt= new DynamicInfo();
@@ -129,7 +130,7 @@
 			SimpleDateFormat format = new SimpleDateFormat("MM鏈坉d鏃�");
 			
 			StringBuffer buffer = new StringBuffer();
-			buffer.append("------------------------------------------\n");
+			buffer.append("-------------------\n");
 			buffer.append("浠婂ぉ : " + format.format(date));
 			buffer.append("     ");
 			buffer.append(DateLunarUtil.getWeekd(date) + "\n");
@@ -336,7 +337,8 @@
 			DaTaoKeDetail daTaoKeDetail = null;
 			// 鍟嗗搧鍒楄〃
 			List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
-
+			// 鍟嗗搧鍒楄〃
+			List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
 			// 鍒嗕韩濂栭噾
 			BigDecimal shareMoney = new BigDecimal(0);
 
@@ -346,8 +348,9 @@
 					daTaoKeDetail = daTaoKe;
 				}
 				// 鍒嗕韩濂栭噾
-
 				TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe);
+				listGoods.add(taoBaoGoodsBrief);
+				
 				TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
 				if (!taoBaoGoodsBriefExtra.isCoupon()) {
 					taoBaoGoodsBriefExtra.setState(1);
@@ -371,6 +374,7 @@
 			// 鍙戝竷鐢ㄦ埛
 			dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid));
 			dynamicInfo.setImgs(listPicture);
+			dynamicInfo.setListGoodsBrief(listGoods);
 
 			ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
 			shareMoneyDesc.setColor("#FFFFFF");
@@ -449,13 +453,16 @@
 		// 澶ф窐瀹㈡暟鎹�
 		DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0);
 
-		
+		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());
 		
 		// 鍒嗕韩濂栭噾
 		BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
@@ -506,6 +513,7 @@
 		dynamicInfo.setDesc(shareMoneyDesc);
 		dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE);
 		dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO);
+		dynamicInfo.setListGoodsBrief(listGoods);
 		
 		String desc = DaTaoKeUtil.getDesc(daTaoKe);
 		if (!StringUtil.isNullOrEmpty(desc)) {
@@ -579,29 +587,48 @@
 		return goodsPicture;
 	}
 
-	@Override
-	public void updateShareCount(DynamicInfo record) {
-		dynamicInfoDao.updateShareCount(record);
-	}
 	
 	
 	@Override
-	public void insertInviteMaterial(String title, String picUrl, Long activityId, ActivityUser activityUser) {
+	public void insertInviteActivity(RecommendActivity activity) throws Exception{
 		
-		DynamicInfo existInfo = null;
-		if (activityId != null) {
-			existInfo = dynamicInfoDao.getByActivityId(activityId);
-			if (existInfo != null) {
-				dynamicInfoDao.deleteById(existInfo.getId());
-			}
+		String title = activity.getTitle();
+		
+		String picUrl = null;
+		List<String> imageList = activity.getImageList();
+		if (imageList != null && imageList.size() > 0) {
+			picUrl = imageList.get(0);
+		}
+		
+		if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(picUrl)) {
+			return;
+		}
+		
+		// 鍒ゆ柇鏄惁宸插瓨鍦�
+		String dynamicInfoId = null;
+		
+		Long activityId =  activity.getId();
+		DynamicInfo dynamicVO = dynamicInfoDao.getByActivityId(activityId);
+		if (dynamicVO == null) {
+			dynamicVO = new DynamicInfo();
+			dynamicVO.setId(UUID.randomUUID().toString().replace("-", ""));
+			dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
+		} else {
+			dynamicInfoId = dynamicVO.getId();
+		}
+		
+		if (!StringUtil.isNullOrEmpty(title)) {
+			title = title.replaceAll("<p>", "");
+			title = title.replaceAll("</p>", "");
+			title = title.replaceAll("<br>", "\n");
 			
-			if (!StringUtil.isNullOrEmpty(title)) {
-				title = title.replace("<p>", "");
-				title = title.replace("</p>", "");
+			int index = title.lastIndexOf("\n");
+			String newDesc = title.substring(index + 1);
+			if(StringUtil.isNullOrEmpty(newDesc)) {
+				title = title.substring(0, index);
 			}
 		}
 		
-		DynamicInfo dynamicVO = new DynamicInfo();
 		dynamicVO.setId(UUID.randomUUID().toString().replace("-", ""));
 		dynamicVO.setActivityId(activityId);
 		dynamicVO.setClassId(4L);
@@ -609,64 +636,228 @@
 		dynamicVO.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
 		dynamicVO.setUpdateTime(new Date());
 		
-		if (existInfo != null) {
-			dynamicVO.setCreateTime(existInfo.getCreateTime());
-			dynamicVO.setShareCount(existInfo.getShareCount());
-		} else {
-			dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
+		
+		Integer shareCount = activity.getShareCount();
+		if (shareCount == null || shareCount <= 0) {
 			dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000));
+		} else {
+			dynamicVO.setShareCount(shareCount);
 		}
 		
+		// 鍙戝竷鐢ㄦ埛
+		ActivityUser activityUser = activity.getActivityUser();
 		if (activityUser == null) {
-			dynamicVO.setUser(activityUserService.listRand(1).get(0));
+			dynamicVO.setUser(activityUserService.selectByPrimaryKey(2L));
 		} else {
 			dynamicVO.setUser(activityUser);
 		}
 		
 		
+		// 浠嬬粛鍐呭
 		List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>();
-		
-				
-		List<GoodsPicture> listImg = new ArrayList<GoodsPicture>();
-		if(StringUtil.isNullOrEmpty(picUrl)) {
-			dynamicVO.setImgs(listImg);
-			dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
-			
-			// 浠嬬粛鍐呭
+		if(!StringUtil.isNullOrEmpty(title)) {
 			ClientTextStyleVO row1 = new ClientTextStyleVO();
 			row1.setColor("#333333");
-			row1.setContent(title);
+			row1.setContent(title );
 			listtitle.add(row1);
-			dynamicVO.setTitle(listtitle);
-			dynamicInfoDao.insert(dynamicVO);
-		} else {
-			try {
-				dynamicVO.setTitle(listtitle);
-				dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE);
-				
-				// 鍥剧墖
-				String imgLink = qrCodeService.drawInviteQrCodeNew(picUrl , null, null, null);
-				GoodsPicture p2 = new GoodsPicture();
-				p2.setW(100);
-				p2.setH(100);
-				p2.setUrl(imgLink);
-				p2.setUrlOriginal(picUrl);
-				listImg.add(p2);
-				dynamicVO.setImgs(listImg);
-				
-				
-				dynamicInfoDao.insert(dynamicVO);
-			} catch (Exception e) {
-				try {
-					LogHelper.errorDetailInfo(e);
-				} catch (Exception e1) {
-					e1.printStackTrace();
-				}
-			}
 		}
 		
+		
+		// 鍥剧墖
+		List<GoodsPicture> listImg = new ArrayList<GoodsPicture>();
+		if(StringUtil.isNullOrEmpty(picUrl)) {
+			dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
+		} else {
+			dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ONE);
+			RecommendActivityInviteInfo inviteInfo = activity.getInviteInfo();
+			
+			Integer pX = null; 
+			Integer pY = null;
+			Integer size = null;
+			if (inviteInfo != null) {
+				pX = inviteInfo.getPx();
+				pY = inviteInfo.getPy();
+				size = inviteInfo.getSize();
+			}
+			
+			// 鍥剧墖
+			String imgLink = qrCodeService.drawInviteQrCodeNew(picUrl , null, null, pX, pY, size, null);
+			GoodsPicture p2 = new GoodsPicture();
+			p2.setW(100);
+			p2.setH(100);
+			p2.setUrl(imgLink);
+			p2.setUrlOriginal(picUrl);
+			p2.setPx(pX);
+			p2.setPy(pY);
+			p2.setSize(size);
+			
+			listImg.add(p2);
+		}
+		
+		dynamicVO.setImgs(listImg);
+		dynamicVO.setTitle(listtitle);
+		
+		if (!StringUtil.isNullOrEmpty(dynamicInfoId)) {
+			dynamicInfoDao.deleteById(dynamicInfoId);
+		}
+		
+		dynamicInfoDao.insert(dynamicVO);
 	}
 	
+	
+	@Override
+	public void insertActivityRecommend(RecommendActivity activity) {
+		if (activity == null || activity.getGoodsList() == null) {
+			return;
+		}
+		
+		try {
+			String dynamicInfoId = null;
+			DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activity.getId());
+			if (dynamicInfo == null) {
+				dynamicInfo = new DynamicInfo();
+				dynamicInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+				dynamicInfo.setCreateTime(new Date());
+			} else {
+				dynamicInfoId = dynamicInfo.getId();
+			}
+			
+			dynamicInfo.setClassId(2L);
+			dynamicInfo.setSubclassId(0L);
+			dynamicInfo.setUser(activity.getActivityUser());
+			dynamicInfo.setActivityId(activity.getId());
+			dynamicInfo.setUpdateTime(new Date());
+			
+			
+			List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>();
+			String title = activity.getTitle();
+			if (!StringUtil.isNullOrEmpty(title)) {
+				title = title.replaceAll("<p>", "");
+				title = title.replaceAll("</p>", "");
+				title = title.replaceAll("<br>", "\n");
+				
+				int index = title.lastIndexOf("\n");
+				String newDesc = title.substring(index + 1);
+				if(StringUtil.isNullOrEmpty(newDesc)) {
+					title = title.substring(0, index);
+				}
+				
+				ClientTextStyleVO row1 = new ClientTextStyleVO();
+				row1.setColor("#333333");
+				row1.setContent(title );
+				listtitle.add(row1);
+			}
+			dynamicInfo.setTitle(listtitle);
+			
+			
+			Integer shareCount = activity.getShareCount();
+			if (shareCount == null || shareCount <= 0) {
+				dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000));
+			} else {
+				dynamicInfo.setShareCount(shareCount);
+			}
+			
+			// 鍙戝竷鐢ㄦ埛
+			ActivityUser activityUser = activity.getActivityUser();
+			if (activityUser == null) {
+				dynamicInfo.setUser(activityUserService.selectByPrimaryKey(2L));
+			} else {
+				dynamicInfo.setUser(activityUser);
+			}
+
+			List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
+			// 鍟嗗搧鍒楄〃
+			List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
+			BigDecimal proportion = hongBaoManageService.getFanLiRate();
+			// 鍒嗕韩濂栭噾
+			BigDecimal shareMoney = new BigDecimal(0);
+
+			if (activity.getGoodsList() != null) {
+				for (RecommendActivityTaoBaoGoods activityGoods : activity.getGoodsList()) {
+				
+					TaoBaoGoodsBrief taoBaoGoodsBrief = null;
+					 TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = null;
+					String auctionId = activityGoods.getAuctionId();
+					try {
+						taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(auctionId));
+					
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
+						if (!taoBaoGoodsBriefExtra.isCoupon()) {
+							taoBaoGoodsBriefExtra.setState(1);
+						}
+						
+						BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
+						shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
+					} catch (TaobaoGoodsDownException e) {
+						 taoBaoGoodsBrief = activityGoods.getTaoBaoGoodsBrief();
+						 taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
+						 taoBaoGoodsBriefExtra.setState(1);
+						 taoBaoGoodsBriefExtra.setCoupon(false);
+					}
+					listGoods.add(taoBaoGoodsBrief);
+					
+					// 鍟嗗搧鍥剧墖
+					taoBaoGoodsBriefExtra.setCouponInfo(null);
+					taoBaoGoodsBriefExtra.setUpdatetime(new Date());
+					
+					JSONObject item = new JSONObject();
+					item.put("id", auctionId);
+					item.put("from", "dynamics");
+					
+					GoodsPicture goodsPicture = new GoodsPicture();
+					goodsPicture.setH(100);
+					goodsPicture.setW(100);
+					goodsPicture.setUrl(TbImgUtil.getTBSize320Img(taoBaoGoodsBrief.getPictUrl()));
+					goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail"));
+					goodsPicture.setParams(item.toString());
+					goodsPicture.setGoods(taoBaoGoodsBriefExtra);
+					
+					listPicture.add(goodsPicture);
+				}
+			}
+			dynamicInfo.setImgs(listPicture);
+			dynamicInfo.setListGoodsBrief(listGoods);
+			
+			ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
+			shareMoneyDesc.setColor("#FFFFFF");
+			shareMoneyDesc.setBottomColor("#E8AE48");
+			shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney);
+			dynamicInfo.setDesc(shareMoneyDesc);
+			dynamicInfo.setShowType(2);
+
+			if (listPicture.size() < 7) {
+				dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO);
+				dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 鍒嗕韩绫诲瀷4鍥�
+			} else {
+				dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE);
+				dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 鍒嗕韩绫诲瀷9鍥�
+			}
+			
+			
+			if (!StringUtil.isNullOrEmpty(dynamicInfoId)) {
+				dynamicInfoDao.deleteById(dynamicInfoId);
+			}
+			// 淇濆瓨淇℃伅
+			dynamicInfoDao.insert(dynamicInfo);
+
+		} catch (Exception e) {
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+		}
+	}
+	
+	
+	@Override
+	public void deleteActivity(Long activityId) {
+		DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activityId);
+		if (dynamicInfo != null) {
+			// 鍒犻櫎涔嬪墠鐨�
+			dynamicInfoDao.deleteById(dynamicInfo.getId());
+		}
+	}
 	
 	
 	@Override
@@ -674,6 +865,32 @@
 		dynamicInfoDao.removeByDate(createTime);
 	}
 	
+	@Override
+	public void updateShareCount(DynamicInfo record) {
+		dynamicInfoDao.updateShareCount(record);
+	}
+	
+	@Override
+	@Cacheable(value = "dynamicCache", key = "'count-'+#cid+'-'+#subId")
+	public long count(Long cid, Long subId) {
+		return dynamicInfoDao.count(cid, subId);
+	}
+
+	@Override
+	@Cacheable(value = "dynamicCache", key = "'query-'+#start+'-'+#count+'-'+#cid+'-'+#subId")
+	public List<DynamicInfo> query(int start, int count, Long cid, Long subId) {
+		List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId);
+		
+		// 鏇存柊鍟嗗搧淇℃伅
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				updateGoodInfo(list);
+			}
+		});
+		
+		return list;
+	}
 	
 	
 	/**
@@ -711,8 +928,11 @@
 				}
 			}
 			
-			// 鏇存柊
-			BigDecimal shareMoney = new BigDecimal(0);
+			// 宸蹭笅鏋禝D
+			List<Long> listDown = new ArrayList<Long>();
+			// 鍟嗗搧鍒楄〃
+			List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
+						
 			for (GoodsPicture goodsPicture: imgs) {
 				TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods();
 				if (oldExtra == null) {
@@ -726,191 +946,95 @@
 				
 				try {
 					TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId());
+					listGoods.add(goodsBrief);
+					
+					// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
+					if (classId == 1) {
+						BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
+						ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
+						shareMoneyDesc.setColor("#FFFFFF");
+						shareMoneyDesc.setBottomColor("#E8AE48");
+						shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney);
+						dynamicInfo.setDesc(shareMoneyDesc);
+					}
+					
 					TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null);
 					
 					if (!newExtra.isCoupon()) {
 						newExtra.setState(1);
 					}
 					newExtra.setUpdatetime(new Date());
-					goodsPicture.setGoods(newExtra);
-					
-					
-					// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
-					if (classId == 1) {
-						BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
-						shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
-					}
+					goodsPicture.setGoods(oldExtra);
 					
 				} 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);
 			
-			// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
-			if (classId == 1) {
-				ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
-				shareMoneyDesc.setColor("#FFFFFF");
-				shareMoneyDesc.setBottomColor("#E8AE48");
-				shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney);
-				dynamicInfo.setDesc(shareMoneyDesc);
+			// 鍟嗗搧宸蹭笅鏋�
+			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);
+							}
+						}
+						dynamicInfo.setListGoodsBrief(listGoods);
+					}
+				} else {
+					if (listDown.size() > 0) {
+						for (TaoBaoGoodsBrief taoBaoGoodsBrief: listGoodsBrief) {
+							if (listDown.contains(taoBaoGoodsBrief.getAuctionId())) {
+								taoBaoGoodsBrief.setState(1);
+							}
+						}
+						dynamicInfo.setListGoodsBrief(listGoodsBrief);
+					}
+				}
 			}
 			
-			dynamicInfo.setImgs(imgs);
 			dynamicInfo.setUpdateTime(new Date());
 			dynamicInfoDao.updateGoodInfo(dynamicInfo);
 		}
 	}
 	
-	
-	@Override
-	public void deleteActivity(Long activityId) {
-		DynamicInfo dynamicInfo = dynamicInfoDao.getByActivityId(activityId);
-		if (dynamicInfo != null) {
-			// 鍒犻櫎涔嬪墠鐨�
-			dynamicInfoDao.deleteById(dynamicInfo.getId());
-		}
-	}
-	
-	
-
-	@Override
-	public void saveActivityRecommend(RecommendActivity activity) {
-		if (activity == null || activity.getGoodsList() == null) {
-			return;
-		}
-		
-		try {
-			DynamicInfo existInfo = dynamicInfoDao.getByActivityId(activity.getId());
-			if (existInfo != null) {
-				dynamicInfoDao.deleteById(existInfo.getId());
-			}
-			
-			DynamicInfo dynamicInfo = new DynamicInfo();
-			dynamicInfo.setId(UUID.randomUUID().toString().replace("-", ""));
-			dynamicInfo.setClassId(2L);
-			dynamicInfo.setSubclassId(0L);
-			dynamicInfo.setUser(activity.getActivityUser());
-			dynamicInfo.setActivityId(activity.getId());
-			
-			String title = activity.getTitle();
-			if (!StringUtil.isNullOrEmpty(title)) {
-				title = title.replace("<p>", "");
-				title = title.replace("</p>", "");
-				dynamicInfo.setTitle(convertIntroduce(title));
-			}
-			
-			if (existInfo != null) {
-				dynamicInfo.setCreateTime(existInfo.getCreateTime());
-				dynamicInfo.setShareCount(existInfo.getShareCount());
-			} else {
-				dynamicInfo.setCreateTime(new Date());
-				dynamicInfo.setUpdateTime(new Date());
-				dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000));
-			}
-
-			// 鍟嗗搧鍒楄〃
-			List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
-			BigDecimal proportion = hongBaoManageService.getFanLiRate();
-			// 鍒嗕韩濂栭噾
-			BigDecimal shareMoney = new BigDecimal(0);
-
-			if (activity.getGoodsList() != null) {
-				for (RecommendActivityTaoBaoGoods activityGoods : activity.getGoodsList()) {
-				
-					TaoBaoGoodsBrief taoBaoGoodsBrief = null;
-					 TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = null;
-					String auctionId = activityGoods.getAuctionId();
-					try {
-						taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(auctionId));
-					
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
-						if (!taoBaoGoodsBriefExtra.isCoupon()) {
-							taoBaoGoodsBriefExtra.setState(1);
-						}
-						
-						BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
-						shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
-					} catch (TaobaoGoodsDownException e) {
-						 taoBaoGoodsBrief = activityGoods.getTaoBaoGoodsBrief();
-						 taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
-						 taoBaoGoodsBriefExtra.setState(1);
-						 taoBaoGoodsBriefExtra.setCoupon(false);
-					}
-					// 鍟嗗搧鍥剧墖
-					taoBaoGoodsBriefExtra.setCouponInfo(null);
-					taoBaoGoodsBriefExtra.setUpdatetime(new Date());
-					
-					JSONObject item = new JSONObject();
-					item.put("id", auctionId);
-					item.put("from", "dynamics");
-					
-					GoodsPicture goodsPicture = new GoodsPicture();
-					goodsPicture.setH(100);
-					goodsPicture.setW(100);
-					goodsPicture.setUrl(TbImgUtil.getTBSize320Img(taoBaoGoodsBrief.getPictUrl()));
-					goodsPicture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail"));
-					goodsPicture.setParams(item.toString());
-					goodsPicture.setGoods(taoBaoGoodsBriefExtra);
-					
-					listPicture.add(goodsPicture);
-				}
-			}
-			dynamicInfo.setImgs(listPicture);
-			
-			
-			ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
-			shareMoneyDesc.setColor("#FFFFFF");
-			shareMoneyDesc.setBottomColor("#E8AE48");
-			shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + shareMoney);
-			dynamicInfo.setDesc(shareMoneyDesc);
-			dynamicInfo.setShowType(2);
-
-			if (listPicture.size() < 7) {
-				dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_TWO);
-				dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_FOUR); // 鍒嗕韩绫诲瀷4鍥�
-			} else {
-				dynamicInfo.setShowType(DynamicInfo.SHOW_TYPE_THREE);
-				dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_NINE); // 鍒嗕韩绫诲瀷9鍥�
-			}
-			// 淇濆瓨淇℃伅
-			dynamicInfoDao.insert(dynamicInfo);
-
-		} catch (Exception e) {
-			try {
-				LogHelper.errorDetailInfo(e);
-			} catch (Exception e1) {
-				e1.printStackTrace();
-			}
-		}
-	}
-	
-	
-	
-	
-	
-	@Override
-	@Cacheable(value = "dynamicCache", key = "'count-'+#cid+'-'+#subId")
-	public long count(Long cid, Long subId) {
-		return dynamicInfoDao.count(cid, subId);
-	}
-
-	@Override
-	@Cacheable(value = "dynamicCache", key = "'query-'+#start+'-'+#count+'-'+#cid+'-'+#subId")
-	public List<DynamicInfo> query(int start, int count, Long cid, Long subId) {
-		List<DynamicInfo> list = dynamicInfoDao.query(start, count, cid, subId);
-		
-		// 鏇存柊鍟嗗搧淇℃伅
-		executor.execute(new Runnable() {
-			@Override
-			public void run() {
-				updateGoodInfo(list);
-			}
-		});
-		
-		return list;
-	}
 }

--
Gitblit v1.8.0