From 1d9eef9a4ba7caebf73b483e0062f9259dbf22a0 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期五, 28 二月 2020 15:42:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 402 ++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 342 insertions(+), 60 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 18ed939..cc9edc0 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
@@ -18,26 +18,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 +55,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 +86,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 +128,7 @@
if (dynamicType == null) {
record.setDynamicType(1);
}
-
+
if (record.getShareNum() == null)
record.setShareNum(0);
@@ -186,17 +207,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 +234,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 +287,7 @@
if (file != null) {
picLink = uploadPicture(file);
}
-
+
}
if (picLink.startsWith("http")) {
listpic.add(picLink);
@@ -279,11 +301,33 @@
picNum = 1;
}
- GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType);;
+ 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();
@@ -311,10 +355,12 @@
simpleGoods.setState(0);
}
imgInfo0.setGoods(simpleGoods);
+ imgInfo0.setGoodsVO(goodsDetailVO);
} else {
imgInfo0.setType(ImgEnum.img);
}
listImg.add(imgInfo0);
+ totalImg++;
}
}
@@ -322,21 +368,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.getType() == 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(0L, 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 + "","0");
+ 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 + "", "0");
+ 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.setType(CommentInfoEnum.goodsCoupon);
+ commentsNew.add(commentInfo);
+ resultObj.setComments(commentsNew);
+ }
goodsEvaluateDao.save(resultObj);
// 鍒犻櫎鍥剧墖
@@ -413,7 +526,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 +566,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 +608,9 @@
simpleGoods.setState(0);
}
imgInfo0.setGoods(simpleGoods);
+ imgInfo0.setGoodsVO(goodsDetailVO);
+ listImg.add(imgInfo0);
+ totalImg++;
}
}
}
@@ -536,6 +653,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);
@@ -564,15 +694,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();
@@ -585,15 +715,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)) {
@@ -608,20 +738,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());
@@ -629,7 +759,7 @@
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
}
commentInfo.setType(CommentInfoEnum.currencyCoupon);
-
+
// 鏍囩淇℃伅
List<ClientTextStyleVO> tagList = new ArrayList<>();
String couponSource = commentInfo.getCouponSource();
@@ -647,10 +777,10 @@
tagList.add(styleVO);
}
commentInfo.setTagList(tagList);
-
+
comments.add(commentInfo);
}
-
+
resultObj.setComments(comments);
goodsEvaluateDao.save(resultObj);
@@ -686,12 +816,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 +835,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 +877,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 +884,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 +911,10 @@
// 鍘熷皝瑙嗛闈㈠浘
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();
@@ -786,10 +929,13 @@
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");
@@ -801,7 +947,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();
@@ -823,6 +969,8 @@
imgVideo.setW(width);
imgVideo.setH(height);
}
+
+ activityFile = fileRequest.getFile("activityFile");
}
List<ImgInfo> listImg = new ArrayList<ImgInfo>();
@@ -831,6 +979,7 @@
if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
}
+
imgVideo.setVideoUrl(videoUrl);
listImg.add(imgVideo);
} else {
@@ -841,42 +990,59 @@
}
}
+ 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) {
- InputStream inputStream = file.getInputStream();
- BufferedImage sourceImg = ImageIO.read(inputStream);
- int width = sourceImg.getWidth();
- int height = sourceImg.getHeight();
picLink = uploadPicture(file);
-
+
ImgInfo imgInfo0 = new ImgInfo();
imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
- imgInfo0.setLarge(false);
+ imgInfo0.setLarge(true);
imgInfo0.setPid(pid);
- imgInfo0.setUrl(listpic.get(i));
- imgInfo0.setUrlHD(listpic.get(i));
+ imgInfo0.setUrl(picLink);
+ imgInfo0.setUrlHD(picLink);
imgInfo0.setType(ImgEnum.img);
- imgVideo.setW(width);
- imgVideo.setH(height);
+ imgVideo.setW(1);
+ imgVideo.setH(1);
listImg.add(imgInfo0);
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;
}
@@ -891,17 +1057,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);
@@ -914,7 +1080,7 @@
}
}
}
-
+
@Override
public void deleteBatchByPrimaryKey(List<String> list) {
if (list == null || list.size() == 0) {
@@ -986,7 +1152,7 @@
goodsEvaluate.setComments(comments);
goodsEvaluateDao.save(goodsEvaluate);
}
-
+
@Override
public void release(String id) throws GoodsEvaluateException {
GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(id);
@@ -996,7 +1162,6 @@
goodsEvaluate.setState(1);
goodsEvaluateDao.save(goodsEvaluate);
}
-
@Override
public void deleteComment(String pid, List<String> list) throws GoodsEvaluateException {
@@ -1076,7 +1241,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) {
@@ -1131,6 +1296,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();
@@ -1138,6 +1305,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);
@@ -1161,5 +1354,94 @@
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.setType(CommentInfoEnum.goodsCoupon);
+
+ 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