From d71ee3f3989dcf6848a4f40341111a2fd973f3ad Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期一, 20 五月 2019 09:23:58 +0800
Subject: [PATCH] 动态分享修改 + 商品详情店铺链接

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java |  160 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 133 insertions(+), 27 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 f656e57..8ae41b1 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,5 +1,6 @@
 package com.yeshi.fanli.service.impl.dynamic;
 
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
@@ -10,6 +11,7 @@
 
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Service;
+import org.yeshi.utils.DateUtil;
 import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.yeshi.fanli.dao.dynamic.DynamicInfoDao;
@@ -20,6 +22,7 @@
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.dynamic.DynamicInfo;
 import com.yeshi.fanli.entity.dynamic.GoodsPicture;
+import com.yeshi.fanli.entity.dynamic.InviteMaterial;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
 import com.yeshi.fanli.entity.taobao.TaoBaoShop;
@@ -29,10 +32,12 @@
 import com.yeshi.fanli.service.inter.activity.ActivityUserService;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
 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.taobao.TaoBaoShopService;
 import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
+import com.yeshi.fanli.service.inter.user.QrCodeService;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
@@ -74,6 +79,13 @@
 	@Resource
 	private TaoBaoShopService taoBaoShopService;
 	
+	@Resource
+	private InviteMaterialService inviteMaterialService;
+	
+	@Resource
+	private QrCodeService qrCodeService;
+	
+	
 	@Override
 	public void insert(DynamicInfo record) {
 		 dynamicInfoDao.insert(record);
@@ -93,6 +105,7 @@
 			List<GoodsClass> list = DaTaoKeUtil.goodsClasses;
 			int index = (int) (Math.random() * list.size());
 			Long subclassId = list.get(index).getId();
+			int cid = Integer.parseInt(subclassId +"");
 			int count = 0;
 			double random = Math.random();
 			if (random > 0.5) {
@@ -136,6 +149,8 @@
 
 			// 缁勭粐鍔ㄦ�佷俊鎭�
 			DynamicInfo dynamicInfo = getDynamicInfo(daTaoKeDetail, classId, subclassId);
+			// 鍙戝竷鐢ㄦ埛
+			dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(cid));
 			dynamicInfo.setImgs(listPicture);
 
 			ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
@@ -255,7 +270,8 @@
 
 		// 缁勭粐鍔ㄦ�佷俊鎭�
 		DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId);
-
+		// 鍙戝竷鐢ㄦ埛
+		dynamicInfo.setUser(activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid()));
 		dynamicInfo.setImgs(listPicture);
 		dynamicInfo.setDesc(shareMoneyDesc);
 		dynamicInfo.setShareType(DynamicInfo.SHARE_TYPE_ONE);
@@ -279,12 +295,10 @@
 		dynamicInfo.setClassId(classId);
 		dynamicInfo.setSubclassId(subclassId);
 		dynamicInfo.setDaTaoKeId(daTaoKe.getId());
-		dynamicInfo.setCreateTime(new Date());
-
+		dynamicInfo.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
+		dynamicInfo.setUpdateTime(new Date());
 		// 闅忔満鍒嗕韩娆℃暟
 		dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000));
-		// 闅忔満鍒嗗竷鐢ㄦ埛
-		dynamicInfo.setUser(activityUserService.listRand(1).get(0));
 		// 鍐呭
 		dynamicInfo.setTitle(convertIntroduce(DaTaoKeUtil.getDesc(daTaoKe)));
 
@@ -375,14 +389,15 @@
 		dynamicVO.setClassId(4L);
 		dynamicVO.setSubclassId(0L);
 		dynamicVO.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
+		dynamicVO.setUpdateTime(new Date());
+		
 		if (existInfo != null) {
 			dynamicVO.setCreateTime(existInfo.getCreateTime());
 			dynamicVO.setShareCount(existInfo.getShareCount());
 		} else {
-			dynamicVO.setCreateTime(new Date());
+			dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
 			dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000));
 		}
-		
 		
 		if (activityUser == null) {
 			dynamicVO.setUser(activityUserService.listRand(1).get(0));
@@ -487,7 +502,8 @@
 		dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_TWO);
 		dynamicVO.setShop(taoBaoShop);
 		dynamicVO.setUser(activityUserService.listRand(1).get(0));
-		dynamicVO.setCreateTime(new Date());
+		dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));	
+		dynamicVO.setUpdateTime(new Date());
 		
 		// 浠嬬粛鍐呭
 		ClientTextStyleVO row1 = new ClientTextStyleVO();
@@ -546,13 +562,33 @@
 		
 		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;
 			}
 			
-			boolean isupdate = false;
-			BigDecimal shareMoney = null;
+			// 鏄惁涓�涓皬鏃朵箣鍐呭凡鏇存柊
+			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;
+				}
+			}
+			
+			// 鏇存柊
+			BigDecimal shareMoney = new BigDecimal(0);
 			for (GoodsPicture goodsPicture: imgs) {
 				TaoBaoGoodsBriefExtra oldExtra = goodsPicture.getGoods();
 				if (oldExtra == null) {
@@ -564,16 +600,6 @@
 					continue;
 				}
 				
-				long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁�    
-		        long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟    
-				long diff = System.currentTimeMillis() - oldExtra.getUpdatetime().getTime();    
-				long day = diff / nd;// 璁$畻宸灏戝ぉ    
-				long hour = diff % nd / nh + day * 24;// 璁$畻宸灏戝皬鏃�    
-				if (hour < 1) {
-					continue;
-				}
-				
-				isupdate = true;
 				try {
 					TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(oldExtra.getAuctionId());
 					TaoBaoGoodsBriefExtra newExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion.toString(), null);
@@ -584,8 +610,12 @@
 					newExtra.setUpdatetime(new Date());
 					goodsPicture.setGoods(newExtra);
 					
-					BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
-					shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
+					
+					// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
+					if (classId == 1) {
+						BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(goodsBrief);
+						shareMoney = MoneyBigDecimalUtil.add(shareMoney, money);
+					}
 					
 				} catch (TaobaoGoodsDownException e) {
 					oldExtra.setState(1);
@@ -596,7 +626,8 @@
 				}
 			}
 			
-			if (shareMoney != null) {
+			// 鏇存柊鐑攢鍗曞搧鐨勫垎浜閲�  锛屽叾浣欎笉鍋氭洿鏂�
+			if (classId == 1) {
 				ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
 				shareMoneyDesc.setColor("#FFFFFF");
 				shareMoneyDesc.setBottomColor("#E8AE48");
@@ -604,9 +635,9 @@
 				dynamicInfo.setDesc(shareMoneyDesc);
 			}
 			
-			if (isupdate) {
-				dynamicInfoDao.updateGoodInfo(dynamicInfo);
-			}
+			dynamicInfo.setImgs(imgs);
+			dynamicInfo.setUpdateTime(new Date());
+			dynamicInfoDao.updateGoodInfo(dynamicInfo);
 		}
 	}
 	
@@ -653,6 +684,7 @@
 				dynamicInfo.setShareCount(existInfo.getShareCount());
 			} else {
 				dynamicInfo.setCreateTime(new Date());
+				dynamicInfo.setUpdateTime(new Date());
 				dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000));
 			}
 
@@ -727,5 +759,79 @@
 			e.printStackTrace();
 		}
 	}
-
+	
+	
+	@Override
+	public void insertTimeInvite() {
+		InviteMaterial inviteMaterial = inviteMaterialService.getInviteMaterial();
+		if (inviteMaterial == null) {
+			return;
+		}
+		String materialId = inviteMaterial.getId();
+		
+		String content = inviteMaterial.getText();
+		if (!StringUtil.isNullOrEmpty(content)) {
+			DynamicInfo dynamicTxt= new DynamicInfo();
+			dynamicTxt.setId(UUID.randomUUID().toString().replace("-", ""));
+			dynamicTxt.setInviteMaterialId(materialId);
+			dynamicTxt.setClassId(4L);
+			dynamicTxt.setSubclassId(0L);
+			dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
+			dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
+			dynamicTxt.setUser(activityUserService.listRand(1).get(0));
+			dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000));
+			dynamicTxt.setCreateTime(new Date());
+			dynamicTxt.setUpdateTime(new Date());
+			
+			ClientTextStyleVO row1 = new ClientTextStyleVO();
+			row1.setColor("#333333");
+			row1.setContent(content);
+			List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>();
+			listtitle.add(row1);
+			dynamicTxt.setTitle(listtitle);
+			
+			// 绌烘暟鎹�
+			List<GoodsPicture> listImg = new ArrayList<GoodsPicture>();
+			dynamicTxt.setImgs(listImg);
+			
+			dynamicInfoDao.insert(dynamicTxt);
+		}
+		
+		String picture = inviteMaterial.getPicture();
+		if (!StringUtil.isNullOrEmpty(picture)) {
+			DynamicInfo dynamicPic = new DynamicInfo();
+			dynamicPic.setId(UUID.randomUUID().toString().replace("-", ""));
+			dynamicPic.setInviteMaterialId(materialId);
+			dynamicPic.setClassId(4L);
+			dynamicPic.setSubclassId(0L);
+			dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE);
+			dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
+			dynamicPic.setUser(activityUserService.listRand(1).get(0));
+			dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000));
+			dynamicPic.setCreateTime(new Date());
+			dynamicPic.setUpdateTime(new Date());
+			
+			try {
+				// 鐢诲浘
+				String url = qrCodeService.drawInviteToGreet(picture, null, null, null, content, new Date());
+				
+				List<ClientTextStyleVO> listtitle = new ArrayList<ClientTextStyleVO>();
+				dynamicPic.setTitle(listtitle);
+				
+				GoodsPicture p2 = new GoodsPicture();
+				p2.setW(100);
+				p2.setH(100);
+				p2.setUrl(url);
+				List<GoodsPicture> listImg = new ArrayList<GoodsPicture>();
+				listImg.add(p2);
+				dynamicPic.setImgs(listImg);
+				
+				dynamicInfoDao.insert(dynamicPic);
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+		// 鏇存柊绱犳潗鐘舵��
+		inviteMaterialService.updateState(1, materialId);
+	}
 }

--
Gitblit v1.8.0