From 1e1ae4f19489644c9ff35125d075a30f89536d16 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 21 五月 2020 17:35:36 +0800
Subject: [PATCH] 后台编辑
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 1310 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 995 insertions(+), 315 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 3b7c417..9eb5d29 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
@@ -17,6 +17,7 @@
import javax.imageio.ImageIO;
import org.apache.commons.beanutils.PropertyUtils;
+import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Service;
@@ -31,12 +32,11 @@
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;
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;
@@ -44,6 +44,7 @@
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;
@@ -53,19 +54,24 @@
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.OrderHongBaoMoneyComputeService;
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.TimeUtil;
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.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.vo.goods.CouponInfoVO;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
@@ -85,6 +91,9 @@
@Resource
private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
@Resource(name = "taskExecutor")
private TaskExecutor executor;
@@ -104,12 +113,38 @@
@Resource
private ConvertLinkManager convertLinkManager;
+ @Resource
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+
+ @Override
+ public void switchState(String id) throws GoodsEvaluateException {
+ if (id == null) {
+ throw new GoodsEvaluateException(1, "璇蜂紶閫掓纭弬鏁�");
+ }
+
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
+ if (resultObj == null) {
+ throw new GoodsEvaluateException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�");
+ }
+
+ Integer state = resultObj.getState();
+ if (state == null || state == 0) {
+ state = 1;
+ } else {
+ state = 0;
+ }
+ goodsEvaluateDao.updateSatate(id, state);
+ }
+
+
@Override
public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
Integer state = record.getState();
if (state == null) {
state = 0;
}
+ record.setState(state);
String tilte = record.getTitle();
if (StringUtil.isNullOrEmpty(tilte)) {
@@ -129,7 +164,11 @@
if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
} else {
- record.setEndTime(DateUtil.plusDayDate(3, new Date()));
+ if (record.getStartTime() == null) {
+ record.setEndTime(DateUtil.plusDayDate(3, new Date()));
+ } else {
+ record.setEndTime(DateUtil.plusDayDate(3, record.getStartTime()));
+ }
}
Integer dynamicType = record.getDynamicType();
@@ -155,18 +194,21 @@
record.setId(id);
record.setShareNumReal(0);
record.setCreateTime(new Date());
+ record.setUpdateTime(new Date());
goodsEvaluateDao.save(record);
} else {
GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
if (resultObj == null)
throw new GoodsEvaluateException(1, "淇敼鍐呭宸蹭笉瀛樺湪");
+ resultObj.setState(record.getState());
resultObj.setUser(record.getUser());
resultObj.setShareNum(record.getShareNum());
resultObj.setWeight(record.getWeight());
resultObj.setStartTime(record.getStartTime());
resultObj.setEndTime(record.getEndTime());
resultObj.setTitle(tilte);
+ resultObj.setUpdateTime(new Date());
goodsEvaluateDao.save(resultObj);
}
return id;
@@ -212,6 +254,31 @@
}
return null;
}
+
+ private ImgInfo uploadOriginalPicture(MultipartFile file) {
+ try {
+ InputStream inputStream = file.getInputStream();
+ String contentType = file.getContentType();
+ String type = contentType.substring(contentType.indexOf("/") + 1);
+ String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."+ type;
+
+ BufferedImage sourceImg = ImageIO.read(inputStream);
+ ImgInfo info = new ImgInfo();
+ int width = sourceImg.getWidth();
+ int height = sourceImg.getHeight();
+
+ String picLink = COSManager.getInstance().uploadFile(file.getInputStream(), filePath).getUrl();
+
+ 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);
@@ -315,21 +382,28 @@
}
// 缂栬緫鍥剧墖
- List<String> listpic = null;
+ List<String> listpic = new ArrayList<>();
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);
- }
-
- }
if (picLink.startsWith("http")) {
+ listpic.add(picLink);
+ }
+ }
+ }
+ }
+
+ // 涓婁紶鏂囦欢鏇挎崲
+ if (fileRequest != null) {
+ for (int i = 0; i < 9; i++) {
+ MultipartFile file = fileRequest.getFile("file" + i);
+ if (file != null) {
+ String picLink = uploadPicture(file);
+ if (i < listpic.size()) {
+ listpic.set(i, picLink);
+ } else {
listpic.add(picLink);
}
}
@@ -344,10 +418,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 = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
try {
TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
@@ -427,7 +499,9 @@
if (totalImg > 0) {
if (totalImg == 1) {
lineNum = 1;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -477,31 +551,42 @@
String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl,
JDApiUtil.POSITION_SHARE + "", "1");
String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
+ if (jumpLink == null) {
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
+ }
commentText = template.replace("[閾炬帴]", jumpLink);
} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", "1");
+ if (jumpLink == null) {
+ throw new GoodsEvaluateException(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);
commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ commentInfo.setNeedSpin(true);
commentsNew.add(commentInfo);
resultObj.setComments(commentsNew);
}
+ resultObj.setUpdateTime(new Date());
goodsEvaluateDao.save(resultObj);
// 鍒犻櫎鍥剧墖
@@ -512,7 +597,7 @@
}
}
}
-
+
return commentText;
}
@@ -555,10 +640,8 @@
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 = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
try {
TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
@@ -672,7 +755,6 @@
}
String picUrl = goodsDetailVO.getPicUrl();
-
if (fileRequest != null) {
MultipartFile file = fileRequest.getFile("file" + i);
if (file != null) {
@@ -752,7 +834,9 @@
if (totalImg > 0) {
if (totalImg == 1) {
lineNum = 1;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -824,7 +908,8 @@
if (StringUtil.isNullOrEmpty(commentInfo.getId())) {
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
}
-
+
+ commentInfo.setNeedSpin(true);
commentInfo.setType(commentInfo.getTags());
commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
newList.add(commentInfo);
@@ -834,63 +919,11 @@
}
resultObj.setComments(comments);
+ resultObj.setUpdateTime(new Date());
goodsEvaluateDao.save(resultObj);
}
- @Override
- public void saveGoodsCoupon(String pid, String content) throws GoodsEvaluateException, Exception {
- if (StringUtil.isNullOrEmpty(pid)) {
- throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
- }
-
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
-
- CommentInfo goodsCoupon = null;
- CommentInfo currencyCoupon = null;
- List<CommentInfo> oldComments = resultObj.getComments();
- if (oldComments != null) {
- for (CommentInfo info : oldComments) {
- if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) {
- goodsCoupon = info;
- } else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
- currencyCoupon = info;
- }
- }
- }
-
- 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());
- } else {
- commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
- }
- commentInfo.setContent(content);
- commentInfo.setType(commentInfo.getTags());
- commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
- comments.add(commentInfo);
- }
-
- if (currencyCoupon != null) {
- comments.add(currencyCoupon);
- }
-
- resultObj.setComments(comments);
- goodsEvaluateDao.save(resultObj);
- }
-
+
@Override
public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo)
throws GoodsEvaluateException, Exception {
@@ -898,33 +931,44 @@
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)) {
- throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
- }
-
- String endTime = commentInfo.getEndTime();
- if (!StringUtil.isNullOrEmpty(endTime)) {
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- sdf.parse(endTime);
- } catch (Exception e) {
- throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05");
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+ if (EvaluateEnum.activity != resultObj.getType()) {
+ if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+ throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
}
- } else {
- 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)) {
+ throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
+ }
+
+ String endTime = commentInfo.getEndTime();
+ if (!StringUtil.isNullOrEmpty(endTime)) {
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ sdf.parse(endTime);
+ } catch (Exception e) {
+ throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05");
+ }
+ } else {
+ throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿");
+ }
}
- if (!StringUtil.isNullOrEmpty(content) && kind != 3) { // 娲诲姩涓嶉獙璇�
+ if (commentInfo.getNeedSpin() == null) {
+ commentInfo.setNeedSpin(false);
+ }
+
+ String content = commentInfo.getContent();
+ if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) {
try {
convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
} catch (ConvertLinkExceptionException e) {
@@ -936,9 +980,6 @@
}
}
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
List<CommentInfo> comments = new ArrayList<>();
CommentInfo currencyCoupon = null;
@@ -990,7 +1031,7 @@
}
@Override
- public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest)
+ public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest)
throws GoodsEvaluateException, Exception {
if (StringUtil.isNullOrEmpty(pid)) {
throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -999,120 +1040,175 @@
GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
if (resultObj == null)
throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+ if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
+ throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖");
+ }
- String videoPic = null;
- String activityPic = null;
ImgInfo imgVideo = null;
- ImgInfo imgactivity = null;
+ List<String> listDel = new ArrayList<String>();
+ List<ImgInfo> listOld = new ArrayList<ImgInfo>();
List<ImgInfo> resultList = resultObj.getImgList();
if (resultList != null && resultList.size() > 0) {
for (ImgInfo info : resultList) {
- if (info.getType() == ImgEnum.activity) {
- activityPic = info.getActivityPic();
- imgactivity = info;
- } else {
+ if (info.getType() == ImgEnum.video) {
imgVideo = info;
- videoPic = info.getUrl();
+ } else {
+ listOld.add(info);
+ }
+ }
+ }
+
+ // 瑙嗛閮ㄥ垎
+ if (fileRequest != null) {
+ MultipartFile filevideo = fileRequest.getFile("filevideo");
+ if (filevideo != null) {
+ if (StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
+ throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
+ }
+ 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(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
+ } else {
+ imgVideo = new ImgInfo();
+ imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
+ imgVideo.setLarge(true);
+ imgVideo.setPid(pid);
+ imgVideo.setUrl(info.getUrl());
+ imgVideo.setUrlHD(info.getUrl());
+ imgVideo.setVideoUrl(imgInfo.getVideoUrl());
+ imgVideo.setType(ImgEnum.video);
+ }
+ imgVideo.setW(info.getW());
+ imgVideo.setH(info.getH());
+ }
+ }
+
+
+ List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+ if (imgVideo != null) {
+ if (!StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
+ if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
+ throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
+ }
+ imgVideo.setVideoUrl(imgInfo.getVideoUrl());
+ listImg.add(imgVideo);
+ } else {
+ String url = imgVideo.getUrl();
+ if (!StringUtil.isNullOrEmpty(url)) {
+ listDel.add(url);
+ }
+ }
+ }
+
+ String activityUrl = imgInfo.getActivityUrl();
+ // 缂栬緫鍥剧墖
+ List<ImgInfo> tempList = new ArrayList<ImgInfo>();
+ if (!StringUtil.isNullOrEmpty(picUrls)) {
+ String[] pics = picUrls.split(",");
+ if (pics != null) {
+ for (int i = 0; i < pics.length; i++) {
+ String picLink = pics[i];
+ if (picLink.startsWith("http")) {
+ if (listOld != null) {
+ for (ImgInfo info: listOld) {
+ if (info.getUrl().equals(picLink)) {
+ info.setActivityUrl(activityUrl);
+ tempList.add(info);
+ break;
+ }
+ }
+ }
+ }
}
}
}
- 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);
-
- ImgInfo info = uploadVideoPicture(filevideo);
- if (info == null)
- throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
- videoPic = info.getUrl();
- width=info.getW();
- height=info.getH();
+ for (int i = 0; i < 9; i++) {
+ MultipartFile file = fileRequest.getFile("file" + i);
+ if (file != null) {
+ ImgInfo info = uploadOriginalPicture(file);
+ ImgInfo imgInfo0 = new ImgInfo();
+ imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
+ imgInfo0.setLarge(false);
+ imgInfo0.setPid(pid);
+ imgInfo0.setUrl(info.getUrl());
+ imgInfo0.setUrlHD(info.getUrl());
+ imgInfo0.setType(ImgEnum.activity);
+ imgInfo0.setW(info.getW());
+ imgInfo0.setH(info.getH());
+ imgInfo0.setActivityUrl(activityUrl);
+ if (i < tempList.size()) {
+ tempList.set(i, imgInfo0);
+ } else {
+ tempList.add(imgInfo0);
+ }
+ }
}
-
- 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;
- }
- }
-
- if (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
- if (imgVideo != null) {
- imgVideo.setUrl(videoPic);
- imgVideo.setUrlHD(videoPic);
- imgVideo.setVideoUrl(imgInfo.getVideoUrl());
- } else {
- imgVideo = new ImgInfo();
- imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
- imgVideo.setLarge(true);
- imgVideo.setPid(pid);
- imgVideo.setUrl(videoPic);
- imgVideo.setUrlHD(videoPic);
- imgVideo.setVideoUrl(imgInfo.getVideoUrl());
- imgVideo.setType(ImgEnum.video);
- }
- if (width > 0) {
- imgVideo.setW(width);
- imgVideo.setH(height);
- } else {
- imgVideo.setW(imgVideo.getW());
- imgVideo.setH(imgVideo.getH());
- }
- listImg.add(imgVideo);
- }
-
- int totalImg = 0;
- if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
- if (imgactivity != null) {
- imgactivity.setUrl(activityPic);
- imgactivity.setUrlHD(activityPic);
- imgactivity.setActivityUrl(imgInfo.getActivityUrl());
- } else {
- imgactivity = new ImgInfo();
- imgactivity.setId(UUID.randomUUID().toString().replace("-", ""));
- imgactivity.setLarge(true);
- imgactivity.setPid(pid);
- imgactivity.setUrl(activityPic);
- imgactivity.setUrlHD(activityPic);
- 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);
- totalImg ++;
}
+
int lineNum = 0;
+ int totalImg = tempList.size();
if (totalImg > 0) {
if (totalImg == 1) {
lineNum = 1;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
}
}
-
+
+ // 涓�寮犲浘鏄剧ず涓哄ぇ鍥�
+ if (tempList.size() == 1) {
+ tempList.get(0).setLarge(true);
+ }
+
+ if (tempList.size() > 0) {
+ listImg.addAll(tempList);
+ }
+
+ // 娓呯悊鑰佸浘鐗�
+ if (listOld != null && listOld.size() > 0) {
+ for (ImgInfo infoOld: listOld) {
+ boolean del = true;
+ String oldPic = infoOld.getUrl();
+ for (ImgInfo info : listImg) {
+ if (info.getUrl().equals(oldPic)) {
+ del = false;
+ }
+ }
+ if (del)
+ listDel.add(infoOld.getUrl());
+ }
+ }
+
+ resultObj.setJumpLink(activityUrl);
resultObj.setLineNum(lineNum);
resultObj.setImgList(listImg);
goodsEvaluateDao.save(resultObj);
+
+ // 鍒犻櫎鍥剧墖
+ if (listDel.size() > 0) {
+ for (String url : listDel) {
+ if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+ removePicture(url);
+ }
+ }
+ }
}
@Override
@@ -1227,49 +1323,51 @@
listImg.add(imgActivity);
}
- int totalImg = 0;
// 缂栬緫鍥剧墖
+ List<String> listpic = new ArrayList<>();
if (!StringUtil.isNullOrEmpty(picUrls)) {
String[] pics = picUrls.split(",");
if (pics != null) {
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);
- imgInfo0.setW(1);
- imgInfo0.setH(1);
- listImg.add(imgInfo0);
- totalImg ++;
- continue;
- }
- }
-
if (picLink.startsWith("http")) {
- if (listOldImgInfo != null) {
- for (ImgInfo imgInfo : listOldImgInfo) {
- String url = imgInfo.getUrl();
- if (picLink.equals(url)) {
- listImg.add(imgInfo);
- totalImg ++;
- break;
- }
- }
- }
+ listpic.add(picLink);
}
}
}
}
+ // 涓婁紶鏂囦欢鏇挎崲
+ if (fileRequest != null) {
+ for (int i = 0; i < 9; i++) {
+ MultipartFile file = fileRequest.getFile("file" + i);
+ if (file != null) {
+ String picLink = uploadPicture(file);
+ if (i < listpic.size()) {
+ listpic.set(i, picLink);
+ } else {
+ listpic.add(picLink);
+ }
+ }
+ }
+ }
+
+ int totalImg = 0;
+ for (String pic : listpic) {
+ ImgInfo imgInfo0 = new ImgInfo();
+ imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
+ imgInfo0.setLarge(false);
+ imgInfo0.setPid(pid);
+ imgInfo0.setUrl(pic);
+ imgInfo0.setUrlHD(pic);
+ imgInfo0.setType(ImgEnum.img);
+ imgInfo0.setW(1);
+ imgInfo0.setH(1);
+ listImg.add(imgInfo0);
+ totalImg++;
+ }
+
+ // 娓呯悊鑰佸浘鐗�
if (listOld != null && listOld.size() > 0) {
for (int j = 0; j < listOld.size(); j++) {
boolean del = true;
@@ -1284,12 +1382,14 @@
listDel.add(listOld.get(j));
}
}
-
+
int lineNum = 0;
if (totalImg > 0) {
if (totalImg == 1) {
lineNum = 1;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -1441,13 +1541,50 @@
}
@Override
- public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) {
- return goodsEvaluateDao.query(start, count, key, state, dynamicType);
+ public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum) {
+ return goodsEvaluateDao.query(start, count, key, state, dynamicType, typeEnum);
}
@Override
- public long count(String key, Integer state, int dynamicType) {
- return goodsEvaluateDao.count(key, state, dynamicType);
+ public long count(String key, Integer state, int dynamicType, String typeEnum) {
+ return goodsEvaluateDao.count(key, state, dynamicType, typeEnum);
+ }
+
+ @Override
+ public void addRanDomShareCount() {
+ // 鍙戝湀
+ try {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(0, Integer.MAX_VALUE, 1);
+ if (list != null) {
+ for (GoodsEvaluate goodsEvaluate : list) {
+ Integer shareNum = goodsEvaluate.getShareNum();
+ if (shareNum == null) {
+ shareNum = 0;
+ }
+ goodsEvaluate.setShareNum(shareNum + (int) (Math.random() * 100) + 10);
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ }
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+
+ // 绱犳潗
+ try {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(0, Integer.MAX_VALUE, 2);
+ if (list != null) {
+ for (GoodsEvaluate goodsEvaluate : list) {
+ Integer shareNum = goodsEvaluate.getShareNum();
+ if (shareNum == null) {
+ shareNum = 0;
+ }
+ goodsEvaluate.setShareNum(shareNum + (int) (Math.random() * 100) + 10);
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ }
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
}
@Override
@@ -1459,7 +1596,13 @@
executor.execute(new Runnable() {
@Override
public void run() {
+ // 鏇存柊淇℃伅
updateGoodInfo(list);
+
+ // 鍒犻櫎宸茶繃鏈�
+ removeOverdue();
+
+ removeDownGoods();
}
});
@@ -1483,7 +1626,6 @@
List<GoodsEvaluate> listNew = new ArrayList<>();
for (GoodsEvaluate goodsEvaluate : list) {
-
GoodsEvaluate evaluateNew = new GoodsEvaluate();
try {
PropertyUtils.copyProperties(evaluateNew, goodsEvaluate);
@@ -1492,18 +1634,22 @@
continue;
}
- int comment = 0;
+ // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐��
+ evaluateNew.setPublishTime(evaluateNew.getStartTime());
+
List<CommentInfo> comments = evaluateNew.getComments();
if (comments != null && comments.size() > 0) {
EvaluateEnum typeEnum = evaluateNew.getType();
List<CommentInfo> commentNew = new ArrayList<>();
+ boolean singleCoupn = true;
+ boolean currencyCoupon = true;
for (CommentInfo commentInfo : comments) {
- if (StringUtil.isNullOrEmpty(commentInfo.getContent()) &&
- StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+ if (StringUtil.isNullOrEmpty(commentInfo.getContent())
+ && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
continue;
}
-
+
CommentInfo commentInfoNew = new CommentInfo();
try {
PropertyUtils.copyProperties(commentInfoNew, commentInfo);
@@ -1511,8 +1657,41 @@
e.printStackTrace();
continue;
}
-
- comment++;
+
+ 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 {
+ singleCoupn = false;
+ content = content.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+ content = content.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+ }
+ content = content.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
+ // 鏇挎崲娣樺疂瀹樻柟娲诲姩
+ List<String> activityIdList = convertLinkManager.getTaoBaoOfficialActivityId(content);
+ for (String st : activityIdList)
+ content = content.replace(st, "");
+
+ commentInfoNew.setContent(content);
+ }
+ }
+ }
+ if (typeEnum != null && typeEnum == EvaluateEnum.activity) {
+ // 鏇挎崲娣樺疂瀹樻柟娲诲姩
+ String content = commentInfoNew.getContent();
+ List<String> activityIdList = convertLinkManager.getTaoBaoOfficialActivityId(content);
+ for (String st : activityIdList)
+ content = content.replace(st, "");
+ commentInfoNew.setContent(content);
+ }
+
CommentInfoEnum typeComment = commentInfoNew.getTypeEnum();
if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) {
GoodsDetailVO goods = evaluateNew.getGoods();
@@ -1529,30 +1708,39 @@
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 + "鍚庤繃鏈�");
-
- List<ClientTextStyleVO> tagList = commentInfoNew.getTagList();
- tagList.add(styleVO);
- commentInfoNew.setTagList(tagList);
-
+ tagListNew.add(styleVO);
+ commentInfoNew.setTagList(tagListNew);
commentNew.add(commentInfoNew);
continue;
+ } else {
+ currencyCoupon = false;
+ continue;
}
+ } else {
+ currencyCoupon = false;
+ continue;
}
}
- commentNew.add(commentInfo);
+ commentNew.add(commentInfoNew);
}
evaluateNew.setComments(commentNew);
if (typeEnum != null && typeEnum == EvaluateEnum.single) {
- if (comment > 0 && commentNew.size() == 0) { // 鎵�鏈夊埜璇勮涓嬫灦
+ if (!currencyCoupon && !singleCoupn) { // 鎵�鏈夊埜璇勮涓嬫灦
GoodsDetailVO goods = evaluateNew.getGoods();
if (goods != null) {
goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦
- LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦1");
+ evaluateNew.setRemarks("璇勮楠岃瘉涓嬫灦");
}
List<ImgInfo> imgList = evaluateNew.getImgList();
@@ -1561,7 +1749,7 @@
SimpleGoods simpleGoods = imgInfo.getGoods();
if (simpleGoods != null) {
simpleGoods.setState(1);
- LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦2");
+ simpleGoods.setRemarks("璇勮楠岃瘉涓嬫灦");
}
}
@@ -1579,6 +1767,11 @@
@Override
public void run() {
updateGoodInfo(listOBJ);
+
+ // 鍒犻櫎宸茶繃鏈�
+ removeOverdue();
+
+ removeDownGoods();
}
});
@@ -1604,12 +1797,9 @@
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);
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
for (GoodsEvaluate goodsEvaluate : list) {
// 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊
Date updateTime = goodsEvaluate.getUpdateTime();
@@ -1633,7 +1823,7 @@
if (commentInfoEnum != null && commentInfoEnum == CommentInfoEnum.currencyCoupon) {
String endTime = commentInfo.getEndTime();
if (!StringUtil.isNullOrEmpty(endTime)) {
- Date endDay = sdf.parse(endTime);
+ Date endDay = format.parse(endTime);
if (endDay.getTime() < now.getTime()) {
goodsEvaluate.setState(0); // 娲诲姩杩囨湡
}
@@ -1646,10 +1836,11 @@
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 {
+ goodsEvaluate.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅");
goodsEvaluate.setState(0); // 宸插晢鍝佷笅鏋�
goods.setState(1);
goodsEvaluate.setGoods(goods);
@@ -1668,7 +1859,7 @@
}
GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(),
- paramsDTO);
+ params);
if (goodsDetailVO != null) {
simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
simpleGoods.setState(0);
@@ -1682,6 +1873,7 @@
imgInfo.setGoods(simpleGoods);
imgInfo.setGoodsVO(goodsDetailVO);
} else {
+ simpleGoods.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅");
simpleGoods.setState(1);
imgInfo.setGoods(simpleGoods);
GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
@@ -1691,7 +1883,7 @@
}
}
}
-
+ goodsEvaluate.setImgList(imgList);
goodsEvaluate.setUpdateTime(new Date());
goodsEvaluateDao.save(goodsEvaluate);
}
@@ -1727,53 +1919,55 @@
}
@Override
- public void addGoodsEvaluateByDynamicInfo(DynamicInfo info) {
- if (1 > 0) {
- return; // 鏆備笉鍚敤鑷姩鐢熸垚
+ public void addGoodsEvaluate(Long goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment,
+ Date startTime) throws GoodsEvaluateException {
+ if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) {
+ throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
}
- if (info == null) {
+ List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId);
+ if (evaluateList != null && evaluateList.size() > 0)
return;
+
+ TaoBaoGoodsBrief goodsBrief = null;
+ try {
+ goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+ } catch (TaobaoGoodsDownException e) {
+ throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
}
- 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.plusDayDate(3, new Date()));
+ if (goodsBrief == null) {
+ throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�");
+ }
- List<ClientTextStyleVO> titles = info.getTitle();
- if (titles != null) {
- goodsEvaluate.setTitle(info.getTitle().get(0).getContent());
- } else {
- goodsEvaluate.setTitle("");
- }
+ BigDecimal couponAmount = goodsBrief.getCouponAmount();
+ if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�");
+ }
- List<ImgInfo> imgList = new ArrayList<>();
+ // 鐧藉簳鍥�
+ List<String> imgs = new ArrayList<>();
+ if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) {
+ imgs.add(goodsBrief.getPictUrlWhite());
+ }
+ imgs.addAll(goodsBrief.getImgList());
- List<GoodsPicture> imgs = info.getImgs();
- for (GoodsPicture goodsPicture : imgs) {
+ // 鍟嗗搧VO
+ ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+ GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
+
+ // 鍟嗗搧鍥剧墖淇℃伅
+ int i = 0;
+ if (imgList == null || imgList.size() == 0)
+ for (String img : 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.setUrl(img);
+ imgInfo.setUrlHD(img);
+ if (i != 0) {
imgInfo.setType(ImgEnum.img);
} else {
imgInfo.setType(ImgEnum.goods);
@@ -1789,41 +1983,527 @@
simpleGoods.setAmount(couponInfo.getAmount());
}
imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsVO);
+ }
+ imgList.add(imgInfo);
+ i++;
+ }
- TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), null);
+ // 璇勮鍐呭
+ CommentInfo commentInfo = new CommentInfo();
+ commentInfo.setNeedSpin(true);
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ if (!StringUtil.isNullOrEmpty(comment)) {
+ commentInfo.setContent(comment);
+ commentInfo.setType("");
+ } else {
+ String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
+ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+ String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
+ if (!goodsVO.isHasCoupon()) {
+ commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+ commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+ commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n","\r\n");
+ }
+ commentInfo.setContent(commentText);
+ commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+ }
+
+ List<CommentInfo> commentsNew = new ArrayList<>();
+ commentsNew.add(commentInfo);
+
+ // 涓�琛屾樉绀哄灏戜釜鍥剧墖
+ int lineNum = 0;
+ if (imgList.size() > 0) {
+ if (imgList.size() == 1) {
+ lineNum = 1;
+ } else if (imgList.size() == 3) {
+ lineNum = 3;
+ } else if (imgList.size() == 2 || imgList.size() == 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+
+ GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
+ goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
+ goodsEvaluate.setUser(user);
+ goodsEvaluate.setTitle(getDescNew(title));
+ goodsEvaluate.setState(1);
+ goodsEvaluate.setDynamicType(1);
+ goodsEvaluate.setType(EvaluateEnum.single);
+ goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000);
+ goodsEvaluate.setShareNumReal(0);
+ goodsEvaluate.setWeight(0.0);
+ if (startTime == null)
+ startTime = new Date();
+ goodsEvaluate.setStartTime(startTime);
+ goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date()));
+ goodsEvaluate.setPublishTime(new Date());
+ goodsEvaluate.setCreateTime(new Date());
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluate.setGoods(goodsVO);
+ goodsEvaluate.setLineNum(lineNum);
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setComments(commentsNew);
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+
+ @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 = orderHongBaoMoneyComputeService.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 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(taoBaoLink.getTaoToken()));
-
- commentText = commentText.replace("[鍘熶环]", goodsVO.getZkPrice().toString());
+ String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
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");
+ 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.setNeedSpin(true);
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("");
+ commentInfo2.setNeedSpin(true);
+
List<CommentInfo> commentsNew = new ArrayList<>();
commentsNew.add(commentInfo);
+ commentsNew.add(commentInfo2);
goodsEvaluate.setComments(commentsNew);
-
- goodsEvaluate.setGoods(goodsVO);
-
}
imgList.add(imgInfo);
+ i++;
}
+
+ int lineNum = 0;
+ if (imgList.size() > 0) {
+ if (imgList.size() == 1) {
+ lineNum = 1;
+ } else if (imgList.size() == 3) {
+ lineNum = 3;
+ } else if (imgList.size() == 2 || imgList.size() == 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+ goodsEvaluate.setLineNum(lineNum);
+
+ goodsEvaluate.setGoods(goodsVO);
goodsEvaluate.setImgList(imgList);
goodsEvaluateDao.save(goodsEvaluate);
} catch (Exception e) {
+ e.printStackTrace();
LogHelper.errorDetailInfo(e);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 鍙戝湀鏍囬 鍔犲叆琛ㄦ儏
+ * @param desc
+ * @return
+ */
+ private String getDescNew(String desc) {
+ 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);
+ }
+ return descNew;
+ }
+
+ @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 = orderHongBaoMoneyComputeService.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 = orderHongBaoMoneyComputeService.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 = orderHongBaoMoneyComputeService.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 || simpleGoods.getGoodsId() != goodsId
+ || goodsType != simpleGoods.getGoodsType()) {
+ continue;
+ }
+
+ simpleGoods.setState(0);
+ simpleGoods.setPrice(goodsNew.getCouponPrice());
+ CouponInfoVO couponInfo = goodsNew.getCouponInfo();
+ if (couponInfo == null) {
+ simpleGoods.setPrice(goodsNew.getZkPrice());
+ } else {
+ simpleGoods.setPrice(goodsNew.getCouponPrice());
+ simpleGoods.setAmount(couponInfo.getAmount());
+ }
+
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsNew);
+ }
+
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ }
+
+
+ @Override
+ public void offlineTaoBaoGoods(Long goodsId) {
+ try {
+ if (goodsId == null) {
+ return;
+ }
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId);
+ if (list == null || list.size() == 0) {
+ return;
+ }
+
+ // 涓嬫灦鍟嗗搧
+ offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @CacheEvict(value = "dynamicCache", allEntries = true)
+ private void offlineGoods(List<GoodsEvaluate> list, int goodsType, Long goodsId) {
+
+ for (GoodsEvaluate goodsEvaluate : list) {
+ // 鍟嗗搧涓嬫灦
+ GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
+ goodsDetailVO.setState(1);
+
+ List<ImgInfo> imgList = goodsEvaluate.getImgList();
+ if (imgList == null || imgList.size() == 0) {
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ continue;
+ }
+
+ for (ImgInfo imgInfo : imgList) {
+ SimpleGoods simpleGoods = imgInfo.getGoods();
+ if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId
+ || goodsType != simpleGoods.getGoodsType()) {
+ continue;
+ }
+ simpleGoods.setState(1);
+ GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
+ goodsVO.setState(1);
+
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsVO);
+ }
+
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ }
+
+
+ /**
+ * 鍒犻櫎宸茶繃鏈熸椂闂�
+ */
+ private void removeOverdue() {
+ if(1>0)
+ return;
+
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue();
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ long nm = 1000 * 60;// 涓�鍒嗛挓鐨勬绉掓暟
+ long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟
+ long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁�
+
+ long time = java.lang.System.currentTimeMillis();
+ for (GoodsEvaluate goodsEvaluate : list) {
+ long diff = time - goodsEvaluate.getEndTime().getTime();
+ long min = diff % nd % nh / nm;
+
+ // 杩囨湡瓒呰繃10鍒嗛挓灏卞垹闄�
+ if (min > 10) {
+ goodsEvaluateDao.remove(goodsEvaluate);
+ }
+ }
+ }
+
+ /**
+ * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧
+ */
+ private void removeDownGoods() {
+ if(1>0)
+ return;
+ try {
+ List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods();
+ if (list == null || list.size() == 0) {
+ return;
+ }
+
+ for (GoodsEvaluate goodsEvaluate : list) {
+ goodsEvaluateDao.remove(goodsEvaluate);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
--
Gitblit v1.8.0