From 09417e97672be66c5e312b10f23a9e30da3acb97 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@MS-20170306HGUF>
Date: 星期一, 24 二月 2020 15:23:08 +0800
Subject: [PATCH] 热销转换发圈

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  198 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 141 insertions(+), 57 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
index 516ae77..a00ead7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
@@ -2,8 +2,11 @@
 
 import java.awt.image.BufferedImage;
 import java.io.InputStream;
+import java.io.PrintWriter;
+import java.lang.reflect.Type;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
@@ -18,15 +21,29 @@
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.yeshi.utils.DateUtil;
+import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.tencentcloud.COSManager;
 
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
 import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao;
 import com.yeshi.fanli.dto.ConfigParamsDTO;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.activity.ActivityUser;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.dynamic.CommentInfo;
+import com.yeshi.fanli.entity.dynamic.DynamicInfo;
 import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum;
 import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
+import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum;
+import com.yeshi.fanli.entity.dynamic.GoodsPicture;
 import com.yeshi.fanli.entity.dynamic.ImgInfo;
 import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum;
 import com.yeshi.fanli.entity.dynamic.SimpleGoods;
@@ -49,6 +66,8 @@
 import com.yeshi.fanli.vo.goods.CouponInfoVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
+
+import net.sf.json.JSONObject;
 
 @Service
 public class GoodsEvaluateServiceImpl implements GoodsEvaluateService {
@@ -107,7 +126,7 @@
 		if (dynamicType == null) {
 			record.setDynamicType(1);
 		}
-		
+
 		if (record.getShareNum() == null)
 			record.setShareNum(0);
 
@@ -212,7 +231,7 @@
 				BufferedImage sourceImg = ImageIO.read(inputStream);
 				int width = sourceImg.getWidth();
 				int height = sourceImg.getHeight();
-				
+
 				String picLink = uploadPicture(filevideo);
 				if (imgVideo != null) {
 					String url = imgVideo.getUrl();
@@ -265,7 +284,7 @@
 						if (file != null) {
 							picLink = uploadPicture(file);
 						}
-						
+
 					}
 					if (picLink.startsWith("http")) {
 						listpic.add(picLink);
@@ -279,11 +298,12 @@
 			picNum = 1;
 		}
 
-		GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType);;
+		GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType);
+		;
 		if (goodsDetailVO == null) {
 			throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
 		}
-		
+
 		int totalImg = 0;
 		if (listpic != null && listpic.size() > 0) {
 			for (int i = 0; i < listpic.size(); i++) {
@@ -317,7 +337,7 @@
 					imgInfo0.setType(ImgEnum.img);
 				}
 				listImg.add(imgInfo0);
-				totalImg ++;
+				totalImg++;
 			}
 		}
 
@@ -325,17 +345,17 @@
 			for (int j = 0; j < listOld.size(); j++) {
 				boolean del = true;
 				String oldPic = listOld.get(j);
-				for (ImgInfo imgInfo: listImg) {
+				for (ImgInfo imgInfo : listImg) {
 					String url = imgInfo.getUrl();
 					if (url.equals(oldPic)) {
 						del = false;
-					} 
+					}
 				}
 				if (del)
 					listDel.add(listOld.get(j));
 			}
 		}
-		
+
 		int lineNum = 0;
 		if (totalImg > 0) {
 			if (totalImg == 1) {
@@ -346,7 +366,7 @@
 				lineNum = 3;
 			}
 		}
-		
+
 		resultObj.setLineNum(lineNum);
 		resultObj.setGoods(goodsDetailVO);
 		resultObj.setMainPicNum(picNum);
@@ -427,7 +447,7 @@
 				BufferedImage sourceImg = ImageIO.read(inputStream);
 				int width = sourceImg.getWidth();
 				int height = sourceImg.getHeight();
-				
+
 				String picLink = uploadPicture(filevideo);
 				if (imgVideo != null) {
 					String url = imgVideo.getUrl();
@@ -511,7 +531,7 @@
 					imgInfo0.setGoods(simpleGoods);
 					imgInfo0.setGoodsVO(goodsDetailVO);
 					listImg.add(imgInfo0);
-					totalImg ++;
+					totalImg++;
 				}
 			}
 		}
@@ -564,9 +584,9 @@
 				lineNum = 3;
 			}
 		}
-		
+
 		resultObj.setLineNum(lineNum);
-		
+
 		// 淇濆瓨鍥剧墖淇℃伅
 		resultObj.setImgList(listImg);
 		goodsEvaluateDao.save(resultObj);
@@ -595,15 +615,15 @@
 		CommentInfo currencyCoupon = null;
 		List<CommentInfo> oldComments = resultObj.getComments();
 		if (oldComments != null) {
-			for (CommentInfo info: oldComments) {
-				if(CommentInfoEnum.goodsCoupon == info.getType()) {
+			for (CommentInfo info : oldComments) {
+				if (CommentInfoEnum.goodsCoupon == info.getType()) {
 					goodsCoupon = info;
 				} else if (CommentInfoEnum.currencyCoupon == info.getType()) {
 					currencyCoupon = info;
 				}
 			}
 		}
-		
+
 		List<CommentInfo> comments = new ArrayList<>();
 		if (!StringUtil.isNullOrEmpty(content)) {
 			CommentInfo commentInfo = new CommentInfo();
@@ -616,15 +636,15 @@
 			commentInfo.setType(CommentInfoEnum.goodsCoupon);
 			comments.add(commentInfo);
 		}
-		
+
 		if (currencyCoupon != null) {
 			comments.add(currencyCoupon);
 		}
-		
+
 		resultObj.setComments(comments);
 		goodsEvaluateDao.save(resultObj);
 	}
-	
+
 	@Override
 	public void saveSingleGoodsCoupon(String pid, CommentInfo commentInfo) throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
@@ -639,20 +659,20 @@
 		CommentInfo currencyCoupon = null;
 		List<CommentInfo> oldComments = resultObj.getComments();
 		if (oldComments != null) {
-			for (CommentInfo info: oldComments) {
-				if(CommentInfoEnum.goodsCoupon == info.getType()) {
+			for (CommentInfo info : oldComments) {
+				if (CommentInfoEnum.goodsCoupon == info.getType()) {
 					goodsCoupon = info;
 				} else if (CommentInfoEnum.currencyCoupon == info.getType()) {
 					currencyCoupon = info;
 				}
 			}
 		}
-		
+
 		List<CommentInfo> comments = new ArrayList<>();
 		if (goodsCoupon != null) {
 			comments.add(goodsCoupon);
 		}
-		
+
 		if (commentInfo != null) {
 			if (currencyCoupon != null) {
 				commentInfo.setId(currencyCoupon.getId());
@@ -660,7 +680,7 @@
 				commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
 			}
 			commentInfo.setType(CommentInfoEnum.currencyCoupon);
-			
+
 			// 鏍囩淇℃伅
 			List<ClientTextStyleVO> tagList = new ArrayList<>();
 			String couponSource = commentInfo.getCouponSource();
@@ -678,10 +698,10 @@
 				tagList.add(styleVO);
 			}
 			commentInfo.setTagList(tagList);
-			
+
 			comments.add(commentInfo);
 		}
-		
+
 		resultObj.setComments(comments);
 
 		goodsEvaluateDao.save(resultObj);
@@ -724,7 +744,7 @@
 			MultipartFile filevideo = fileRequest.getFile("filevideo");
 			if (filevideo != null) {
 				removePicture(videoPic);
-				
+
 				InputStream inputStream = filevideo.getInputStream();
 				BufferedImage sourceImg = ImageIO.read(inputStream);
 				width = sourceImg.getWidth();
@@ -800,8 +820,8 @@
 	}
 
 	@Override
-	public void saveSuCai(String pid, String videoUrl, String picUrls, 
-			MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
+	public void saveSuCai(String pid, String videoUrl, String picUrls, MultipartHttpServletRequest fileRequest)
+			throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
 		}
@@ -815,7 +835,7 @@
 		ImgInfo imgActivity = null;
 		List<String> listDel = new ArrayList<String>();
 		List<String> listOld = new ArrayList<String>();
-		
+
 		List<ImgInfo> listOldImgInfo = new ArrayList<ImgInfo>();
 		// 澶勭悊鍥剧墖
 		List<ImgInfo> resultList = resultObj.getImgList();
@@ -848,7 +868,7 @@
 				BufferedImage sourceImg = ImageIO.read(inputStream);
 				int width = sourceImg.getWidth();
 				int height = sourceImg.getHeight();
-				
+
 				String picLink = uploadPicture(filevideo);
 				if (imgVideo != null) {
 					String url = imgVideo.getUrl();
@@ -870,8 +890,7 @@
 				imgVideo.setW(width);
 				imgVideo.setH(height);
 			}
-			
-			
+
 			activityFile = fileRequest.getFile("activityFile");
 		}
 
@@ -881,7 +900,7 @@
 				if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
 					throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
 				}
-				
+
 				imgVideo.setVideoUrl(videoUrl);
 				listImg.add(imgVideo);
 			} else {
@@ -891,15 +910,15 @@
 				}
 			}
 		}
-		
+
 		if (activityFile != null) {
 			InputStream inputStream = activityFile.getInputStream();
 			BufferedImage sourceImg = ImageIO.read(inputStream);
 			int width = sourceImg.getWidth();
 			int height = sourceImg.getHeight();
-			
+
 			String picLink = uploadPicture(activityFile);
-			
+
 			ImgInfo activity = new ImgInfo();
 			activity.setId(UUID.randomUUID().toString().replace("-", ""));
 			activity.setLarge(true);
@@ -914,8 +933,6 @@
 		} else if (imgActivity != null) {
 			listImg.add(imgActivity);
 		}
-		
-		
 
 		// 缂栬緫鍥剧墖
 		if (!StringUtil.isNullOrEmpty(picUrls)) {
@@ -927,7 +944,7 @@
 						MultipartFile file = fileRequest.getFile("file" + i);
 						if (file != null) {
 							picLink = uploadPicture(file);
-							
+
 							ImgInfo imgInfo0 = new ImgInfo();
 							imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
 							imgInfo0.setLarge(true);
@@ -941,12 +958,12 @@
 							continue;
 						}
 					}
-					
+
 					if (picLink.startsWith("http")) {
-						if(listOldImgInfo != null) {
-							for (ImgInfo imgInfo:listOldImgInfo) {
+						if (listOldImgInfo != null) {
+							for (ImgInfo imgInfo : listOldImgInfo) {
 								String url = imgInfo.getUrl();
-								if (picLink.equals(url)){
+								if (picLink.equals(url)) {
 									listImg.add(imgInfo);
 									break;
 								}
@@ -961,11 +978,11 @@
 			for (int j = 0; j < listOld.size(); j++) {
 				boolean del = true;
 				String oldPic = listOld.get(j);
-				for (ImgInfo imgInfo: listImg) {
+				for (ImgInfo imgInfo : listImg) {
 					String url = imgInfo.getUrl();
 					if (url.equals(oldPic)) {
 						del = false;
-					} 
+					}
 				}
 				if (del)
 					listDel.add(listOld.get(j));
@@ -984,7 +1001,7 @@
 			}
 		}
 	}
-	
+
 	@Override
 	public void deleteBatchByPrimaryKey(List<String> list) {
 		if (list == null || list.size() == 0) {
@@ -1056,7 +1073,7 @@
 		goodsEvaluate.setComments(comments);
 		goodsEvaluateDao.save(goodsEvaluate);
 	}
-	
+
 	@Override
 	public void release(String id) throws GoodsEvaluateException {
 		GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(id);
@@ -1066,7 +1083,6 @@
 		goodsEvaluate.setState(1);
 		goodsEvaluateDao.save(goodsEvaluate);
 	}
-
 
 	@Override
 	public void deleteComment(String pid, List<String> list) throws GoodsEvaluateException {
@@ -1146,7 +1162,7 @@
 	public long countValid() {
 		return goodsEvaluateDao.countValid(1);
 	}
-	
+
 	@Override
 	@Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type")
 	public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) {
@@ -1209,14 +1225,15 @@
 				if (imgList == null || imgList.size() == 0) {
 					continue;
 				}
-				
-				for (ImgInfo imgInfo: imgList) {
+
+				for (ImgInfo imgInfo : imgList) {
 					SimpleGoods simpleGoods = imgInfo.getGoods();
 					if (simpleGoods == null) {
 						continue;
 					}
-					
-					GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(), paramsDTO);
+
+					GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(),
+							paramsDTO);
 					if (goodsDetailVO != null) {
 						simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
 						CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
@@ -1232,7 +1249,7 @@
 						imgInfo.setGoodsVO(goodsDetailVO);
 					}
 				}
-				
+
 				goodsEvaluate.setUpdateTime(new Date());
 				goodsEvaluateDao.save(goodsEvaluate);
 			}
@@ -1258,5 +1275,72 @@
 		return vo;
 	}
 
-}
+	@Override
+	public void addGoodsEvaluateByDynamicInfo(DynamicInfo info) {
+		try {
+			GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
+			goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
+			ActivityUser user = info.getUser();
+			goodsEvaluate.setUser(user);
+			goodsEvaluate.setState(1);
+			goodsEvaluate.setDynamicType(1);
+			goodsEvaluate.setType(EvaluateEnum.single);
+			goodsEvaluate.setLineNum(2);
+			goodsEvaluate.setShareNum(info.getShareCount());
+			goodsEvaluate.setShareNumReal(0);
+			goodsEvaluate.setPublishTime(info.getCreateTime());
+			goodsEvaluate.setCreateTime(new Date());
+			goodsEvaluate.setUpdateTime(new Date());
+			goodsEvaluate.setWeight(0.0);
+			goodsEvaluate.setStartTime(new Date());
+			goodsEvaluate.setEndTime(DateUtil.plusYears(new Date(), 100));
 
+			List<ClientTextStyleVO> titles = info.getTitle();
+			if (titles != null) {
+				goodsEvaluate.setTitle(info.getTitle().get(0).getContent());
+			} else {
+				goodsEvaluate.setTitle("");
+			}
+
+			List<ImgInfo> imgList = new ArrayList<>();
+
+			List<GoodsPicture> imgs = info.getImgs();
+			for (GoodsPicture goodsPicture : imgs) {
+				ImgInfo imgInfo = new ImgInfo();
+				imgInfo.setH(1);
+				imgInfo.setW(1);
+				imgInfo.setLarge(false);
+				imgInfo.setUrl(goodsPicture.getUrl());
+				imgInfo.setUrlHD(goodsPicture.getUrl());
+
+				GoodsDetailVO goodsVO = goodsPicture.getGoodsVO();
+				if (goodsVO == null) {
+					imgInfo.setType(ImgEnum.img);
+				} else {
+					imgInfo.setType(ImgEnum.goods);
+					SimpleGoods simpleGoods = new SimpleGoods();
+					simpleGoods.setGoodsId(goodsVO.getGoodsId());
+					simpleGoods.setGoodsType(goodsVO.getGoodsType());
+
+					CouponInfoVO couponInfo = goodsVO.getCouponInfo();
+					if (couponInfo == null) {
+						simpleGoods.setState(0);
+						simpleGoods.setPrice(goodsVO.getZkPrice());
+					} else {
+						simpleGoods.setState(goodsVO.getState());
+						simpleGoods.setPrice(goodsVO.getCouponPrice());
+						simpleGoods.setAmount(couponInfo.getAmount());
+					}
+					imgInfo.setGoods(simpleGoods);
+					goodsEvaluate.setGoods(goodsVO);
+				}
+				imgList.add(imgInfo);
+			}
+			goodsEvaluate.setImgList(imgList);
+			goodsEvaluateDao.save(goodsEvaluate);
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
+		}
+	}
+
+}

--
Gitblit v1.8.0