From 3dade955e1743b382473e01b8ddbc50809b7ca0e Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@MS-20170306HGUF>
Date: 星期日, 01 三月 2020 16:38:37 +0800
Subject: [PATCH] 文本类型
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 494 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 422 insertions(+), 72 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 572b6e3..03f752c 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
@@ -3,6 +3,7 @@
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -18,26 +19,35 @@
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.tencentcloud.COSManager;
import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao;
import com.yeshi.fanli.dto.ConfigParamsDTO;
+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.dynamic.CommentInfo;
import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum;
+import com.yeshi.fanli.entity.dynamic.DynamicInfo;
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;
import com.yeshi.fanli.entity.jd.JDGoods;
+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.exception.dynamic.ActivityUserException;
import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.activity.ActivityUserService;
+import com.yeshi.fanli.service.inter.config.ConfigService;
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.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
@@ -46,6 +56,10 @@
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
+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.taobao.TaoBaoUtil;
import com.yeshi.fanli.vo.goods.CouponInfoVO;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
@@ -73,6 +87,14 @@
@Resource
private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
+
+ @Resource
+ private ConfigService configService;
+
+ @Resource
+ private ShareGoodsService shareGoodsService;
+
+
@Override
public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
@@ -107,7 +129,7 @@
if (dynamicType == null) {
record.setDynamicType(1);
}
-
+
if (record.getShareNum() == null)
record.setShareNum(0);
@@ -186,17 +208,18 @@
List<String> listOld = new ArrayList<String>();
// 澶勭悊鍥剧墖
+ GoodsDetailVO oldGoodsVO = null;
List<ImgInfo> resultList = resultObj.getImgList();
if (resultList != null && resultList.size() > 0) {
for (ImgInfo info : resultList) {
ImgEnum type = info.getType();
if (type == ImgEnum.video) {
imgVideo = info;
- } else if (type == ImgEnum.goods || type == ImgEnum.img) {
- String url = info.getUrl();
- if (!StringUtil.isNullOrEmpty(url)) {
- listOld.add(url);
- }
+ } else if (type == ImgEnum.goods ) {
+ listOld.add(info.getUrl());
+ oldGoodsVO = info.getGoodsVO();
+ } else if (type == ImgEnum.img){
+ listOld.add(info.getUrl());
}
}
}
@@ -212,7 +235,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 +288,7 @@
if (file != null) {
picLink = uploadPicture(file);
}
-
+
}
if (picLink.startsWith("http")) {
listpic.add(picLink);
@@ -279,6 +302,33 @@
picNum = 1;
}
+ 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);
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ try {
+ TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+ goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
+ } catch (TaobaoGoodsDownException e) {
+ throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
+ }
+ } else if (goodsType == Constant.SOURCE_TYPE_JD) {
+ jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
+ goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(jdGoods, params);
+ } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+ pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
+ goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params);
+ }
+
+ if (goodsDetailVO == null) {
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
+ }
+
+ int totalImg = 0;
if (listpic != null && listpic.size() > 0) {
for (int i = 0; i < listpic.size(); i++) {
ImgInfo imgInfo0 = new ImgInfo();
@@ -292,12 +342,6 @@
if (picNum - 1 == i) {
imgInfo0.setType(ImgEnum.goods);
- // 鍟嗗搧淇℃伅
- GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType);
- if (goodsDetailVO == null) {
- throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
- }
-
SimpleGoods simpleGoods = new SimpleGoods();
simpleGoods.setGoodsId(goodsId);
simpleGoods.setGoodsType(goodsType);
@@ -312,10 +356,12 @@
simpleGoods.setState(0);
}
imgInfo0.setGoods(simpleGoods);
+ imgInfo0.setGoodsVO(goodsDetailVO);
} else {
imgInfo0.setType(ImgEnum.img);
}
listImg.add(imgInfo0);
+ totalImg++;
}
}
@@ -323,20 +369,88 @@
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) {
+ lineNum = 1;
+ } else if (totalImg <= 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+
+ resultObj.setLineNum(lineNum);
+ 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 (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
+ if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue()
+ && oldGoodsVO.getGoodsType() == goodsType) {
+ addComment = true;
+ } else {
+ addComment = false;
+ }
+ continue;
+ }
+ commentsNew.add(commentInfo);
+ }
+ }
+
+ if (addComment) {
+ String commentText = "";
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, null);
+ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+ commentText = template.replace("[鍙d护]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
+ } else if (goodsType == Constant.SOURCE_TYPE_JD) {
+ String couponUrl = null;
+ JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
+ if (couponInfo != null) {
+ couponUrl = couponInfo.getLink();
+ }
+ String materialId = "https://item.jd.com/" + goodsId + ".html";
+ String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "","1");
+ String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
+ 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());
+ }
+
+ CommentInfo commentInfo = new CommentInfo();
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ commentInfo.setContent(commentText);
+ commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ commentsNew.add(commentInfo);
+ resultObj.setComments(commentsNew);
+ }
goodsEvaluateDao.save(resultObj);
// 鍒犻櫎鍥剧墖
@@ -413,7 +527,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();
@@ -453,10 +567,11 @@
}
}
+ int totalImg = 0;
if (!StringUtil.isNullOrEmpty(goodsList)) {
String[] goodsArray = goodsList.split(",");
if (goodsArray != null && goodsArray.length > 0) {
- for (int i = 0; i < goodsArray.length || i < 9; i++) {
+ for (int i = 0; i < goodsArray.length && i < 9; i++) {
String goodsids = goodsArray[i];
String[] g = goodsids.split("-");
GoodsDetailVO goodsDetailVO = getGoodsDetailVO(Long.parseLong(g[0]), Integer.parseInt(g[1]));
@@ -494,6 +609,9 @@
simpleGoods.setState(0);
}
imgInfo0.setGoods(simpleGoods);
+ imgInfo0.setGoodsVO(goodsDetailVO);
+ listImg.add(imgInfo0);
+ totalImg++;
}
}
}
@@ -536,6 +654,19 @@
}
}
+ int lineNum = 0;
+ if (totalImg > 0) {
+ if (totalImg == 1) {
+ lineNum = 1;
+ } else if (totalImg <= 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+
+ resultObj.setLineNum(lineNum);
+
// 淇濆瓨鍥剧墖淇℃伅
resultObj.setImgList(listImg);
goodsEvaluateDao.save(resultObj);
@@ -551,7 +682,7 @@
}
@Override
- public void saveGoodsCoupon(String pid, String tags, String content) throws GoodsEvaluateException, Exception {
+ public void saveGoodsCoupon(String pid, String content) throws GoodsEvaluateException, Exception {
if (StringUtil.isNullOrEmpty(pid)) {
throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
}
@@ -564,15 +695,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.getTypeEnum()) {
goodsCoupon = info;
- } else if (CommentInfoEnum.currencyCoupon == info.getType()) {
+ } else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
currencyCoupon = info;
}
}
}
-
+
List<CommentInfo> comments = new ArrayList<>();
if (!StringUtil.isNullOrEmpty(content)) {
CommentInfo commentInfo = new CommentInfo();
@@ -582,18 +713,19 @@
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
}
commentInfo.setContent(content);
- commentInfo.setType(CommentInfoEnum.goodsCoupon);
+ commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+ commentInfo.setTypeEnum(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)) {
@@ -608,27 +740,35 @@
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.getTypeEnum()) {
goodsCoupon = info;
- } else if (CommentInfoEnum.currencyCoupon == info.getType()) {
+ } else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
currencyCoupon = info;
}
}
}
-
+
List<CommentInfo> comments = new ArrayList<>();
if (goodsCoupon != null) {
comments.add(goodsCoupon);
}
-
+
if (commentInfo != null) {
if (currencyCoupon != null) {
commentInfo.setId(currencyCoupon.getId());
} else {
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
}
- commentInfo.setType(CommentInfoEnum.currencyCoupon);
+ // 鍒哥被鍨�
+
+ String tags = commentInfo.getTags();
+ if (StringUtil.isNullOrEmpty(tags)) {
+ commentInfo.setType(CommentInfoEnum.currencyCoupon.getDesc());
+ } else {
+ commentInfo.setType(tags);
+ }
+ commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon);
// 鏍囩淇℃伅
List<ClientTextStyleVO> tagList = new ArrayList<>();
@@ -647,10 +787,10 @@
tagList.add(styleVO);
}
commentInfo.setTagList(tagList);
-
+
comments.add(commentInfo);
}
-
+
resultObj.setComments(comments);
goodsEvaluateDao.save(resultObj);
@@ -686,12 +826,14 @@
int width = 0;
int height = 0;
+ int width2 = 0;
+ int height2 = 0;
List<ImgInfo> listImg = new ArrayList<ImgInfo>();
if (fileRequest != null) {
MultipartFile filevideo = fileRequest.getFile("filevideo");
if (filevideo != null) {
removePicture(videoPic);
-
+
InputStream inputStream = filevideo.getInputStream();
BufferedImage sourceImg = ImageIO.read(inputStream);
width = sourceImg.getWidth();
@@ -703,6 +845,10 @@
MultipartFile activityfile = fileRequest.getFile("activityfile");
if (activityfile != null) {
removePicture(activityPic);
+ InputStream inputStream = activityfile.getInputStream();
+ BufferedImage sourceImg = ImageIO.read(inputStream);
+ width2 = sourceImg.getWidth();
+ height2 = sourceImg.getHeight();
String picLink = uploadPicture(activityfile);
activityPic = picLink;
}
@@ -741,8 +887,6 @@
} else {
imgactivity = new ImgInfo();
imgactivity.setId(UUID.randomUUID().toString().replace("-", ""));
- imgactivity.setW(1);
- imgactivity.setH(1);
imgactivity.setLarge(true);
imgactivity.setPid(pid);
imgactivity.setUrl(activityPic);
@@ -750,15 +894,23 @@
imgactivity.setActivityUrl(imgInfo.getActivityUrl());
imgactivity.setType(ImgEnum.activity);
}
+ if (width2 > 0) {
+ imgactivity.setW(width2);
+ imgactivity.setH(height2);
+ } else {
+ imgactivity.setW(imgactivity.getW());
+ imgactivity.setH(imgactivity.getH());
+ }
listImg.add(imgactivity);
}
+ resultObj.setLineNum(1);
resultObj.setImgList(listImg);
goodsEvaluateDao.save(resultObj);
}
@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, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
}
@@ -769,9 +921,11 @@
// 鍘熷皝瑙嗛闈㈠浘
ImgInfo imgVideo = null;
+ 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();
if (resultList != null && resultList.size() > 0) {
@@ -780,14 +934,18 @@
if (type == ImgEnum.video) {
imgVideo = info;
} else if (type == ImgEnum.img) {
+ listOldImgInfo.add(info);
String url = info.getUrl();
if (!StringUtil.isNullOrEmpty(url)) {
listOld.add(url);
}
+ } else if (type == ImgEnum.activity) {
+ imgActivity = info;
}
}
}
+ MultipartFile activityFile = null;
// 瑙嗛閮ㄥ垎
if (fileRequest != null) {
MultipartFile filevideo = fileRequest.getFile("filevideo");
@@ -799,7 +957,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();
@@ -821,6 +979,8 @@
imgVideo.setW(width);
imgVideo.setH(height);
}
+
+ activityFile = fileRequest.getFile("activityFile");
}
List<ImgInfo> listImg = new ArrayList<ImgInfo>();
@@ -829,6 +989,7 @@
if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
}
+
imgVideo.setVideoUrl(videoUrl);
listImg.add(imgVideo);
} else {
@@ -839,40 +1000,66 @@
}
}
+ 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);
+ activity.setPid(pid);
+ activity.setUrl(picLink);
+ activity.setUrlHD(picLink);
+ activity.setActivityPic(picLink);
+ activity.setW(width);
+ activity.setH(height);
+ activity.setType(ImgEnum.activity);
+ listImg.add(activity);
+ } else if (imgActivity != null) {
+ listImg.add(imgActivity);
+ }
+
// 缂栬緫鍥剧墖
- List<String> listpic = null;
if (!StringUtil.isNullOrEmpty(picUrls)) {
String[] pics = picUrls.split(",");
if (pics != null) {
- listpic = new ArrayList<>();
for (int i = 0; i < pics.length; i++) {
String picLink = pics[i];
if (fileRequest != null) {
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);
+ imgInfo0.setPid(pid);
+ imgInfo0.setUrl(picLink);
+ imgInfo0.setUrlHD(picLink);
+ imgInfo0.setType(ImgEnum.img);
+ imgVideo.setW(1);
+ imgVideo.setH(1);
+ listImg.add(imgInfo0);
+ continue;
}
}
-
+
if (picLink.startsWith("http")) {
- listpic.add(picLink);
+ if (listOldImgInfo != null) {
+ for (ImgInfo imgInfo : listOldImgInfo) {
+ String url = imgInfo.getUrl();
+ if (picLink.equals(url)) {
+ listImg.add(imgInfo);
+ break;
+ }
+ }
+ }
}
}
- }
- }
-
- if (listpic != null && listpic.size() > 0) {
- for (int i = 0; i < listpic.size(); i++) {
- ImgInfo imgInfo0 = new ImgInfo();
- imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
- imgInfo0.setW(1);
- imgInfo0.setH(1);
- imgInfo0.setLarge(false);
- imgInfo0.setPid(pid);
- imgInfo0.setUrl(listpic.get(i));
- imgInfo0.setUrlHD(listpic.get(i));
- imgInfo0.setType(ImgEnum.img);
- listImg.add(imgInfo0);
}
}
@@ -880,17 +1067,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));
}
}
-
+ resultObj.setLineNum(1);
resultObj.setImgList(listImg);
goodsEvaluateDao.save(resultObj);
@@ -903,7 +1090,7 @@
}
}
}
-
+
@Override
public void deleteBatchByPrimaryKey(List<String> list) {
if (list == null || list.size() == 0) {
@@ -975,7 +1162,7 @@
goodsEvaluate.setComments(comments);
goodsEvaluateDao.save(goodsEvaluate);
}
-
+
@Override
public void release(String id) throws GoodsEvaluateException {
GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(id);
@@ -985,7 +1172,6 @@
goodsEvaluate.setState(1);
goodsEvaluateDao.save(goodsEvaluate);
}
-
@Override
public void deleteComment(String pid, List<String> list) throws GoodsEvaluateException {
@@ -1065,18 +1251,64 @@
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) {
+ public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) throws Exception {
List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type);
+
+ List<GoodsEvaluate> listOBJ = list;
// 鏇存柊鍟嗗搧淇℃伅
executor.execute(new Runnable() {
@Override
public void run() {
- updateGoodInfo(list);
+ updateGoodInfo(listOBJ);
}
});
+
+ if (list == null) {
+ list = new ArrayList<>();
+ }
+
+ for (GoodsEvaluate goodsEvaluate: list) {
+ List<CommentInfo> comments = goodsEvaluate.getComments();
+ if (comments != null) {
+ Date now = new Date();
+ for (CommentInfo commentInfo: comments) {
+ String typeCoupon = commentInfo.getType();
+ if (StringUtil.isNullOrEmpty(typeCoupon)) {
+ commentInfo.setType(commentInfo.getTypeEnum().getDesc());
+ }
+
+ String coupon = commentInfo.getCoupon();
+ String endTime = commentInfo.getEndTime();
+ if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Date endDay = sdf.parse(endTime);
+ if (endDay.getTime() <= now.getTime()) {
+ continue;
+ }
+
+ int daysBetween = DateUtil.daysBetween(endDay, now);
+ if (daysBetween <= 0) {
+ continue;
+ }
+
+ ClientTextStyleVO styleVO = new ClientTextStyleVO();
+ styleVO.setColor("#E5005C");
+ styleVO.setContent(daysBetween + "澶╁悗杩囨湡");
+ styleVO.setContent(coupon);
+
+ List<ClientTextStyleVO> tagList = commentInfo.getTagList();
+ tagList.add(styleVO);
+
+ commentInfo.setTagList(tagList);
+ }
+ }
+ }
+ }
+
return list;
}
@@ -1120,6 +1352,8 @@
GoodsDetailVO goods = goodsEvaluate.getGoods();
if (goods != null) {
GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), paramsDTO);
+ if (goodsNew != null)
+ goodsEvaluate.setGoods(goodsNew);
}
// 鏇存柊鍟嗗搧淇℃伅
List<ImgInfo> imgList = goodsEvaluate.getImgList();
@@ -1127,6 +1361,32 @@
continue;
}
+ for (ImgInfo imgInfo : imgList) {
+ SimpleGoods simpleGoods = imgInfo.getGoods();
+ if (simpleGoods == null) {
+ continue;
+ }
+
+ GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(),
+ paramsDTO);
+ if (goodsDetailVO != null) {
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
+ if (couponInfo == null) {
+ simpleGoods.setPrice(goodsDetailVO.getZkPrice());
+ simpleGoods.setState(1);
+ } else {
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ simpleGoods.setAmount(couponInfo.getAmount());
+ simpleGoods.setState(0);
+ }
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsDetailVO);
+ }
+ }
+
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
}
} catch (Exception e) {
LogHelper.errorDetailInfo(e);
@@ -1150,5 +1410,95 @@
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);
+
+
+ TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(0L, goodsVO.getGoodsId(), null);
+ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+ String commentText = template.replace("[鍙d护]", 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());
+ }
+
+ 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);
+ }
+ imgList.add(imgInfo);
+ }
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluateDao.save(goodsEvaluate);
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+}
--
Gitblit v1.8.0