From 68bdb0d4ea244c91d57f97291ff2c19b56d69b70 Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期二, 10 三月 2020 19:15:27 +0800
Subject: [PATCH] 保留2位小数
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 1164 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 908 insertions(+), 256 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 921095f..415c687 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
@@ -1,6 +1,8 @@
package com.yeshi.fanli.service.impl.dynamic;
import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
@@ -14,13 +16,14 @@
import javax.annotation.Resource;
import javax.imageio.ImageIO;
+import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.core.task.TaskExecutor;
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.ImageCropUtil;
import org.yeshi.utils.tencentcloud.COSManager;
import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao;
@@ -28,6 +31,7 @@
import com.yeshi.fanli.dto.jd.JDCouponInfo;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
+import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
import com.yeshi.fanli.entity.dynamic.CommentInfo;
import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum;
import com.yeshi.fanli.entity.dynamic.DynamicInfo;
@@ -41,8 +45,10 @@
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoLink;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.exception.dynamic.ActivityUserException;
import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
+import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.activity.ActivityUserService;
@@ -50,9 +56,12 @@
import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
+import com.yeshi.fanli.util.FileUtil;
+import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
@@ -61,7 +70,10 @@
import com.yeshi.fanli.util.jd.JDApiUtil;
import com.yeshi.fanli.util.jd.JDUtil;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
+import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.CouponInfoVO;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
@@ -89,17 +101,18 @@
@Resource
private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
-
+
@Resource
private ConfigService configService;
-
+
@Resource
private ShareGoodsService shareGoodsService;
-
+
@Resource
private ConvertLinkManager convertLinkManager;
-
-
+
+ @Resource
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
@Override
public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
@@ -107,12 +120,13 @@
if (state == null) {
state = 0;
}
+ record.setState(state);
String tilte = record.getTitle();
if (StringUtil.isNullOrEmpty(tilte)) {
throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�");
}
-
+
try {
ActivityUser activityUser = activityUserService.getActivityUserByNickName(record.getUser(), file);
if (activityUser == null)
@@ -123,11 +137,10 @@
}
if (record.getEndTime() != null) {
- if (record.getEndTime().getTime() <= java.lang.System.currentTimeMillis())
- throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿");
-
if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
+ } else {
+ record.setEndTime(DateUtil.plusDayDate(3, new Date()));
}
Integer dynamicType = record.getDynamicType();
@@ -135,15 +148,16 @@
record.setDynamicType(1);
}
- if (record.getShareNum() == null)
- record.setShareNum(0);
+ if (record.getShareNum() == null || record.getShareNum() <= 0) {
+ record.setShareNum((int) (Math.random() * 5000) + 1000);
+ }
if (record.getWeight() == null)
record.setWeight(0.0);
if (record.getStartTime() == null)
record.setStartTime(new Date());
-
+
record.setPublishTime(record.getStartTime());
String id = record.getId();
@@ -158,6 +172,7 @@
if (resultObj == null)
throw new GoodsEvaluateException(1, "淇敼鍐呭宸蹭笉瀛樺湪");
+ resultObj.setState(record.getState());
resultObj.setUser(record.getUser());
resultObj.setShareNum(record.getShareNum());
resultObj.setWeight(record.getWeight());
@@ -185,6 +200,39 @@
return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
}
+ private ImgInfo uploadVideoPicture(MultipartFile filevideo) {
+ try {
+ File tempFile = new File(FileUtil.getCacheDir() + "/" + filevideo.getOriginalFilename());
+ if (tempFile.exists())
+ tempFile.delete();
+ tempFile.createNewFile();
+ filevideo.transferTo(tempFile);
+ File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getOriginalFilename());
+ // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
+ ImageCropUtil.centerCrop(tempFile, destFile, 2.0f);
+ BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
+ ImgInfo info = new ImgInfo();
+ int width = sourceImg.getWidth();
+ int height = sourceImg.getHeight();
+ String picLink = uploadPicture(destFile, filevideo.getContentType());
+ info.setH(height);
+ info.setW(width);
+ info.setUrl(picLink);
+ return info;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ private String uploadPicture(File file, String contentType) throws Exception {
+ InputStream inputStream = new FileInputStream(file);
+ String type = contentType.substring(contentType.indexOf("/") + 1);
+ String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."
+ + type;
+ return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
+ }
+
/**
* 鍒犻櫎鍥剧墖
*
@@ -198,7 +246,7 @@
}
@Override
- public void saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum,
+ public String saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum,
String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
if (StringUtil.isNullOrEmpty(pid)) {
throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -221,10 +269,10 @@
ImgEnum type = info.getType();
if (type == ImgEnum.video) {
imgVideo = info;
- } else if (type == ImgEnum.goods ) {
+ } else if (type == ImgEnum.goods) {
listOld.add(info.getUrl());
oldGoodsVO = info.getGoodsVO();
- } else if (type == ImgEnum.img){
+ } else if (type == ImgEnum.img) {
listOld.add(info.getUrl());
}
}
@@ -237,31 +285,28 @@
if (StringUtil.isNullOrEmpty(videoUrl)) {
throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
}
- InputStream inputStream = filevideo.getInputStream();
- BufferedImage sourceImg = ImageIO.read(inputStream);
- int width = sourceImg.getWidth();
- int height = sourceImg.getHeight();
-
- String picLink = uploadPicture(filevideo);
+ ImgInfo info = uploadVideoPicture(filevideo);
+ if (info == null)
+ throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
if (imgVideo != null) {
String url = imgVideo.getUrl();
if (!StringUtil.isNullOrEmpty(url)) {
listDel.add(url);
}
- imgVideo.setUrl(picLink);
- imgVideo.setUrlHD(picLink);
+ imgVideo.setUrl(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
} else {
imgVideo = new ImgInfo();
imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
imgVideo.setLarge(true);
imgVideo.setPid(pid);
- imgVideo.setUrl(picLink);
- imgVideo.setUrlHD(picLink);
+ imgVideo.setUrl(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
imgVideo.setVideoUrl(videoUrl);
imgVideo.setType(ImgEnum.video);
}
- imgVideo.setW(width);
- imgVideo.setH(height);
+ imgVideo.setW(info.getW());
+ imgVideo.setH(info.getH());
}
}
@@ -311,10 +356,8 @@
GoodsDetailVO goodsDetailVO = null;
JDGoods jdGoods = null;
PDDGoodsDetail pddGoods = null;
- BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
- BigDecimal shareRate = hongBaoManageService.getShareRate();
- BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
- ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, vipFanLiRate);
+ ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
try {
TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
@@ -329,14 +372,15 @@
pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params);
}
-
+
if (goodsDetailVO == null) {
throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
}
+ List<ImgInfo> tempList = new ArrayList<ImgInfo>();
int totalImg = 0;
if (listpic != null && listpic.size() > 0) {
- for (int i = 0; i < listpic.size(); i++) {
+ for (int i = 0; i < listpic.size() && i < 9; i++) {
ImgInfo imgInfo0 = new ImgInfo();
imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
imgInfo0.setW(1);
@@ -361,12 +405,17 @@
}
imgInfo0.setGoods(simpleGoods);
imgInfo0.setGoodsVO(goodsDetailVO);
+ listImg.add(imgInfo0);
} else {
imgInfo0.setType(ImgEnum.img);
+ tempList.add(imgInfo0);
}
- listImg.add(imgInfo0);
totalImg++;
}
+ }
+
+ if (tempList.size() > 0) {
+ listImg.addAll(tempList);
}
if (listOld != null && listOld.size() > 0) {
@@ -388,6 +437,8 @@
if (totalImg > 0) {
if (totalImg == 1) {
lineNum = 1;
+ } else if (totalImg == 3) {
+ lineNum = 3;
} else if (totalImg <= 4) {
lineNum = 2;
} else {
@@ -399,32 +450,30 @@
resultObj.setGoods(goodsDetailVO);
resultObj.setMainPicNum(picNum);
resultObj.setImgList(listImg);
-
+
boolean addComment = true;
List<CommentInfo> commentsNew = new ArrayList<>();
List<CommentInfo> comments = resultObj.getComments();
- if (comments != null) {
- for (CommentInfo commentInfo: comments) {
+ if (comments != null && comments.size() > 0) {
+ for (CommentInfo commentInfo : comments) {
if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
- if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue()
+ if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue()
&& oldGoodsVO.getGoodsType() == goodsType) {
addComment = false;
- }
+ }
continue;
- }
+ }
commentsNew.add(commentInfo);
}
- }
-
-
- CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo();
- if (couponInfo1 == null) {
- addComment = false;
}
-
-
+
+ /*
+ * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if
+ * (couponInfo1 == null) { addComment = false; }
+ */
+
+ String commentText = "";
if (addComment) {
- String commentText = "";
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0");
String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
@@ -436,26 +485,27 @@
couponUrl = couponInfo.getLink();
}
String materialId = "https://item.jd.com/" + goodsId + ".html";
- String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "","1");
+ String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl,
+ JDApiUtil.POSITION_SHARE + "", "1");
String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
- commentText = template.replace("[閾炬帴]", jumpLink);
+ commentText = template.replace("[閾炬帴]", jumpLink);
} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", "1");
String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
commentText = template.replace("[閾炬帴]", jumpLink);
}
-
- commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString());
- if (!goodsDetailVO.isHasCoupon()) {
- commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
- commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
- } else {
- commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString());
- }
-
- commentText =commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
-
+// commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsDetailVO.getZkPrice())+"");
+// if (!goodsDetailVO.isHasCoupon()) {
+// commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+// commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+// } else {
+// commentText = commentText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goodsDetailVO.getCouponPrice())+"");
+// }
+//
+// commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n",
+// "\r\n");
+
CommentInfo commentInfo = new CommentInfo();
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
commentInfo.setContent(commentText);
@@ -473,17 +523,58 @@
}
}
}
+
+ return commentText;
+ }
+
+ private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
+ String commentText = "";
+ if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
+ TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsDetailVO.getGoodsId(), "0");
+ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+ commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
+ } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
+ String couponUrl = null;
+
+ JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsDetailVO.getGoodsId());
+ JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
+ if (couponInfo != null) {
+ couponUrl = couponInfo.getLink();
+ }
+ String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html";
+ String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
+ "1");
+ String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
+ commentText = template.replace("[閾炬帴]", jumpLink);
+ } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
+ String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetailVO.getGoodsId(),
+ PinDuoDuoApiUtil.PID_SHARE + "", "1");
+ String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
+ commentText = template.replace("[閾炬帴]", jumpLink);
+ }
+
+ commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString());
+ if (!goodsDetailVO.isHasCoupon()) {
+ commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+ commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+ } else {
+ commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString());
+ }
+
+ return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
}
public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException {
GoodsDetailVO goodsDetail = null;
- BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
- BigDecimal shareRate = hongBaoManageService.getShareRate();
- BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
- ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, vipFanLiRate);
+ ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
try {
TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+ String pictUrlWhite = goodsBrief.getPictUrlWhite();
+ if (!StringUtil.isNullOrEmpty(pictUrlWhite)) {
+ goodsBrief.setPictUrl(pictUrlWhite);
+ }
goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
} catch (TaobaoGoodsDownException e) {
throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
@@ -535,31 +626,29 @@
throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
}
- InputStream inputStream = filevideo.getInputStream();
- BufferedImage sourceImg = ImageIO.read(inputStream);
- int width = sourceImg.getWidth();
- int height = sourceImg.getHeight();
+ ImgInfo info = uploadVideoPicture(filevideo);
+ if (info == null)
+ throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
- String picLink = uploadPicture(filevideo);
if (imgVideo != null) {
String url = imgVideo.getUrl();
if (!StringUtil.isNullOrEmpty(url)) {
listDel.add(url);
}
- imgVideo.setUrl(picLink);
- imgVideo.setUrlHD(picLink);
+ imgVideo.setUrl(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
} else {
imgVideo = new ImgInfo();
imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
imgVideo.setLarge(true);
imgVideo.setPid(pid);
- imgVideo.setUrl(picLink);
- imgVideo.setUrlHD(picLink);
+ imgVideo.setUrl(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
imgVideo.setVideoUrl(videoUrl);
imgVideo.setType(ImgEnum.video);
}
- imgVideo.setW(width);
- imgVideo.setH(height);
+ imgVideo.setW(info.getW());
+ imgVideo.setH(info.getH());
}
}
@@ -592,6 +681,7 @@
}
String picUrl = goodsDetailVO.getPicUrl();
+
if (fileRequest != null) {
MultipartFile file = fileRequest.getFile("file" + i);
if (file != null) {
@@ -622,7 +712,7 @@
}
imgInfo0.setGoods(simpleGoods);
imgInfo0.setGoodsVO(goodsDetailVO);
-
+
listImg.add(imgInfo0);
totalImg++;
}
@@ -671,6 +761,8 @@
if (totalImg > 0) {
if (totalImg == 1) {
lineNum = 1;
+ } else if (totalImg == 3) {
+ lineNum = 3;
} else if (totalImg <= 4) {
lineNum = 2;
} else {
@@ -692,6 +784,68 @@
}
}
}
+ }
+
+ @Override
+ public void saveGoodsComment(String id, int kind, List<CommentInfo> comments)
+ throws GoodsEvaluateException, Exception {
+ if (comments == null || comments.size() == 0) {
+ throw new GoodsEvaluateException(1, "鍐呭涓嶈兘涓虹┖");
+ }
+
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+ GoodsDetailVO goods = resultObj.getGoods();
+ if (kind == 1 && goods == null) {
+ throw new GoodsEvaluateException(1, "璇峰厛褰曞叆鍟嗗搧淇℃伅");
+ }
+
+ CommentInfo currencyCoupon = null;
+ List<CommentInfo> oldComments = resultObj.getComments();
+ if (oldComments != null) {
+ for (int i = 0; i < oldComments.size(); i++) {
+ CommentInfo info = oldComments.get(i);
+ if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
+ currencyCoupon = info;
+ continue;
+ }
+ }
+ }
+
+ List<CommentInfo> newList = new ArrayList<>();
+ for (int i = 0; i < comments.size(); i++) {
+ CommentInfo commentInfo = comments.get(i);
+ String content = commentInfo.getContent();
+ if (StringUtil.isNullOrEmpty(content)) {
+ if (i == 0 && kind == 1) {
+ content = createTokenAndLink(goods);
+ } else {
+ continue;
+ }
+ } else if (i == 0 && kind == 1) {
+ try {
+ convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
+ } catch (Exception e) {
+ throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");
+ }
+ }
+
+ if (StringUtil.isNullOrEmpty(commentInfo.getId())) {
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ }
+
+ commentInfo.setType(commentInfo.getTags());
+ commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ newList.add(commentInfo);
+ }
+ if (currencyCoupon != null) {
+ comments.add(currencyCoupon);
+ }
+
+ resultObj.setComments(comments);
+ goodsEvaluateDao.save(resultObj);
}
@Override
@@ -719,6 +873,15 @@
List<CommentInfo> comments = new ArrayList<>();
if (!StringUtil.isNullOrEmpty(content)) {
+
+ if (!StringUtil.isNullOrEmpty(content)) {
+ try {
+ convertLinkManager.convertLinkFromText(content, 1L, true);
+ } catch (Exception e) {
+ throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");
+ }
+ }
+
CommentInfo commentInfo = new CommentInfo();
if (goodsCoupon != null) {
commentInfo.setId(goodsCoupon.getId());
@@ -726,7 +889,7 @@
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
}
commentInfo.setContent(content);
- commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+ commentInfo.setType(commentInfo.getTags());
commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
comments.add(commentInfo);
}
@@ -740,23 +903,23 @@
}
@Override
- public void saveSingleGoodsCoupon(String pid, CommentInfo commentInfo) throws GoodsEvaluateException, Exception {
+ public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo)
+ throws GoodsEvaluateException, Exception {
if (StringUtil.isNullOrEmpty(pid)) {
throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
}
-
+
if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
}
-
+
if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) {
throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�");
}
-
-
+
String tagUrl = commentInfo.getTagUrl();
String content = commentInfo.getContent();
- if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content) ) {
+ if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) {
throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
}
@@ -771,35 +934,34 @@
} else {
throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿");
}
-
- if(!StringUtil.isNullOrEmpty(content)) {
+
+ if (!StringUtil.isNullOrEmpty(content) && kind != 3) { // 娲诲姩涓嶉獙璇�
try {
- convertLinkManager.convertLinkFromText(content, 1L, true);
+ convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
+ } catch (ConvertLinkExceptionException e) {
+ if (ConvertLinkExceptionException.CODE_NONE != e.getCode()) {
+ throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
+ }
} catch (Exception e) {
- throw new GoodsEvaluateException(1, "杞摼澶辫触");
+ throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
}
}
-
+
GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
if (resultObj == null)
throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
- CommentInfo goodsCoupon = null;
+ List<CommentInfo> comments = new ArrayList<>();
CommentInfo currencyCoupon = null;
List<CommentInfo> oldComments = resultObj.getComments();
if (oldComments != null) {
for (CommentInfo info : oldComments) {
if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) {
- goodsCoupon = info;
+ comments.add(info);
} else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
currencyCoupon = info;
}
}
- }
-
- List<CommentInfo> comments = new ArrayList<>();
- if (goodsCoupon != null) {
- comments.add(goodsCoupon);
}
if (commentInfo != null) {
@@ -809,15 +971,10 @@
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
}
// 鍒哥被鍨�
-
- String tags = commentInfo.getTags();
- if (StringUtil.isNullOrEmpty(tags)) {
- commentInfo.setType(CommentInfoEnum.currencyCoupon.getDesc());
- } else {
- commentInfo.setType(tags);
- }
+
+ commentInfo.setType(commentInfo.getTags());
commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon);
-
+
// 鏍囩淇℃伅
List<ClientTextStyleVO> tagList = new ArrayList<>();
String couponSource = commentInfo.getCouponSource();
@@ -840,7 +997,6 @@
}
resultObj.setComments(comments);
-
goodsEvaluateDao.save(resultObj);
}
@@ -882,12 +1038,12 @@
if (filevideo != null) {
removePicture(videoPic);
- InputStream inputStream = filevideo.getInputStream();
- BufferedImage sourceImg = ImageIO.read(inputStream);
- width = sourceImg.getWidth();
- height = sourceImg.getHeight();
- String picLink = uploadPicture(filevideo);
- videoPic = picLink;
+ ImgInfo info = uploadVideoPicture(filevideo);
+ if (info == null)
+ throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
+ videoPic = info.getUrl();
+ width = info.getW();
+ height = info.getH();
}
MultipartFile activityfile = fileRequest.getFile("activityfile");
@@ -927,6 +1083,7 @@
listImg.add(imgVideo);
}
+ int totalImg = 0;
if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
if (imgactivity != null) {
imgactivity.setUrl(activityPic);
@@ -950,8 +1107,23 @@
imgactivity.setH(imgactivity.getH());
}
listImg.add(imgactivity);
+ totalImg++;
}
- resultObj.setLineNum(1);
+
+ int lineNum = 0;
+ if (totalImg > 0) {
+ if (totalImg == 1) {
+ lineNum = 1;
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg <= 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+
+ resultObj.setLineNum(lineNum);
resultObj.setImgList(listImg);
goodsEvaluateDao.save(resultObj);
}
@@ -1001,31 +1173,28 @@
if (StringUtil.isNullOrEmpty(videoUrl)) {
throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
}
- InputStream inputStream = filevideo.getInputStream();
- BufferedImage sourceImg = ImageIO.read(inputStream);
- int width = sourceImg.getWidth();
- int height = sourceImg.getHeight();
-
- String picLink = uploadPicture(filevideo);
+ ImgInfo info = uploadVideoPicture(filevideo);
+ if (info == null)
+ throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
if (imgVideo != null) {
String url = imgVideo.getUrl();
if (!StringUtil.isNullOrEmpty(url)) {
listDel.add(url);
}
- imgVideo.setUrl(picLink);
- imgVideo.setUrlHD(picLink);
+ imgVideo.setUrl(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
} else {
imgVideo = new ImgInfo();
imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
imgVideo.setLarge(true);
imgVideo.setPid(pid);
- imgVideo.setUrl(picLink);
- imgVideo.setUrlHD(picLink);
+ imgVideo.setUrl(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
imgVideo.setVideoUrl(videoUrl);
imgVideo.setType(ImgEnum.video);
}
- imgVideo.setW(width);
- imgVideo.setH(height);
+ imgVideo.setW(info.getW());
+ imgVideo.setH(info.getH());
}
activityFile = fileRequest.getFile("activityFile");
@@ -1071,6 +1240,7 @@
listImg.add(imgActivity);
}
+ int totalImg = 0;
// 缂栬緫鍥剧墖
if (!StringUtil.isNullOrEmpty(picUrls)) {
String[] pics = picUrls.split(",");
@@ -1084,14 +1254,15 @@
ImgInfo imgInfo0 = new ImgInfo();
imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
- imgInfo0.setLarge(true);
+ imgInfo0.setLarge(false);
imgInfo0.setPid(pid);
imgInfo0.setUrl(picLink);
imgInfo0.setUrlHD(picLink);
imgInfo0.setType(ImgEnum.img);
- imgVideo.setW(1);
- imgVideo.setH(1);
+ imgInfo0.setW(1);
+ imgInfo0.setH(1);
listImg.add(imgInfo0);
+ totalImg++;
continue;
}
}
@@ -1102,6 +1273,7 @@
String url = imgInfo.getUrl();
if (picLink.equals(url)) {
listImg.add(imgInfo);
+ totalImg++;
break;
}
}
@@ -1125,7 +1297,21 @@
listDel.add(listOld.get(j));
}
}
- resultObj.setLineNum(1);
+
+ int lineNum = 0;
+ if (totalImg > 0) {
+ if (totalImg == 1) {
+ lineNum = 1;
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg <= 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+
+ resultObj.setLineNum(lineNum);
resultObj.setImgList(listImg);
goodsEvaluateDao.save(resultObj);
@@ -1301,10 +1487,133 @@
}
@Override
- @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type")
+// @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type")
public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) throws Exception {
List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type);
-
+ if (list == null) {
+ list = new ArrayList<>();
+ }
+ Date now = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ List<GoodsEvaluate> listNew = new ArrayList<>();
+ for (GoodsEvaluate goodsEvaluate : list) {
+
+ GoodsEvaluate evaluateNew = new GoodsEvaluate();
+ try {
+ PropertyUtils.copyProperties(evaluateNew, goodsEvaluate);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+
+ int comment = 0;
+ List<CommentInfo> comments = evaluateNew.getComments();
+ if (comments != null && comments.size() > 0) {
+ EvaluateEnum typeEnum = evaluateNew.getType();
+ List<CommentInfo> commentNew = new ArrayList<>();
+
+ for (CommentInfo commentInfo : comments) {
+ if (StringUtil.isNullOrEmpty(commentInfo.getContent())
+ && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+ continue;
+ }
+
+ CommentInfo commentInfoNew = new CommentInfo();
+ try {
+ PropertyUtils.copyProperties(commentInfoNew, commentInfo);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+
+ if (typeEnum != null && typeEnum == EvaluateEnum.single) {
+ GoodsDetailVO goods = evaluateNew.getGoods();
+ if (goods != null) {
+ String content = commentInfoNew.getContent();
+ if (!StringUtil.isNullOrEmpty(content)) {
+ content = content.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice())+"");
+ if (goods.isHasCoupon()) {
+ content = content.replace("[鍒稿悗浠穄",MoneyBigDecimalUtil.getWithNoZera(goods.getCouponPrice())+"");
+ } else {
+ content = content.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+ content = content.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+ }
+ content = content.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
+ commentInfoNew.setContent(content);
+ }
+ }
+ }
+
+
+ comment++;
+ CommentInfoEnum typeComment = commentInfoNew.getTypeEnum();
+ if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) {
+ GoodsDetailVO goods = evaluateNew.getGoods();
+ if (goods != null && goods.isHasCoupon()) {
+ commentNew.add(commentInfoNew);
+ continue;
+ }
+ }
+
+ String coupon = commentInfoNew.getCoupon();
+ String endTime = commentInfoNew.getEndTime();
+ if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
+ Date endDay = sdf.parse(endTime);
+ if (endDay.getTime() > now.getTime()) {
+ String daysBetween = DateUtil.dateDiff5(now, endDay);
+ if (!StringUtil.isNullOrEmpty(daysBetween)) {
+ List<ClientTextStyleVO> tagListNew = new ArrayList<>();
+ List<ClientTextStyleVO> tagList = commentInfoNew.getTagList();
+ if (tagList != null) {
+ tagListNew.addAll(tagList);
+ }
+
+ ClientTextStyleVO styleVO = new ClientTextStyleVO();
+ styleVO.setColor("#E5005C");
+ styleVO.setContent(daysBetween + "鍚庤繃鏈�");
+ tagListNew.add(styleVO);
+ commentInfoNew.setTagList(tagListNew);
+ commentNew.add(commentInfoNew);
+ continue;
+ } else {
+ continue;
+ }
+ } else {
+ continue;
+ }
+ }
+
+ commentNew.add(commentInfoNew);
+ }
+ evaluateNew.setComments(commentNew);
+
+ if (typeEnum != null && typeEnum == EvaluateEnum.single) {
+ if (comment > 0 && commentNew.size() == 0) { // 鎵�鏈夊埜璇勮涓嬫灦
+ GoodsDetailVO goods = evaluateNew.getGoods();
+ if (goods != null) {
+ goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦
+ LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦1");
+ }
+
+ List<ImgInfo> imgList = evaluateNew.getImgList();
+ if (imgList != null) {
+ for (ImgInfo imgInfo : imgList) {
+ SimpleGoods simpleGoods = imgInfo.getGoods();
+ if (simpleGoods != null) {
+ simpleGoods.setState(1);
+ LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦2");
+ }
+ }
+
+ }
+ }
+ }
+ }
+
+ listNew.add(evaluateNew);
+ }
+
List<GoodsEvaluate> listOBJ = list;
// 鏇存柊鍟嗗搧淇℃伅
executor.execute(new Runnable() {
@@ -1314,90 +1623,7 @@
}
});
- if (list == null) {
- list = new ArrayList<>();
- }
- Date now = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- for (GoodsEvaluate goodsEvaluate: list) {
- List<CommentInfo> comments = goodsEvaluate.getComments();
- if (comments != null) {
- EvaluateEnum typeEnum = goodsEvaluate.getType();
- List<CommentInfo> commentNew = new ArrayList<>();
-
- for (CommentInfo commentInfo: comments) {
- String typeCoupon = commentInfo.getType();
- if (StringUtil.isNullOrEmpty(typeCoupon)) {
- if (commentInfo.getTypeEnum() == null) {
- commentInfo.setType("");
- } else {
- commentInfo.setType(commentInfo.getTypeEnum().getDesc());
- }
- } else if (typeCoupon.equals(CommentInfoEnum.goodsCoupon.name())) {
- commentInfo.setType("鍟嗗搧浼樻儬鍒�");
- } else if (typeCoupon.equals(CommentInfoEnum.currencyCoupon.name())) {
- commentInfo.setType("閫氱敤浼樻儬鍒�");
- }
-
- CommentInfoEnum typeComment = commentInfo.getTypeEnum();
- if (typeComment != null && typeComment ==CommentInfoEnum.goodsCoupon) {
- GoodsDetailVO goods = goodsEvaluate.getGoods();
- if (goods.isHasCoupon()) {
- commentNew.add(commentInfo);
- continue;
- }
- }
-
- String coupon = commentInfo.getCoupon();
- String endTime = commentInfo.getEndTime();
- if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
- Date endDay = sdf.parse(endTime);
- if (endDay.getTime() > now.getTime()) {
- int daysBetween = DateUtil.daysBetween(endDay, now);
- if (daysBetween > 0) {
- ClientTextStyleVO styleVO = new ClientTextStyleVO();
- styleVO.setColor("#E5005C");
- styleVO.setContent(daysBetween + "澶╁悗杩囨湡");
- styleVO.setContent(coupon);
-
- List<ClientTextStyleVO> tagList = commentInfo.getTagList();
- tagList.add(styleVO);
-
- commentInfo.setTagList(tagList);
-
- if (typeEnum != null && typeEnum == EvaluateEnum.single) {
- //鏂板
- commentNew.add(commentInfo);
- }
- }
- }
- }
- }
- goodsEvaluate.setComments(commentNew);
-
- if (typeEnum != null && typeEnum == EvaluateEnum.single) {
- if (commentNew.size() == 0) {
- GoodsDetailVO goods = goodsEvaluate.getGoods();
- if (goods != null) {
- goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦
- }
-
- List<ImgInfo> imgList = goodsEvaluate.getImgList();
- if (imgList != null) {
- for (ImgInfo imgInfo: imgList) {
- SimpleGoods simpleGoods = imgInfo.getGoods();
- if (simpleGoods != null) {
- simpleGoods.setState(1);
- }
- }
-
- }
- }
- }
- }
- }
-
- return list;
+ return listNew;
}
@Override
@@ -1420,11 +1646,8 @@
try {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
- BigDecimal shareRate = hongBaoManageService.getShareRate();
- BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
- ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,
- vipFanLiRate);
+ ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
for (GoodsEvaluate goodsEvaluate : list) {
// 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊
Date updateTime = goodsEvaluate.getUpdateTime();
@@ -1440,28 +1663,28 @@
}
EvaluateEnum type = goodsEvaluate.getType();
- if (type != null && type == EvaluateEnum.activity) {
+ if (type != null && type == EvaluateEnum.activity) {
List<CommentInfo> comments = goodsEvaluate.getComments();
if (comments != null) {
- for (CommentInfo commentInfo: comments) {
+ for (CommentInfo commentInfo : comments) {
CommentInfoEnum commentInfoEnum = commentInfo.getTypeEnum();
- if (commentInfoEnum != null && commentInfoEnum== CommentInfoEnum.currencyCoupon) {
+ if (commentInfoEnum != null && commentInfoEnum == CommentInfoEnum.currencyCoupon) {
String endTime = commentInfo.getEndTime();
if (!StringUtil.isNullOrEmpty(endTime)) {
Date endDay = sdf.parse(endTime);
if (endDay.getTime() < now.getTime()) {
- goodsEvaluate.setState(1); // 娲诲姩杩囨湡
+ goodsEvaluate.setState(0); // 娲诲姩杩囨湡
}
}
}
-
+
}
}
}
-
+
GoodsDetailVO goods = goodsEvaluate.getGoods();
if (goods != null) {
- GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), paramsDTO);
+ GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), params);
if (goodsNew != null) {
goodsEvaluate.setGoods(goodsNew);
} else {
@@ -1483,7 +1706,7 @@
}
GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(),
- paramsDTO);
+ params);
if (goodsDetailVO != null) {
simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
simpleGoods.setState(0);
@@ -1506,7 +1729,7 @@
}
}
}
-
+ goodsEvaluate.setImgList(imgList);
goodsEvaluate.setUpdateTime(new Date());
goodsEvaluateDao.save(goodsEvaluate);
}
@@ -1518,6 +1741,15 @@
private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
GoodsDetailVO vo = null;
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ TaoBaoGoodsBrief goods;
+ try {
+ goods = redisManager.getTaoBaoGoodsBrief(goodsId);
+ if (goods != null) {
+ vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+ }
+ } catch (TaobaoGoodsDownException e) {
+ e.printStackTrace();
+ }
} else if (goodsType == Constant.SOURCE_TYPE_JD) {
JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);
@@ -1534,6 +1766,14 @@
@Override
public void addGoodsEvaluateByDynamicInfo(DynamicInfo info) {
+ if (1 > 0) {
+ return; // 鏆備笉鍚敤鑷姩鐢熸垚
+ }
+
+ if (info == null) {
+ return;
+ }
+
try {
GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -1550,7 +1790,7 @@
goodsEvaluate.setUpdateTime(new Date());
goodsEvaluate.setWeight(0.0);
goodsEvaluate.setStartTime(new Date());
- goodsEvaluate.setEndTime(DateUtil.plusDayDate(3,new Date()));
+ goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date()));
List<ClientTextStyleVO> titles = info.getTitle();
if (titles != null) {
@@ -1585,34 +1825,37 @@
} else {
simpleGoods.setPrice(goodsVO.getCouponPrice());
simpleGoods.setAmount(couponInfo.getAmount());
-
- TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), null);
- String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
- String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
-
- commentText = commentText.replace("[鍘熶环]", goodsVO.getZkPrice().toString());
- if (!goodsVO.isHasCoupon()) {
- commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
- commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
- } else {
- commentText = commentText.replace("[鍒稿悗浠穄", goodsVO.getCouponPrice().toString());
- }
- commentText =commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
-
-
- CommentInfo commentInfo = new CommentInfo();
- commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
- commentInfo.setContent(commentText);
- commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
- commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
-
- List<CommentInfo> commentsNew = new ArrayList<>();
- commentsNew.add(commentInfo);
- goodsEvaluate.setComments(commentsNew);
}
imgInfo.setGoods(simpleGoods);
+
+ TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), "0");
+
+// TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsVO.getGoodsId(), null);
+ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+ String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
+
+ commentText = commentText.replace("[鍘熶环]", goodsVO.getZkPrice().toString());
+ if (!goodsVO.isHasCoupon()) {
+ commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+ commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+ } else {
+ commentText = commentText.replace("[鍒稿悗浠穄", goodsVO.getCouponPrice().toString());
+ }
+ commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n")
+ .replace("\r\n\r\n", "\r\n");
+
+ CommentInfo commentInfo = new CommentInfo();
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ commentInfo.setContent(commentText);
+ commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+
+ List<CommentInfo> commentsNew = new ArrayList<>();
+ commentsNew.add(commentInfo);
+ goodsEvaluate.setComments(commentsNew);
+
goodsEvaluate.setGoods(goodsVO);
-
+
}
imgList.add(imgInfo);
}
@@ -1623,4 +1866,413 @@
}
}
+ @Override
+ public void addGoodsEvaluateByDaTaoKe() {
+ List<Long> listId = null;
+ List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist();
+ if (listExist != null && listExist.size() > 0) {
+ listId = new ArrayList<Long>();
+ for (GoodsEvaluate goodsEvaluate : listExist) {
+ GoodsDetailVO goods = goodsEvaluate.getGoods();
+ if (goods != null && goods.getGoodsType() == 1) {
+ listId.add(goods.getGoodsId());
+ }
+ }
+ }
+ // 鐑攢鍗曞搧鐨勫垎绫�
+ List<GoodsClass> listClass = DaTaoKeUtil.goodsClasses;
+ int ci = (int) (Math.random() * listClass.size());
+ Long subId = listClass.get(ci).getId();
+
+ List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subId, listId, 1);
+ if (list == null || list.size() == 0) {
+ return;
+ }
+
+ for (int i = 0; i < list.size(); i++) {
+ boolean cerateGoods = cerateGoods(list.get(i));
+ if (cerateGoods) {
+ break;
+ }
+ }
+ }
+
+ private boolean cerateGoods(DaTaoKeDetailV2 daTaoKe) {
+ try {
+ TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId());
+ if (goodsBrief == null) {
+ return false;
+ }
+
+ BigDecimal couponAmount = goodsBrief.getCouponAmount();
+ if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
+ return false;
+ }
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+ GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
+ // 鍙戝竷鐢ㄦ埛
+ ActivityUser user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid());
+
+ String desc = daTaoKe.getDesc().replace(",", "锛�");
+ String[] split = desc.split("锛�");
+ int max = 1;
+ if (Math.random() > 0.5) {
+ max = 2;
+ }
+ int e = 0;
+ String emojis = "";
+ String descNew = "";
+ if (split.length > 0) {
+ for (int i = 0; i < split.length; i++) {
+ if (Math.random() > 0.5 && e < max) {
+ for (int j = 0; j < 10; j++) {
+ String emojisTemp = DaTaoKeUtil.getEvaluateEmojis();
+ if (!emojis.equals(emojisTemp)) {
+ emojis = emojisTemp;
+ break;
+ }
+ }
+ e++;
+ descNew += split[i] + emojis;
+ } else {
+ descNew += split[i] + "锛�";
+ }
+ }
+ } else {
+ descNew = desc;
+ }
+
+ if (descNew.endsWith("锛�")) {
+ descNew = descNew.substring(0, descNew.length() - 1);
+ }
+
+ GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
+ goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
+ goodsEvaluate.setUser(user);
+ goodsEvaluate.setTitle(descNew);
+ goodsEvaluate.setState(1);
+ goodsEvaluate.setDynamicType(1);
+ goodsEvaluate.setType(EvaluateEnum.single);
+
+ goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000);
+ goodsEvaluate.setShareNumReal(0);
+ goodsEvaluate.setWeight(0.0);
+ goodsEvaluate.setStartTime(new Date());
+ goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date()));
+ goodsEvaluate.setPublishTime(new Date());
+ goodsEvaluate.setCreateTime(new Date());
+ goodsEvaluate.setUpdateTime(new Date());
+
+ List<String> goodsimgs = goodsBrief.getImgList();
+
+ List<String> imgs = new ArrayList<>();
+ if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) {
+ imgs.add(goodsBrief.getPictUrlWhite());
+ }
+ imgs.addAll(goodsimgs);
+
+ int lineNum = 0;
+ if (imgs.size() > 0) {
+ if (imgs.size() == 1) {
+ lineNum = 1;
+ } else if (imgs.size() == 3) {
+ lineNum = 3;
+ } else if (imgs.size() <= 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+ goodsEvaluate.setLineNum(lineNum);
+
+ int i = 0;
+ List<ImgInfo> imgList = new ArrayList<>();
+ for (String img : imgs) {
+ ImgInfo imgInfo = new ImgInfo();
+ imgInfo.setH(1);
+ imgInfo.setW(1);
+ imgInfo.setLarge(false);
+ imgInfo.setUrl(img);
+ imgInfo.setUrlHD(img);
+ if (i != 0) {
+ imgInfo.setType(ImgEnum.img);
+ } else {
+ imgInfo.setType(ImgEnum.goods);
+ SimpleGoods simpleGoods = new SimpleGoods();
+ simpleGoods.setGoodsId(goodsVO.getGoodsId());
+ simpleGoods.setGoodsType(goodsVO.getGoodsType());
+ simpleGoods.setState(goodsVO.getState());
+ CouponInfoVO couponInfo = goodsVO.getCouponInfo();
+ if (couponInfo == null) {
+ simpleGoods.setPrice(goodsVO.getZkPrice());
+ } else {
+ simpleGoods.setPrice(goodsVO.getCouponPrice());
+ simpleGoods.setAmount(couponInfo.getAmount());
+ }
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsVO);
+
+ // TaoBaoLink taoBaoLink =
+ // shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID,
+ // goodsVO.getGoodsId(), null);
+
+ String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
+
+ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+ String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
+
+ commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice())+"");
+ if (!goodsVO.isHasCoupon()) {
+ commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+ commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+ } else {
+ commentText = commentText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getCouponPrice())+"");
+ }
+ commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n")
+ .replace("\r\n\r\n", "\r\n");
+
+ CommentInfo commentInfo = new CommentInfo();
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ commentInfo.setContent(commentText);
+ commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+
+ String text2 = "";
+ String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey());
+ if (!StringUtil.isNullOrEmpty(evaluateEmojis)) {
+ text2 = evaluateEmojis + "\n";
+ }
+
+ String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey());
+ if (!StringUtil.isNullOrEmpty(evaluateText)) {
+ text2 += evaluateText;
+ }
+
+ String dtitle = daTaoKe.getDtitle();
+ if (!StringUtil.isNullOrEmpty(dtitle)) {
+ text2 = text2 + dtitle +"\n";
+ } else if (!StringUtil.isNullOrEmpty(evaluateText)) {
+ text2 += "\n";
+ }
+ text2 += "鍏堥銆�"+ couponAmount +"鍏冧紭鎯犲埜銆戜笅鍗�";
+
+ CommentInfo commentInfo2 = new CommentInfo();
+ commentInfo2.setId(UUID.randomUUID().toString().replace("-", ""));
+ commentInfo2.setContent(text2);
+ commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ commentInfo2.setType("");
+
+
+ List<CommentInfo> commentsNew = new ArrayList<>();
+ commentsNew.add(commentInfo);
+ commentsNew.add(commentInfo2);
+ goodsEvaluate.setComments(commentsNew);
+
+ goodsEvaluate.setGoods(goodsVO);
+ }
+ imgList.add(imgInfo);
+ i++;
+ }
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluateDao.save(goodsEvaluate);
+ } catch (Exception e) {
+ e.printStackTrace();
+ LogHelper.errorDetailInfo(e);
+ return false;
+ }
+ return true;
+ }
+
+ private String getDesc(String desc) {
+ System.out.println(desc);
+ String newDesc = "";
+ int emoji = 0;
+ String content = desc.replace("锛�", ",");
+ while (content.length() > 0) {
+ int length = 0;
+ boolean end = true;
+ for (int i = 0; i < content.length(); i++) {
+ if (content.substring(0, i).length() >= 18) {
+ length = i;
+ end = false;
+ break;
+ }
+ }
+
+ if (end) {
+ length = content.length();
+ }
+
+ String introduce = content.substring(0, length);
+ System.out.println(introduce);
+ if (verify(introduce)) {
+ if (emoji >= 4) {
+ introduce = introduce.replace(",", "\n"); // 闇�瑕佹崲琛�
+ } else {
+ emoji++;
+ introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji() + "\n"); // 闇�瑕佹崲琛�
+ }
+ }
+
+ // 闅忔満鏇挎崲emoji
+ if (emoji <= 4 && Math.random() > 0.5) {
+ introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji());
+ emoji++;
+ }
+ newDesc += introduce;
+ content = content.substring(length);
+ }
+ return newDesc;
+ }
+
+ private boolean verify(String content) {
+ // 18涓瓧绗﹀唴锛堝寘鍚爣鐐逛篃绠椾竴涓瓧绗︼級鏈夊涓�楀彿锛屽垯涓嶆崲琛�
+ char d = ',';
+ int count = 0;
+ char chs[] = content.toCharArray();// 杞崲鎴恈har鏁扮粍
+ for (int i = 0; i < chs.length; i++) {
+ if (d == chs[i]) {
+ count++;
+ }
+ }
+ if (count > 1) {
+ return false;
+ }
+
+ // 涔﹀悕鍙凤紝澶ф嫭鍙凤紝灏忔嫭鍙烽噷闈㈢殑鍐呭涓嶆崲琛�
+ if (content.contains("[") && content.contains("]")) {
+ return false;
+ } else if (content.contains("銆�") && content.contains("銆�")) {
+ return false;
+ } else if (content.contains("{") && content.contains("}")) {
+ return false;
+ } else if (content.contains("(") && content.contains(")")) {
+ return false;
+ }
+
+ int index = content.lastIndexOf(",");
+ // (闄ゅ紑閫楀彿浠ュ鐨勭鍙凤級鎰熷徆鍙�/鍙ュ彿/闂彿鍓嶉潰鏈夐�楀彿锛屼笉鎹㈣
+ if (content.contains("!") && index < content.lastIndexOf("!")) {
+ return false;
+ }
+
+ if (content.contains("锛�") && index < content.lastIndexOf("锛�")) {
+ return false;
+ }
+
+ if (content.contains("銆�") && index < content.lastIndexOf("銆�")) {
+ return false;
+ }
+
+ if (content.contains("?") && index < content.lastIndexOf("?")) {
+ return false;
+ }
+
+ if (content.contains("锛�") && index < content.lastIndexOf("锛�")) {
+ return false;
+ }
+
+ if (content.contains("锛�")) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public void updateTaoBaoGoods(TaoBaoGoodsBrief goods) {
+ try {
+ if (goods == null) {
+ return;
+ }
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goods.getAuctionId());
+ if (queryExist == null || queryExist.size() == 0) {
+ return;
+ }
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ public void updateJDGoods(JDGoods jdGoods) {
+ if (jdGoods == null) {
+ return;
+ }
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId());
+ if (queryExist == null || queryExist.size() == 0) {
+ return;
+ }
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+ }
+
+ @Override
+ public void updatePDDGoods(PDDGoodsDetail pddGoods) {
+ if (pddGoods == null) {
+ return;
+ }
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId());
+ if (queryExist == null || queryExist.size() == 0) {
+ return;
+ }
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+ }
+
+ private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) {
+ long goodsId = goodsNew.getGoodsId();
+ int goodsType = goodsNew.getGoodsType();
+ for (GoodsEvaluate goodsEvaluate: listExist) {
+ GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
+ if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null
+ && goodsDetailVO.getGoodsId() == goodsId && goodsDetailVO.getGoodsType() == goodsType ) {
+ goodsEvaluate.setGoods(goodsNew);
+ }
+
+ // 鏇存柊鍟嗗搧淇℃伅
+ List<ImgInfo> imgList = goodsEvaluate.getImgList();
+ if (imgList == null || imgList.size() == 0) {
+ continue;
+ }
+
+ for (ImgInfo imgInfo : imgList) {
+ SimpleGoods simpleGoods = imgInfo.getGoods();
+ if (simpleGoods == null) {
+ continue;
+ }
+
+ simpleGoods.setState(0);
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
+ if (couponInfo == null) {
+ simpleGoods.setPrice(goodsDetailVO.getZkPrice());
+ } else {
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ simpleGoods.setAmount(couponInfo.getAmount());
+ }
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsDetailVO);
+ }
+
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ }
+
+
}
--
Gitblit v1.8.0