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