From f0b45fd50863cc322858730c55b53c06d11f6dd2 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 23 五月 2019 15:59:58 +0800
Subject: [PATCH] 优化 只有下架才会出现分享奖金0

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java |  164 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 127 insertions(+), 37 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 4a9332f..f24931c 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,6 +1,5 @@
 package com.yeshi.fanli.service.impl.dynamic;
 
-import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -112,6 +111,8 @@
 		String materialId = inviteMaterial.getId();
 		String content = inviteMaterial.getText();
 		
+		ActivityUser user=activityUserService.selectByPrimaryKey(2L);
+		
 		if (!StringUtil.isNullOrEmpty(content)) {
 			DynamicInfo dynamicTxt= new DynamicInfo();
 			dynamicTxt.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -120,7 +121,7 @@
 			dynamicTxt.setSubclassId(0L);
 			dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
 			dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
-			dynamicTxt.setUser(activityUserService.listRand(1).get(0));
+			dynamicTxt.setUser(user);
 			dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000));
 			dynamicTxt.setCreateTime(date);
 			dynamicTxt.setUpdateTime(date);
@@ -128,7 +129,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");
@@ -162,7 +163,7 @@
 			dynamicPic.setSubclassId(0L);
 			dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE);
 			dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
-			dynamicPic.setUser(activityUserService.listRand(1).get(0));
+			dynamicPic.setUser(user);
 			dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000));
 			dynamicPic.setCreateTime(date);
 			dynamicPic.setUpdateTime(date);
@@ -185,8 +186,12 @@
 				dynamicPic.setImgs(listImg);
 				
 				dynamicInfoDao.insert(dynamicPic);
-			} catch (IOException e) {
-				e.printStackTrace();
+			} catch (Exception e) {
+				try {
+					LogHelper.errorDetailInfo(e);
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
 			}
 		}
 		// 鏇存柊绱犳潗鐘舵��
@@ -320,7 +325,7 @@
 			int cid = Integer.parseInt(subclassId +"");
 			int count = 0;
 			double random = Math.random();
-			if (random > 0.5) {
+			if (random > 0.4) {
 				count = 9;
 			} else {
 				count = 4;
@@ -331,7 +336,8 @@
 			DaTaoKeDetail daTaoKeDetail = null;
 			// 鍟嗗搧鍒楄〃
 			List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
-
+			// 鍟嗗搧鍒楄〃
+			List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
 			// 鍒嗕韩濂栭噾
 			BigDecimal shareMoney = new BigDecimal(0);
 
@@ -341,8 +347,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);
@@ -366,6 +373,7 @@
 			// 鍙戝竷鐢ㄦ埛
 			dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid));
 			dynamicInfo.setImgs(listPicture);
+			dynamicInfo.setListGoodsBrief(listGoods);
 
 			ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
 			shareMoneyDesc.setColor("#FFFFFF");
@@ -385,7 +393,11 @@
 			dynamicInfoDao.insert(dynamicInfo);
 
 		} catch (Exception e) {
-			e.printStackTrace();
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
 		}
 	}
 
@@ -396,7 +408,11 @@
 		try {
 			saveHotSale(classId, 0L);
 		} catch (Exception e) {
-			e.printStackTrace();
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
 		}
 
 		// 鐑攢鍗曞搧鐨勫垎绫�
@@ -405,7 +421,11 @@
 			try {
 				saveHotSale(classId, goodsClass.getId());
 			} catch (Exception e) {
-				e.printStackTrace();
+				try {
+					LogHelper.errorDetailInfo(e);
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
 			}
 		}
 	}
@@ -432,13 +452,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);
@@ -484,13 +507,22 @@
 
 		// 缁勭粐鍔ㄦ�佷俊鎭�
 		DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId);
-		dynamicInfo.setTitle(convertIntroduce(DaTaoKeUtil.getDesc(daTaoKe)));
-		// 鍙戝竷鐢ㄦ埛
 		dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid()));
 		dynamicInfo.setImgs(listPicture);
 		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)) {
+			int index = desc.lastIndexOf("\n");
+			String newDesc = desc.substring(index + 1);
+			if(StringUtil.isNullOrEmpty(newDesc)) {
+				desc = desc.substring(0, index);
+			}
+		}
+		dynamicInfo.setTitle(convertIntroduce(desc));
 
 		// 淇濆瓨淇℃伅
 		dynamicInfoDao.insert(dynamicInfo);
@@ -608,9 +640,22 @@
 			dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
 			
 			// 浠嬬粛鍐呭
+			SimpleDateFormat format = new SimpleDateFormat("MM鏈坉d鏃�");
+			StringBuffer buffer = new StringBuffer();
+			buffer.append("-------------------\n");
+			buffer.append("浠婂ぉ : " + format.format(new Date()));
+			buffer.append("     ");
+			buffer.append(DateLunarUtil.getWeekd(new Date()) + "\n");
+			buffer.append("鍚勪綅浜茬埍鐨勪綘");
+			buffer.append("         ");
+			buffer.append("鏃╁畨锝瀄n");
+			buffer.append("鎴戠殑閭�璇风爜锛氥�愰個璇风爜銆慭n");
+			buffer.append("璐墿鐪侀挶杩斿埄鍒窤pp锛氥�愰個璇烽摼鎺ャ��");
+        
 			ClientTextStyleVO row1 = new ClientTextStyleVO();
 			row1.setColor("#333333");
-			row1.setContent(title);
+			row1.setContent(title + "\n" + buffer.toString());
+			
 			listtitle.add(row1);
 			dynamicVO.setTitle(listtitle);
 			dynamicInfoDao.insert(dynamicVO);
@@ -632,7 +677,11 @@
 				
 				dynamicInfoDao.insert(dynamicVO);
 			} catch (Exception e) {
-				e.printStackTrace();
+				try {
+					LogHelper.errorDetailInfo(e);
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
 			}
 		}
 		
@@ -682,8 +731,9 @@
 				}
 			}
 			
-			// 鏇存柊
-			BigDecimal shareMoney = new BigDecimal(0);
+			// 鍟嗗搧鍒楄〃
+			List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
+						
 			for (GoodsPicture goodsPicture: imgs) {
 				TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods();
 				if (oldExtra == null) {
@@ -697,6 +747,18 @@
 				
 				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()) {
@@ -705,29 +767,52 @@
 					newExtra.setUpdatetime(new Date());
 					goodsPicture.setGoods(newExtra);
 					
-					
-					// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
-					if (classId == 1) {
-						BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
-						shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
-					}
-					
 				} catch (TaobaoGoodsDownException e) {
 					oldExtra.setState(1);
 					oldExtra.setCoupon(false);
 					oldExtra.setUpdatetime(new Date());
 					goodsPicture.setGoods(oldExtra);
+					
+					// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
+					if (classId == 1) {
+						ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
+						shareMoneyDesc.setColor("#FFFFFF");
+						shareMoneyDesc.setBottomColor("#E8AE48");
+						shareMoneyDesc.setContent("棰勪及鍒嗕韩濂栭噾锛毬�" + new BigDecimal(0));
+						dynamicInfo.setDesc(shareMoneyDesc);
+					}
 					e.printStackTrace();
 				}
 			}
 			
-			// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
-			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 (listGoods != null && listGoods.size() > 0 && listGoodsBrief != null && listGoodsBrief.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) {
+							listGoods.add(taoBaoGoodsBrief);
+						}
+					}
+					dynamicInfo.setListGoodsBrief(listGoods);
+				}
 			}
 			
 			dynamicInfo.setImgs(imgs);
@@ -783,6 +868,7 @@
 				dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000));
 			}
 
+			List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
 			// 鍟嗗搧鍒楄〃
 			List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
 			BigDecimal proportion = hongBaoManageService.getFanLiRate();
@@ -811,6 +897,8 @@
 						 taoBaoGoodsBriefExtra.setState(1);
 						 taoBaoGoodsBriefExtra.setCoupon(false);
 					}
+					listGoods.add(taoBaoGoodsBrief);
+					
 					// 鍟嗗搧鍥剧墖
 					taoBaoGoodsBriefExtra.setCouponInfo(null);
 					taoBaoGoodsBriefExtra.setUpdatetime(new Date());
@@ -831,7 +919,7 @@
 				}
 			}
 			dynamicInfo.setImgs(listPicture);
-			
+			dynamicInfo.setListGoodsBrief(listGoods);
 			
 			ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
 			shareMoneyDesc.setColor("#FFFFFF");
@@ -851,11 +939,13 @@
 			dynamicInfoDao.insert(dynamicInfo);
 
 		} catch (Exception e) {
-			e.printStackTrace();
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
 		}
 	}
-	
-	
 	
 	
 	

--
Gitblit v1.8.0