From e75b0d79535a6bcd147cca4a54632b70b42afdb9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 29 五月 2021 18:10:18 +0800
Subject: [PATCH] 特价完善
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 4520 ++++++++++++++++++++++++++++++++---------------------------
1 files changed, 2,462 insertions(+), 2,058 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 6d928e1..ea53970 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
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@ -16,7 +17,13 @@
import javax.annotation.Resource;
import javax.imageio.ImageIO;
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.SystemPIDInfo;
+import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
+import com.yeshi.fanli.service.manger.PIDManager;
+import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
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;
@@ -27,25 +34,26 @@
import org.yeshi.utils.tencentcloud.COSManager;
import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao;
-import com.yeshi.fanli.dto.ConfigParamsDTO;
+import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO;
import com.yeshi.fanli.dto.jd.JDCouponInfo;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
+import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
+import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser;
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;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoLink;
-import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.goods.facade.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;
@@ -55,15 +63,17 @@
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.goods.facade.service.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 org.yeshi.utils.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
+import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
@@ -74,2301 +84,2695 @@
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;
+import com.yeshi.common.vo.ClientTextStyleVO;
@Service
public class GoodsEvaluateServiceImpl implements GoodsEvaluateService {
- @Resource
- private GoodsEvaluateDao goodsEvaluateDao;
+ @Resource
+ private GoodsEvaluateDao goodsEvaluateDao;
- @Resource
- private ActivityUserService activityUserService;
+ @Resource
+ private ActivityUserService activityUserService;
- @Resource
- private RedisManager redisManager;
+ @Resource
+ private RedisManager redisManager;
- @Resource
- private HongBaoManageService hongBaoManageService;
+ @Resource
+ private HongBaoManageService hongBaoManageService;
- @Resource(name = "taskExecutor")
- private TaskExecutor executor;
+ @Resource
+ private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
- @Resource
- private JDGoodsCacheUtil jdGoodsCacheUtil;
+ @Resource(name = "taskExecutor")
+ private TaskExecutor executor;
- @Resource
- private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
+ @Resource
+ private JDGoodsCacheUtil jdGoodsCacheUtil;
- @Resource
- private ConfigService configService;
+ @Resource
+ private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
- @Resource
- private ShareGoodsService shareGoodsService;
+ @Resource
+ private ConfigService configService;
- @Resource
- private ConvertLinkManager convertLinkManager;
+ @Resource
+ private ShareGoodsService shareGoodsService;
- @Resource
- private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+ @Resource
+ private TaoBaoLinkManager taoBaoLinkManager;
- @Override
- public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
- Integer state = record.getState();
- if (state == null) {
- state = 0;
- }
- record.setState(state);
+ @Resource
+ private ConvertLinkManager convertLinkManager;
- String tilte = record.getTitle();
- if (StringUtil.isNullOrEmpty(tilte)) {
- throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�");
- }
+ @Resource
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
- try {
- ActivityUser activityUser = activityUserService.getActivityUserByNickName(record.getUser(), file);
- if (activityUser == null)
- throw new GoodsEvaluateException(1, "璇烽�夋嫨鍙戝竷鑰�");
- record.setUser(activityUser);
- } catch (ActivityUserException e) {
- throw new GoodsEvaluateException(1, e.getMsg());
- }
- if (record.getEndTime() != null) {
- if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
- throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
- } else {
- record.setEndTime(DateUtil.plusDayDate(3, new Date()));
- }
+ @Resource
+ private PIDManager pidManager;
- Integer dynamicType = record.getDynamicType();
- if (dynamicType == null) {
- record.setDynamicType(1);
- }
+ @Override
+ public void switchState(String id) throws GoodsEvaluateException {
+ if (id == null) {
+ throw new GoodsEvaluateException(1, "璇蜂紶閫掓纭弬鏁�");
+ }
- if (record.getShareNum() == null || record.getShareNum() <= 0) {
- record.setShareNum((int) (Math.random() * 5000) + 1000);
- }
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
+ if (resultObj == null) {
+ throw new GoodsEvaluateException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�");
+ }
- if (record.getWeight() == null)
- record.setWeight(0.0);
+ Integer state = resultObj.getState();
+ if (state == null || state == 0) {
+ state = 1;
+ } else {
+ state = 0;
+ }
+ goodsEvaluateDao.updateSatate(id, state);
+ }
- if (record.getStartTime() == null)
- record.setStartTime(new Date());
+ @Override
+ public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
+ Integer state = record.getState();
+ if (state == null) {
+ state = 0;
+ }
+ record.setState(state);
- record.setPublishTime(record.getStartTime());
+ String tilte = record.getTitle();
+ if (StringUtil.isNullOrEmpty(tilte)) {
+ throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�");
+ }
- String id = record.getId();
- if (StringUtil.isNullOrEmpty(id)) {
- id = UUID.randomUUID().toString().replace("-", "");
- 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, "淇敼鍐呭宸蹭笉瀛樺湪");
+ try {
+ ActivityUser activityUser = activityUserService.getActivityUserByNickName(record.getUser(), file);
+ if (activityUser == null)
+ throw new GoodsEvaluateException(1, "璇烽�夋嫨鍙戝竷鑰�");
+ record.setUser(activityUser);
+ } catch (ActivityUserException e) {
+ throw new GoodsEvaluateException(1, e.getMsg());
+ }
- 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;
- }
+ if (record.getEndTime() != null) {
+ if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
+ throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
+ } else {
+ if (record.getStartTime() == null) {
+ record.setEndTime(DateUtil.plusDayDate(3, new Date()));
+ } else {
+ record.setEndTime(DateUtil.plusDayDate(3, record.getStartTime()));
+ }
+ }
- /**
- * 涓婁紶鍥剧墖
- *
- * @param file
- * @return
- * @throws Exception
- */
- private String uploadPicture(MultipartFile file) throws Exception {
- 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;
- return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
- }
+ Integer dynamicType = record.getDynamicType();
+ if (dynamicType == null) {
+ record.setDynamicType(1);
+ }
- private ImgInfo uploadVideoPicture(MultipartFile filevideo) {
- try {
- File tempFile = new File(FileUtil.getCacheDir() + "/" + filevideo.getOriginalFilename());
- if (tempFile.exists())
- tempFile.delete();
- tempFile.createNewFile();
- filevideo.transferTo(tempFile);
- File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getOriginalFilename());
- // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
- ImageCropUtil.centerCrop(tempFile, destFile, 2.0f);
- BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
- ImgInfo info = new ImgInfo();
- int width = sourceImg.getWidth();
- int height = sourceImg.getHeight();
- String picLink = uploadPicture(destFile, filevideo.getContentType());
- info.setH(height);
- info.setW(width);
- info.setUrl(picLink);
- return info;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
+ if (record.getShareNum() == null || record.getShareNum() <= 0) {
+ record.setShareNum((int) (Math.random() * 5000) + 1000);
+ }
- private String uploadPicture(File file, String contentType) throws Exception {
- InputStream inputStream = new FileInputStream(file);
- String type = contentType.substring(contentType.indexOf("/") + 1);
- String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."
- + type;
- return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
- }
+ if (record.getWeight() == null)
+ record.setWeight(0.0);
- /**
- * 鍒犻櫎鍥剧墖
- *
- * @param record
- * @throws Exception
- */
- private void removePicture(String picture) throws Exception {
- if (picture != null && picture.trim().length() > 0) {
- COSManager.getInstance().deleteFile(picture);
- }
- }
+ if (record.getStartTime() == null)
+ record.setStartTime(new Date());
- @Override
- public String saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum,
- String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
- if (StringUtil.isNullOrEmpty(pid)) {
- throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
- }
+ record.setPublishTime(record.getStartTime());
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+ String id = record.getId();
+ if (StringUtil.isNullOrEmpty(id)) {
+ id = UUID.randomUUID().toString().replace("-", "");
+ 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, "淇敼鍐呭宸蹭笉瀛樺湪");
- // 鍘熷皝瑙嗛闈㈠浘
- ImgInfo imgVideo = null;
- List<String> listDel = new ArrayList<String>();
- List<String> listOld = new ArrayList<String>();
+ 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;
+ }
- // 澶勭悊鍥剧墖
- 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) {
- listOld.add(info.getUrl());
- oldGoodsVO = info.getGoodsVO();
- } else if (type == ImgEnum.img) {
- listOld.add(info.getUrl());
- }
- }
- }
+ /**
+ * 涓婁紶鍥剧墖
+ *
+ * @param file
+ * @return
+ * @throws Exception
+ */
+ private String uploadPicture(MultipartFile file) throws Exception {
+ 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;
+ return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
+ }
- // 瑙嗛閮ㄥ垎
- if (fileRequest != null) {
- MultipartFile filevideo = fileRequest.getFile("filevideo");
- if (filevideo != null) {
- if (StringUtil.isNullOrEmpty(videoUrl)) {
- 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(videoUrl);
- imgVideo.setType(ImgEnum.video);
- }
- imgVideo.setW(info.getW());
- imgVideo.setH(info.getH());
- }
- }
+ private ImgInfo uploadVideoPicture(MultipartFile filevideo) {
+ try {
+ File tempFile = new File(FileUtil.getCacheDir() + "/" + filevideo.getOriginalFilename());
+ if (tempFile.exists())
+ tempFile.delete();
+ tempFile.createNewFile();
+ filevideo.transferTo(tempFile);
+ File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getOriginalFilename());
+ // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
+ ImageCropUtil.centerCrop(tempFile, destFile, 2.0f);
+ BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
+ ImgInfo info = new ImgInfo();
+ int width = sourceImg.getWidth();
+ int height = sourceImg.getHeight();
+ String picLink = uploadPicture(destFile, filevideo.getContentType());
+ info.setH(height);
+ info.setW(width);
+ info.setUrl(picLink);
+ return info;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
- List<ImgInfo> listImg = new ArrayList<ImgInfo>();
- if (imgVideo != null) {
- if (!StringUtil.isNullOrEmpty(videoUrl)) {
- if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
- throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
- }
- imgVideo.setVideoUrl(videoUrl);
- listImg.add(imgVideo);
- } else {
- String url = imgVideo.getUrl();
- if (!StringUtil.isNullOrEmpty(url)) {
- listDel.add(url);
- }
- }
- }
+ 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;
- // 缂栬緫鍥剧墖
- 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 (picLink.startsWith("http")) {
- listpic.add(picLink);
- }
- }
- }
- }
+ BufferedImage sourceImg = ImageIO.read(inputStream);
+ ImgInfo info = new ImgInfo();
+ int width = sourceImg.getWidth();
+ int height = sourceImg.getHeight();
- // 涓婁紶鏂囦欢鏇挎崲
- 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);
- }
- }
- }
- }
+ String picLink = COSManager.getInstance().uploadFile(file.getInputStream(), filePath).getUrl();
- // 鎸囧畾涓诲浘
- if (picNum == null || picNum > 9 || picNum < 1) {
- picNum = 1;
- }
+ info.setH(height);
+ info.setW(width);
+ info.setUrl(picLink);
+ return info;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
- GoodsDetailVO goodsDetailVO = null;
- JDGoods jdGoods = null;
- PDDGoodsDetail pddGoods = null;
- ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
- params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- 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);
- }
+ private String uploadPicture(File file, String contentType) throws Exception {
+ InputStream inputStream = new FileInputStream(file);
+ String type = contentType.substring(contentType.indexOf("/") + 1);
+ String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."
+ + type;
+ return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
+ }
- if (goodsDetailVO == null) {
- throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
- }
+ /**
+ * 鍒犻櫎鍥剧墖
+ *
+ * @param picture
+ * @throws Exception
+ */
+ private void removePicture(String picture) throws Exception {
+ if (picture != null && picture.trim().length() > 0) {
+ COSManager.getInstance().deleteFile(picture);
+ }
+ }
- List<ImgInfo> tempList = new ArrayList<ImgInfo>();
- int totalImg = 0;
- if (listpic != null && listpic.size() > 0) {
- for (int i = 0; i < listpic.size() && i < 9; 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));
+ @Override
+ public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum,
+ String picUrls, SystemEnum system, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
+ if (StringUtil.isNullOrEmpty(pid)) {
+ throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+ }
- if (picNum - 1 == i) {
- imgInfo0.setType(ImgEnum.goods);
- SimpleGoods simpleGoods = new SimpleGoods();
- simpleGoods.setState(goodsDetailVO.getState());
- simpleGoods.setGoodsId(goodsId);
- simpleGoods.setGoodsType(goodsType);
- CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
- if (couponInfo == null) {
- simpleGoods.setPrice(goodsDetailVO.getZkPrice());
- } else {
- simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
- simpleGoods.setAmount(couponInfo.getAmount());
- }
- imgInfo0.setGoods(simpleGoods);
- imgInfo0.setGoodsVO(goodsDetailVO);
- listImg.add(imgInfo0);
- } else {
- imgInfo0.setType(ImgEnum.img);
- tempList.add(imgInfo0);
- }
- totalImg++;
- }
- }
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
- if (tempList.size() > 0) {
- listImg.addAll(tempList);
- }
+ // 鍘熷皝瑙嗛闈㈠浘
+ ImgInfo imgVideo = null;
+ List<String> listDel = new ArrayList<String>();
+ List<String> listOld = new ArrayList<String>();
- if (listOld != null && listOld.size() > 0) {
- for (int j = 0; j < listOld.size(); j++) {
- boolean del = true;
- String oldPic = listOld.get(j);
- for (ImgInfo imgInfo : listImg) {
- String url = imgInfo.getUrl();
- if (url.equals(oldPic)) {
- del = false;
- }
- }
- if (del)
- listDel.add(listOld.get(j));
- }
- }
+ // 澶勭悊鍥剧墖
+ 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) {
+ listOld.add(info.getUrl());
+ oldGoodsVO = info.getGoodsVO();
+ } else if (type == ImgEnum.img) {
+ listOld.add(info.getUrl());
+ }
+ }
+ }
- int lineNum = 0;
- if (totalImg > 0) {
- if (totalImg == 1) {
- lineNum = 1;
- } else if (totalImg == 3) {
- lineNum = 3;
- } else if (totalImg <= 4) {
- lineNum = 2;
- } else {
- lineNum = 3;
- }
- }
+ // 瑙嗛閮ㄥ垎
+ if (fileRequest != null) {
+ MultipartFile filevideo = fileRequest.getFile("filevideo");
+ if (filevideo != null) {
+ if (StringUtil.isNullOrEmpty(videoUrl)) {
+ 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(videoUrl);
+ imgVideo.setType(ImgEnum.video);
+ }
+ imgVideo.setW(info.getW());
+ imgVideo.setH(info.getH());
+ }
+ }
- resultObj.setLineNum(lineNum);
- resultObj.setGoods(goodsDetailVO);
- resultObj.setMainPicNum(picNum);
- resultObj.setImgList(listImg);
+ List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+ if (imgVideo != null) {
+ if (!StringUtil.isNullOrEmpty(videoUrl)) {
+ if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
+ throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
+ }
+ imgVideo.setVideoUrl(videoUrl);
+ listImg.add(imgVideo);
+ } else {
+ String url = imgVideo.getUrl();
+ if (!StringUtil.isNullOrEmpty(url)) {
+ listDel.add(url);
+ }
+ }
+ }
- boolean addComment = true;
- List<CommentInfo> commentsNew = new ArrayList<>();
- List<CommentInfo> comments = resultObj.getComments();
- if (comments != null && comments.size() > 0) {
- for (CommentInfo commentInfo : comments) {
- if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
- if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue()
- && oldGoodsVO.getGoodsType() == goodsType) {
- addComment = false;
- }
- continue;
- }
- commentsNew.add(commentInfo);
- }
- }
+ // 缂栬緫鍥剧墖
+ 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 (picLink.startsWith("http")) {
+ listpic.add(picLink);
+ }
+ }
+ }
+ }
- /*
- * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 =
- * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment
- * = false; }
- */
+ // 涓婁紶鏂囦欢鏇挎崲
+ 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);
+ }
+ }
+ }
+ }
- String commentText = "";
- if (addComment) {
- if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
- TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0");
- String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
- commentText = template.replace("[娣樺彛浠", 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());
- 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);
- }
+ // 鎸囧畾涓诲浘
+ if (picNum == null || picNum > 9 || picNum < 1) {
+ picNum = 1;
+ }
- // 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");
+ GoodsDetailVO goodsDetailVO = null;
+ JDGoods jdGoods = null;
+ PDDGoodsDetail pddGoods = null;
+ GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ try {
+ TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
+ goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
+ } catch (TaobaoGoodsDownException e) {
+ throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
+ }
+ } else if (goodsType == Constant.SOURCE_TYPE_JD) {
+ jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
+ goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(jdGoods, params);
+ } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+ pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
+ goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params);
+ }
- CommentInfo commentInfo = new CommentInfo();
- commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
- commentInfo.setContent(commentText);
- commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
- commentsNew.add(commentInfo);
- resultObj.setComments(commentsNew);
- }
- resultObj.setUpdateTime(new Date());
- goodsEvaluateDao.save(resultObj);
+ if (goodsDetailVO == null) {
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
+ }
- // 鍒犻櫎鍥剧墖
- if (listDel.size() > 0) {
- for (String url : listDel) {
- if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
- removePicture(url);
- }
- }
- }
+ List<ImgInfo> tempList = new ArrayList<ImgInfo>();
+ int totalImg = 0;
+ if (listpic != null && listpic.size() > 0) {
+ for (int i = 0; i < listpic.size() && i < 9; 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));
- return commentText;
- }
+ if (picNum - 1 == i) {
+ imgInfo0.setType(ImgEnum.goods);
+ SimpleGoods simpleGoods = new SimpleGoods();
+ simpleGoods.setState(goodsDetailVO.getState());
+ simpleGoods.setGoodsId(goodsId);
+ simpleGoods.setGoodsType(goodsType);
+ CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
+ if (couponInfo == null) {
+ simpleGoods.setPrice(goodsDetailVO.getZkPrice());
+ } else {
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ simpleGoods.setAmount(couponInfo.getAmount());
+ }
+ imgInfo0.setGoods(simpleGoods);
+ imgInfo0.setGoodsVO(goodsDetailVO);
+ listImg.add(imgInfo0);
+ } else {
+ imgInfo0.setType(ImgEnum.img);
+ tempList.add(imgInfo0);
+ }
+ totalImg++;
+ }
+ }
- private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
- String commentText = "";
- if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
- TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsDetailVO.getGoodsId(), "0");
- String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
- commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
- } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
- String couponUrl = null;
+ if (tempList.size() > 0) {
+ listImg.addAll(tempList);
+ }
- JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsDetailVO.getGoodsId());
- JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
- if (couponInfo != null) {
- couponUrl = couponInfo.getLink();
- }
- String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html";
- String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
- "1");
- String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
- commentText = template.replace("[閾炬帴]", jumpLink);
- } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
- String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetailVO.getGoodsId(),
- PinDuoDuoApiUtil.PID_SHARE + "", "1");
- String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
- commentText = template.replace("[閾炬帴]", jumpLink);
- }
+ if (listOld != null && listOld.size() > 0) {
+ for (int j = 0; j < listOld.size(); j++) {
+ boolean del = true;
+ String oldPic = listOld.get(j);
+ for (ImgInfo imgInfo : listImg) {
+ String url = imgInfo.getUrl();
+ if (url.equals(oldPic)) {
+ del = false;
+ }
+ }
+ if (del)
+ listDel.add(listOld.get(j));
+ }
+ }
- commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString());
- if (!goodsDetailVO.isHasCoupon()) {
- commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
- commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
- } else {
- commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString());
- }
+ int lineNum = 0;
+ if (totalImg > 0) {
+ if (totalImg == 1) {
+ lineNum = 1;
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg == 2 || totalImg == 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
- return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
- }
+ resultObj.setLineNum(lineNum);
+ resultObj.setGoods(goodsDetailVO);
+ resultObj.setMainPicNum(picNum);
+ resultObj.setImgList(listImg);
- public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException {
- GoodsDetailVO goodsDetail = null;
- ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
- params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
- try {
- TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
- String pictUrlWhite = goodsBrief.getPictUrlWhite();
- if (!StringUtil.isNullOrEmpty(pictUrlWhite)) {
- goodsBrief.setPictUrl(pictUrlWhite);
- }
- goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
- } catch (TaobaoGoodsDownException e) {
- throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
- }
- } else if (goodsType == Constant.SOURCE_TYPE_JD) {
- JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);
- goodsDetail = GoodsDetailVOFactory.convertJDGoods(goodsInfo, params);
- } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
- PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
- goodsDetail = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, params);
- }
- return goodsDetail;
- }
+ boolean addComment = true;
+ List<CommentInfo> commentsNew = new ArrayList<>();
+ List<CommentInfo> comments = resultObj.getComments();
+ if (comments != null && comments.size() > 0) {
+ for (CommentInfo commentInfo : comments) {
+ if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
+ if (oldGoodsVO != null && oldGoodsVO.getGoodsId().equalsIgnoreCase(goodsId)
+ && oldGoodsVO.getGoodsType() == goodsType) {
+ addComment = false;
+ }
+ continue;
+ }
+ commentsNew.add(commentInfo);
+ }
+ }
- @Override
- public void saveMultipleGoods(String pid, String videoUrl, String goodsList,
- MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
- if (StringUtil.isNullOrEmpty(pid)) {
- throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
- }
+ /*
+ * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 =
+ * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment
+ * = false; }
+ */
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+ String commentText = "";
+ if (addComment) {
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, Long.parseLong(goodsId), "0", null);
+ String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system);
+ commentText = template.replace("[娣樺彛浠", 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, null,
+ pidManager.getPidCache(system, Constant.SOURCE_TYPE_JD, SystemPIDInfo.PidType.share), "1");
+ String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(), system);
+ if (jumpLink == null) {
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
+ }
+ commentText = template.replace("[閾炬帴]", jumpLink);
+ } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+ String sharePid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share);
+ PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(goodsId), sharePid, "1");
+ String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetail.getGoodsSign(), sharePid, "1");
+ if (jumpLink == null) {
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
+ }
+ String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(), system);
+ commentText = template.replace("[閾炬帴]", jumpLink);
+ }
- // 鍘熷皝瑙嗛闈㈠浘
- ImgInfo imgVideo = null;
- List<String> listDel = new ArrayList<String>();
- List<ImgInfo> oldGoodsList = new ArrayList<ImgInfo>();
+ // 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");
- // 澶勭悊鍥剧墖
- 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) {
- oldGoodsList.add(info);
- }
- }
- }
+ 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);
- // 瑙嗛閮ㄥ垎
- if (fileRequest != null) {
- MultipartFile filevideo = fileRequest.getFile("filevideo");
- if (filevideo != null) {
- if (StringUtil.isNullOrEmpty(videoUrl)) {
- throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
- }
+ // 鍒犻櫎鍥剧墖
+ if (listDel.size() > 0) {
+ for (String url : listDel) {
+ if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+ removePicture(url);
+ }
+ }
+ }
- ImgInfo info = uploadVideoPicture(filevideo);
- if (info == null)
- throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
+ return commentText;
+ }
- 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(videoUrl);
- imgVideo.setType(ImgEnum.video);
- }
- imgVideo.setW(info.getW());
- imgVideo.setH(info.getH());
- }
- }
+ private String createTokenAndLink(GoodsDetailVO goodsDetailVO, SystemEnum system) throws Exception {
+ String commentText = "";
+ if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
+ TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, Long.parseLong(goodsDetailVO.getGoodsId()), "0", null);
+ String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system);
+ commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
+ } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
+ String couponUrl = null;
- List<ImgInfo> listImg = new ArrayList<ImgInfo>();
- if (imgVideo != null) {
- if (!StringUtil.isNullOrEmpty(videoUrl)) {
- if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
- throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
- }
- imgVideo.setVideoUrl(videoUrl);
- listImg.add(imgVideo);
- } else {
- String url = imgVideo.getUrl();
- if (!StringUtil.isNullOrEmpty(url)) {
- listDel.add(url);
- }
- }
- }
+ JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsDetailVO.getGoodsId()));
+ JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
+ if (couponInfo != null) {
+ couponUrl = couponInfo.getLink();
+ }
+ String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html";
+ String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null, pidManager.getPidCache(system, Constant.SOURCE_TYPE_JD, SystemPIDInfo.PidType.share),
+ "1");
+ String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(), system);
+ commentText = template.replace("[閾炬帴]", jumpLink);
+ } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
- 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++) {
- String goodsids = goodsArray[i];
- String[] g = goodsids.split("-");
- GoodsDetailVO goodsDetailVO = getGoodsDetailVO(Long.parseLong(g[0]), Integer.parseInt(g[1]));
- if (goodsDetailVO == null) {
- continue;
- }
+ String sharePid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share);
- String picUrl = goodsDetailVO.getPicUrl();
- if (fileRequest != null) {
- MultipartFile file = fileRequest.getFile("file" + i);
- if (file != null) {
- picUrl = uploadPicture(file);
- }
- }
+ PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(goodsDetailVO.getGoodsId()),
+ sharePid, "1");
- ImgInfo imgInfo0 = new ImgInfo();
- imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
- imgInfo0.setW(1);
- imgInfo0.setH(1);
- imgInfo0.setLarge(false);
- imgInfo0.setPid(pid);
- imgInfo0.setUrl(picUrl);
- imgInfo0.setUrlHD(picUrl);
- imgInfo0.setType(ImgEnum.goods);
+ String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetail.getGoodsSign(),
+ sharePid, "1");
+ String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(), system);
+ commentText = template.replace("[閾炬帴]", jumpLink);
+ }
- SimpleGoods simpleGoods = new SimpleGoods();
- simpleGoods.setState(goodsDetailVO.getState());
- simpleGoods.setGoodsId(goodsDetailVO.getGoodsId());
- simpleGoods.setGoodsType(goodsDetailVO.getGoodsType());
- CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
- if (couponInfo == null) {
- simpleGoods.setPrice(goodsDetailVO.getZkPrice());
- } else {
- simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
- simpleGoods.setAmount(couponInfo.getAmount());
- }
- imgInfo0.setGoods(simpleGoods);
- imgInfo0.setGoodsVO(goodsDetailVO);
+ commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString());
+ if (!goodsDetailVO.isHasCoupon()) {
+ commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+ commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+ } else {
+ commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString());
+ }
- listImg.add(imgInfo0);
- totalImg++;
- }
- }
- }
-
-
+ return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
+ }
- // 鏁版嵁瀵规瘮 鍒犻櫎鍥剧墖
- if (oldGoodsList != null && oldGoodsList.size() > 0) {
- for (ImgInfo old : oldGoodsList) {
- ImgEnum type = old.getType();
- if (type != ImgEnum.goods) {
- continue;
- }
+ public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType, SystemEnum system) throws GoodsEvaluateException {
+ GoodsDetailVO goodsDetail = null;
+ GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ try {
+ TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+ String pictUrlWhite = goodsBrief.getPictUrlWhite();
+ if (!StringUtil.isNullOrEmpty(pictUrlWhite)) {
+ goodsBrief.setPictUrl(pictUrlWhite);
+ }
+ goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
+ } catch (TaobaoGoodsDownException e) {
+ throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
+ }
+ } else if (goodsType == Constant.SOURCE_TYPE_JD) {
+ JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);
+ goodsDetail = GoodsDetailVOFactory.convertJDGoods(goodsInfo, params);
+ } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+ PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
+ goodsDetail = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, params);
+ }
+ return goodsDetail;
+ }
- boolean del = false;
- long oldGoodsId = old.getGoods().getGoodsId().longValue();
- int oldGoodsType = old.getGoods().getGoodsType().intValue();
- for (ImgInfo newInfo : listImg) {
- ImgEnum type2 = old.getType();
- if (type2 != ImgEnum.goods) {
- continue;
- }
+ @Override
+ public void saveMultipleGoods(String pid, String videoUrl, String goodsList,
+ MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
+ if (StringUtil.isNullOrEmpty(pid)) {
+ throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+ }
- if (oldGoodsId == newInfo.getGoods().getGoodsId().longValue()
- && oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) {
- String url = newInfo.getUrl();
- if (url.equals(old.getUrl())) {
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
- } else if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
- del = true;
- } else {
- newInfo.setUrl(old.getUrl());
- newInfo.setUrlHD(old.getUrlHD());
- }
- break;
- }
- }
+ // 鍘熷皝瑙嗛闈㈠浘
+ ImgInfo imgVideo = null;
+ List<String> listDel = new ArrayList<String>();
+ List<ImgInfo> oldGoodsList = new ArrayList<ImgInfo>();
- if (del) {
- listDel.add(old.getUrl());
- }
- }
- }
+ // 澶勭悊鍥剧墖
+ 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) {
+ oldGoodsList.add(info);
+ }
+ }
+ }
- int lineNum = 0;
- if (totalImg > 0) {
- if (totalImg == 1) {
- lineNum = 1;
- } else if (totalImg == 3) {
- lineNum = 3;
- } else if (totalImg <= 4) {
- lineNum = 2;
- } else {
- lineNum = 3;
- }
- }
+ // 瑙嗛閮ㄥ垎
+ if (fileRequest != null) {
+ MultipartFile filevideo = fileRequest.getFile("filevideo");
+ if (filevideo != null) {
+ if (StringUtil.isNullOrEmpty(videoUrl)) {
+ throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
+ }
- resultObj.setLineNum(lineNum);
+ ImgInfo info = uploadVideoPicture(filevideo);
+ if (info == null)
+ throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
- // 淇濆瓨鍥剧墖淇℃伅
- resultObj.setImgList(listImg);
- goodsEvaluateDao.save(resultObj);
+ 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(videoUrl);
+ imgVideo.setType(ImgEnum.video);
+ }
+ imgVideo.setW(info.getW());
+ imgVideo.setH(info.getH());
+ }
+ }
- // 鍒犻櫎鍥剧墖
- if (listDel.size() > 0) {
- for (String url : listDel) {
- if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
- removePicture(url);
- }
- }
- }
- }
+ List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+ if (imgVideo != null) {
+ if (!StringUtil.isNullOrEmpty(videoUrl)) {
+ if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
+ throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
+ }
+ imgVideo.setVideoUrl(videoUrl);
+ listImg.add(imgVideo);
+ } else {
+ String url = imgVideo.getUrl();
+ if (!StringUtil.isNullOrEmpty(url)) {
+ listDel.add(url);
+ }
+ }
+ }
- @Override
- public void saveGoodsComment(String id, int kind, List<CommentInfo> comments)
- throws GoodsEvaluateException, Exception {
- if (comments == null || comments.size() == 0) {
- throw new GoodsEvaluateException(1, "鍐呭涓嶈兘涓虹┖");
- }
+ 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++) {
+ String goodsids = goodsArray[i];
+ String[] g = goodsids.split("-");
+ GoodsDetailVO goodsDetailVO = getGoodsDetailVO(Long.parseLong(g[0]), Integer.parseInt(g[1]), resultObj.getSystem());
+ if (goodsDetailVO == null) {
+ continue;
+ }
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+ String picUrl = goodsDetailVO.getPicUrl();
+ if (fileRequest != null) {
+ MultipartFile file = fileRequest.getFile("file" + i);
+ if (file != null) {
+ picUrl = uploadPicture(file);
+ }
+ }
- GoodsDetailVO goods = resultObj.getGoods();
- if (kind == 1 && goods == null) {
- throw new GoodsEvaluateException(1, "璇峰厛褰曞叆鍟嗗搧淇℃伅");
- }
+ ImgInfo imgInfo0 = new ImgInfo();
+ imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
+ imgInfo0.setW(1);
+ imgInfo0.setH(1);
+ imgInfo0.setLarge(false);
+ imgInfo0.setPid(pid);
+ imgInfo0.setUrl(picUrl);
+ imgInfo0.setUrlHD(picUrl);
+ imgInfo0.setType(ImgEnum.goods);
- CommentInfo currencyCoupon = null;
- List<CommentInfo> oldComments = resultObj.getComments();
- if (oldComments != null) {
- for (int i = 0; i < oldComments.size(); i++) {
- CommentInfo info = oldComments.get(i);
- if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
- currencyCoupon = info;
- continue;
- }
- }
- }
+ SimpleGoods simpleGoods = new SimpleGoods();
+ simpleGoods.setState(goodsDetailVO.getState());
+ simpleGoods.setGoodsId(goodsDetailVO.getGoodsId());
+ simpleGoods.setGoodsType(goodsDetailVO.getGoodsType());
+ CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
+ if (couponInfo == null) {
+ simpleGoods.setPrice(goodsDetailVO.getZkPrice());
+ } else {
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ simpleGoods.setAmount(couponInfo.getAmount());
+ }
+ imgInfo0.setGoods(simpleGoods);
+ imgInfo0.setGoodsVO(goodsDetailVO);
- List<CommentInfo> newList = new ArrayList<>();
- for (int i = 0; i < comments.size(); i++) {
- CommentInfo commentInfo = comments.get(i);
- String content = commentInfo.getContent();
- if (StringUtil.isNullOrEmpty(content)) {
- if (i == 0 && kind == 1) {
- content = createTokenAndLink(goods);
- } else {
- continue;
- }
- } else if (i == 0 && kind == 1) {
- try {
- convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
- } catch (Exception e) {
- throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");
- }
- }
+ listImg.add(imgInfo0);
+ totalImg++;
+ }
+ }
+ }
- if (StringUtil.isNullOrEmpty(commentInfo.getId())) {
- commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
- }
+ // 鏁版嵁瀵规瘮 鍒犻櫎鍥剧墖
+ if (oldGoodsList != null && oldGoodsList.size() > 0) {
+ for (ImgInfo old : oldGoodsList) {
+ ImgEnum type = old.getType();
+ if (type != ImgEnum.goods) {
+ continue;
+ }
- commentInfo.setType(commentInfo.getTags());
- commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
- newList.add(commentInfo);
- }
- if (currencyCoupon != null) {
- comments.add(currencyCoupon);
- }
+ boolean del = false;
+ String oldGoodsId = old.getGoods().getGoodsId();
+ int oldGoodsType = old.getGoods().getGoodsType().intValue();
+ for (ImgInfo newInfo : listImg) {
+ ImgEnum type2 = old.getType();
+ if (type2 != ImgEnum.goods) {
+ continue;
+ }
- resultObj.setComments(comments);
- resultObj.setUpdateTime(new Date());
- goodsEvaluateDao.save(resultObj);
- }
+ if (oldGoodsId.equalsIgnoreCase(newInfo.getGoods().getGoodsId())
+ && oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) {
+ String url = newInfo.getUrl();
+ if (url.equals(old.getUrl())) {
- @Override
- public void saveGoodsCoupon(String pid, String content) throws GoodsEvaluateException, Exception {
- if (StringUtil.isNullOrEmpty(pid)) {
- throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
- }
+ } else if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+ del = true;
+ } else {
+ newInfo.setUrl(old.getUrl());
+ newInfo.setUrlHD(old.getUrlHD());
+ }
+ break;
+ }
+ }
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+ if (del) {
+ listDel.add(old.getUrl());
+ }
+ }
+ }
- 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;
- }
- }
- }
+ int lineNum = 0;
+ if (totalImg > 0) {
+ if (totalImg == 1) {
+ lineNum = 1;
+ } else if (totalImg == 3) {
+ lineNum = 3;
+ } else if (totalImg == 2 || totalImg == 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
- List<CommentInfo> comments = new ArrayList<>();
- if (!StringUtil.isNullOrEmpty(content)) {
+ resultObj.setLineNum(lineNum);
- if (!StringUtil.isNullOrEmpty(content)) {
- try {
- convertLinkManager.convertLinkFromText(content, 1L, true);
- } catch (Exception e) {
- throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");
- }
- }
+ // 淇濆瓨鍥剧墖淇℃伅
+ resultObj.setImgList(listImg);
+ goodsEvaluateDao.save(resultObj);
- 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 (listDel.size() > 0) {
+ for (String url : listDel) {
+ if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+ removePicture(url);
+ }
+ }
+ }
+ }
- if (currencyCoupon != null) {
- comments.add(currencyCoupon);
- }
+ @Override
+ public void saveGoodsComment(String id, int kind, List<CommentInfo> comments, SystemEnum system)
+ throws GoodsEvaluateException, Exception {
+ if (comments == null || comments.size() == 0) {
+ throw new GoodsEvaluateException(1, "鍐呭涓嶈兘涓虹┖");
+ }
- resultObj.setComments(comments);
- goodsEvaluateDao.save(resultObj);
- }
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
- @Override
- public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo)
- throws GoodsEvaluateException, Exception {
- if (StringUtil.isNullOrEmpty(pid)) {
- throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
- }
+ GoodsDetailVO goods = resultObj.getGoods();
+ if (kind == 1 && goods == null) {
+ throw new GoodsEvaluateException(1, "璇峰厛褰曞叆鍟嗗搧淇℃伅");
+ }
- if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
- throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
- }
+ CommentInfo currencyCoupon = null;
+ List<CommentInfo> oldComments = resultObj.getComments();
+ if (oldComments != null) {
+ for (int i = 0; i < oldComments.size(); i++) {
+ CommentInfo info = oldComments.get(i);
+ if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
+ currencyCoupon = info;
+ continue;
+ }
+ }
+ }
- if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) {
- throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�");
- }
+ List<CommentInfo> newList = new ArrayList<>();
+ for (int i = 0; i < comments.size(); i++) {
+ CommentInfo commentInfo = comments.get(i);
+ String content = commentInfo.getContent();
+ if (StringUtil.isNullOrEmpty(content)) {
+ if (i == 0 && kind == 1) {
+ content = createTokenAndLink(goods, system);
+ } else {
+ continue;
+ }
+ } else if (i == 0 && kind == 1) {
+ try {
+ convertLinkManager.convertLinkFromText(system, content, Constant.LINK_TOKEN_VERIFY_UID, true, false);
+ } catch (Exception e) {
+ throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");
+ }
+ }
- String tagUrl = commentInfo.getTagUrl();
- String content = commentInfo.getContent();
- if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) {
- throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
- }
+ if (StringUtil.isNullOrEmpty(commentInfo.getId())) {
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ }
- 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, "璇峰~鍐欏埜鎴鏃堕棿");
- }
+ commentInfo.setNeedSpin(true);
+ commentInfo.setType(commentInfo.getTags());
+ commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ newList.add(commentInfo);
+ }
+ if (currencyCoupon != null) {
+ comments.add(currencyCoupon);
+ }
- // 鍧囦笉楠岃瘉
- /*
- * if (!StringUtil.isNullOrEmpty(content) && kind != 3) { try {
- * convertLinkManager.convertLinkFromText(content,
- * Constant.LINK_TOKEN_VERIFY_UID, true); } catch (ConvertLinkExceptionException
- * e) { if (ConvertLinkExceptionException.CODE_NONE != e.getCode()) { throw new
- * GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); } } catch (Exception e) { throw
- * new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); } }
- */
+ resultObj.setComments(comments);
+ resultObj.setUpdateTime(new Date());
+ goodsEvaluateDao.save(resultObj);
+ }
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+ @Override
+ public void saveCurrencyCoupon(SystemEnum system, String pid, int kind, CommentInfo commentInfo)
+ throws GoodsEvaluateException, Exception {
+ if (StringUtil.isNullOrEmpty(pid)) {
+ throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+ }
- List<CommentInfo> comments = new ArrayList<>();
- CommentInfo currencyCoupon = null;
- List<CommentInfo> oldComments = resultObj.getComments();
- if (oldComments != null) {
- for (CommentInfo info : oldComments) {
- if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) {
- comments.add(info);
- } else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
- currencyCoupon = info;
- }
- }
- }
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
- if (commentInfo != null) {
- if (currencyCoupon != null) {
- commentInfo.setId(currencyCoupon.getId());
- } else {
- commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
- }
- // 鍒哥被鍨�
+ if (EvaluateEnum.activity != resultObj.getType()) {
+ if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+ throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
+ }
- commentInfo.setType(commentInfo.getTags());
- commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon);
+ if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) {
+ throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�");
+ }
- // 鏍囩淇℃伅
- List<ClientTextStyleVO> tagList = new ArrayList<>();
- String couponSource = commentInfo.getCouponSource();
- if (!StringUtil.isNullOrEmpty(couponSource)) {
- ClientTextStyleVO styleVO = new ClientTextStyleVO();
- styleVO.setColor("#16C253");
- styleVO.setContent(couponSource);
- tagList.add(styleVO);
- }
- String coupon = commentInfo.getCoupon();
- if (!StringUtil.isNullOrEmpty(coupon)) {
- ClientTextStyleVO styleVO = new ClientTextStyleVO();
- styleVO.setColor("#E5005C");
- styleVO.setContent(coupon);
- tagList.add(styleVO);
- }
- commentInfo.setTagList(tagList);
+ String tagUrl = commentInfo.getTagUrl();
+ String content = commentInfo.getContent();
+ if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) {
+ throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
+ }
- comments.add(commentInfo);
- }
+ 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, "璇峰~鍐欏埜鎴鏃堕棿");
+ }
+ }
- resultObj.setComments(comments);
- goodsEvaluateDao.save(resultObj);
- }
+ if (commentInfo.getNeedSpin() == null) {
+ commentInfo.setNeedSpin(false);
+ }
- @Override
- public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest)
- throws GoodsEvaluateException, Exception {
- if (StringUtil.isNullOrEmpty(pid)) {
- throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
- }
+ String content = commentInfo.getContent();
+ if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) {
+ try {
+ convertLinkManager.convertLinkFromText(system, content, Constant.LINK_TOKEN_VERIFY_UID, true, false);
+ } catch (ConvertLinkExceptionException e) {
+ if (ConvertLinkExceptionException.CODE_NONE != e.getCode()) {
+ throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
+ }
+ } catch (Exception e) {
+ throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
+ }
+ }
+
+ List<CommentInfo> comments = new ArrayList<>();
+ CommentInfo currencyCoupon = null;
+ List<CommentInfo> oldComments = resultObj.getComments();
+ if (oldComments != null) {
+ for (CommentInfo info : oldComments) {
+ if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) {
+ comments.add(info);
+ } else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
+ currencyCoupon = info;
+ }
+ }
+ }
+
+ if (commentInfo != null) {
+ if (currencyCoupon != null) {
+ commentInfo.setId(currencyCoupon.getId());
+ } else {
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ }
+ // 鍒哥被鍨�
+
+ commentInfo.setType(commentInfo.getTags());
+ commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon);
+
+ // 鏍囩淇℃伅
+ List<ClientTextStyleVO> tagList = new ArrayList<>();
+ String couponSource = commentInfo.getCouponSource();
+ if (!StringUtil.isNullOrEmpty(couponSource)) {
+ ClientTextStyleVO styleVO = new ClientTextStyleVO();
+ styleVO.setColor("#16C253");
+ styleVO.setContent(couponSource);
+ tagList.add(styleVO);
+ }
+ String coupon = commentInfo.getCoupon();
+ if (!StringUtil.isNullOrEmpty(coupon)) {
+ ClientTextStyleVO styleVO = new ClientTextStyleVO();
+ styleVO.setColor("#E5005C");
+ styleVO.setContent(coupon);
+ tagList.add(styleVO);
+ }
+ commentInfo.setTagList(tagList);
+
+ comments.add(commentInfo);
+ }
+
+ resultObj.setComments(comments);
+ goodsEvaluateDao.save(resultObj);
+ }
+
+ @Override
+ public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest)
+ throws GoodsEvaluateException, Exception {
+ if (StringUtil.isNullOrEmpty(pid)) {
+ throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+ }
+
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+ if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
+ throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖");
+ }
+
+ ImgInfo imgVideo = 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.video) {
+ imgVideo = info;
+ } 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;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // 涓婁紶鏂囦欢鏇挎崲
+ if (fileRequest != null) {
+ 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);
+ }
+ }
+ }
+ }
+
+ int lineNum = 0;
+ int totalImg = tempList.size();
+ if (totalImg > 0) {
+ if (totalImg == 1) {
+ lineNum = 1;
+ } 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
+ public void saveSuCai(String pid, String videoUrl, String picUrls, MultipartHttpServletRequest fileRequest)
+ throws GoodsEvaluateException, Exception {
+ if (StringUtil.isNullOrEmpty(pid)) {
+ throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+ }
+
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+ // 鍘熷皝瑙嗛闈㈠浘
+ 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) {
+ for (ImgInfo info : resultList) {
+ ImgEnum type = info.getType();
+ 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");
+ if (filevideo != null) {
+ if (StringUtil.isNullOrEmpty(videoUrl)) {
+ 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(videoUrl);
+ imgVideo.setType(ImgEnum.video);
+ }
+ imgVideo.setW(info.getW());
+ imgVideo.setH(info.getH());
+ }
+
+ activityFile = fileRequest.getFile("activityFile");
+ }
+
+ List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+ if (imgVideo != null) {
+ if (!StringUtil.isNullOrEmpty(videoUrl)) {
+ if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
+ throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
+ }
+
+ imgVideo.setVideoUrl(videoUrl);
+ listImg.add(imgVideo);
+ } else {
+ String url = imgVideo.getUrl();
+ if (!StringUtil.isNullOrEmpty(url)) {
+ listDel.add(url);
+ }
+ }
+ }
+
+ 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 = 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 (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);
+ }
+ }
+ }
+ }
+
+ 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;
+ String oldPic = listOld.get(j);
+ 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 == 3) {
+ lineNum = 3;
+ } else if (totalImg == 2 || totalImg == 4) {
+ lineNum = 2;
+ } else {
+ lineNum = 3;
+ }
+ }
+
+ 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
+ public void deleteBatchByPrimaryKey(List<String> list) {
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ for (String id : list) {
+ goodsEvaluateDao.deleteById(id);
+ }
+ }
+
+ @Override
+ public GoodsEvaluate getById(String id) {
+ return goodsEvaluateDao.getById(id);
+ }
+
+
+ @Override
+ public List<GoodsEvaluate> listByStartTime(Date date) {
+ return goodsEvaluateDao.listByStartTime(date);
+ }
+
+ @Override
+ public List<GoodsEvaluate> queryValidSortASC(int start, int count, EvaluateEnum tyepEnum, boolean sortDesc) {
+ return goodsEvaluateDao.queryValidSortASC(start, count, tyepEnum, sortDesc);
+ }
+
+
+ @Override
+ public List<GoodsEvaluate> queryValidZeroPoint(int start, int count) {
+ return goodsEvaluateDao.queryValidZeroPoint(start, count);
+ }
+
+
+ @Override
+ public void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException {
+ GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid);
+ if (goodsEvaluate == null) {
+ throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�");
+ }
+
+ String tags = commentInfo.getTags();
+ if (!StringUtil.isNullOrEmpty(tags)) {
+ String[] arrayTags = tags.split("\\s+");
+ if (arrayTags != null && arrayTags.length > 0) {
+ String[] arrayTagsColour = null;
+ String tagsColour = commentInfo.getTagsColour();
+ if (!StringUtil.isNullOrEmpty(tagsColour)) {
+ arrayTagsColour = tagsColour.split("\\s+");
+ }
+
+ String color = "#E5005C";
+ List<ClientTextStyleVO> tagList = new ArrayList<ClientTextStyleVO>();
+ for (int i = 0; i < arrayTags.length; i++) {
+ String tag = arrayTags[i];
+ if (arrayTagsColour != null && arrayTagsColour.length == arrayTags.length) {
+ color = arrayTagsColour[i];
+ }
+ ClientTextStyleVO styleVO = new ClientTextStyleVO();
+ styleVO.setColor(color);
+ styleVO.setContent(tag);
+ tagList.add(styleVO);
+ }
+ commentInfo.setTagList(tagList);
+ }
+ }
+
+ List<CommentInfo> comments = goodsEvaluate.getComments();
+ if (comments == null) {
+ comments = new ArrayList<>();
+ }
+
+ Integer weight = commentInfo.getWeight();
+ if (weight == null)
+ commentInfo.setWeight(1);
+
+ comments.add(commentInfo);
+
+ Collections.shuffle(comments);
+ Comparator<CommentInfo> cm = new Comparator<CommentInfo>() {
+ @Override
+ public int compare(CommentInfo o1, CommentInfo o2) {
+ return o1.getWeight() != null && o2.getWeight() != null ? o2.getWeight() - o1.getWeight() : 0;
+ }
+ };
+ Collections.sort(comments, cm);
+
+ goodsEvaluate.setComments(comments);
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+
+ @Override
+ public void release(String id) throws GoodsEvaluateException {
+ GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(id);
+ if (goodsEvaluate == null) {
+ throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�");
+ }
+ goodsEvaluate.setState(1);
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+
+ @Override
+ public void deleteComment(String pid, List<String> list) throws GoodsEvaluateException {
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid);
+ if (goodsEvaluate == null) {
+ throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�");
+ }
+
+ List<CommentInfo> comments = goodsEvaluate.getComments();
+ if (comments == null || comments.size() == 0) {
+ return;
+ }
+
+ for (String id : list) {
+ for (int i = 0; i < comments.size(); i++) {
+ CommentInfo commentInfo = comments.get(i);
+ if (id.equals(commentInfo.getId())) {
+ comments.remove(i);
+ i--;
+ }
+ }
+ }
+ goodsEvaluate.setComments(comments);
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+
+ @Override
+ public void addShareNum(String id) {
+ GoodsEvaluate article = goodsEvaluateDao.getById(id);
+ if (article != null) {
+ Integer num = article.getShareNum();
+ if (num == null) {
+ num = 0;
+ }
+ article.setShareNum(num + 1);
+
+ Integer numReal = article.getShareNumReal();
+ if (numReal == null) {
+ numReal = 0;
+ }
+ article.setShareNumReal(numReal + 1);
+
+ goodsEvaluateDao.save(article);
+ }
+ }
+
+ @Override
+ public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType,
+ String typeEnum, SystemEnum system) {
+ return goodsEvaluateDao.query(start, count, key, state, dynamicType, typeEnum, system);
+ }
+
+ @Override
+ public long count(String key, Integer state, int dynamicType, String typeEnum, SystemEnum system) {
+ return goodsEvaluateDao.count(key, state, dynamicType, typeEnum, system);
+ }
+
+ @Override
+ public void addRanDomShareCount(SystemEnum system) {
+ // 鍙戝湀
+ try {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(0, Integer.MAX_VALUE, 1, system);
+ 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);
+ }
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+ // 绱犳潗
+ try {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(0, Integer.MAX_VALUE, 2, system);
+ 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);
+ }
+ }
- String videoPic = null;
- String activityPic = null;
- ImgInfo imgVideo = null;
- ImgInfo imgactivity = null;
- 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 {
- imgVideo = info;
- videoPic = info.getUrl();
- }
- }
- }
+ @Override
+ @Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start")
+ public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count, SystemEnum system) {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, 1, system);
- 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);
+ // 鏇存柊鍟嗗搧淇℃伅
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ // 鏇存柊淇℃伅
+ updateGoodInfo(list);
- ImgInfo info = uploadVideoPicture(filevideo);
- if (info == null)
- throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
- videoPic = info.getUrl();
- width = info.getW();
- height = info.getH();
- }
+ // 鍒犻櫎宸茶繃鏈�
+ removeOverdue();
- 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;
- }
- }
+ removeDownGoods();
+ }
+ });
- 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);
- }
+ return list;
+ }
- 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++;
- }
+ @Override
+ public long countValid(SystemEnum system) {
+ return goodsEvaluateDao.countValid(1, system);
+ }
- int lineNum = 0;
- if (totalImg > 0) {
- if (totalImg == 1) {
- lineNum = 1;
- } else if (totalImg == 3) {
- lineNum = 3;
- } else if (totalImg <= 4) {
- lineNum = 2;
- } else {
- lineNum = 3;
- }
- }
+ @Override
+ @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type+'-'+#system")
+ public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type, SystemEnum system) throws Exception {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type, system);
+ if (list == null) {
+ list = new ArrayList<>();
+ }
+ Date now = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- resultObj.setLineNum(lineNum);
- resultObj.setImgList(listImg);
- goodsEvaluateDao.save(resultObj);
- }
+ List<GoodsEvaluate> listNew = new ArrayList<>();
+ for (GoodsEvaluate goodsEvaluate : list) {
+ GoodsEvaluate evaluateNew = new GoodsEvaluate();
+ try {
+ PropertyUtils.copyProperties(evaluateNew, goodsEvaluate);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
- @Override
- public void saveSuCai(String pid, String videoUrl, String picUrls, MultipartHttpServletRequest fileRequest)
- throws GoodsEvaluateException, Exception {
- if (StringUtil.isNullOrEmpty(pid)) {
- throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
- }
+ // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐��
+ evaluateNew.setPublishTime(evaluateNew.getStartTime());
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+ List<CommentInfo> comments = evaluateNew.getComments();
+ if (comments != null && comments.size() > 0) {
+ EvaluateEnum typeEnum = evaluateNew.getType();
+ List<CommentInfo> commentNew = new ArrayList<>();
- // 鍘熷皝瑙嗛闈㈠浘
- ImgInfo imgVideo = null;
- ImgInfo imgActivity = null;
- List<String> listDel = new ArrayList<String>();
- List<String> listOld = new ArrayList<String>();
+ boolean singleCoupn = true;
+ boolean currencyCoupon = true;
+ for (CommentInfo commentInfo : comments) {
+ if (StringUtil.isNullOrEmpty(commentInfo.getContent())
+ && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+ continue;
+ }
- List<ImgInfo> listOldImgInfo = new ArrayList<ImgInfo>();
- // 澶勭悊鍥剧墖
- 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.img) {
- listOldImgInfo.add(info);
- String url = info.getUrl();
- if (!StringUtil.isNullOrEmpty(url)) {
- listOld.add(url);
- }
- } else if (type == ImgEnum.activity) {
- imgActivity = info;
- }
- }
- }
+ CommentInfo commentInfoNew = new CommentInfo();
+ try {
+ PropertyUtils.copyProperties(commentInfoNew, commentInfo);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
- MultipartFile activityFile = null;
- // 瑙嗛閮ㄥ垎
- if (fileRequest != null) {
- MultipartFile filevideo = fileRequest.getFile("filevideo");
- if (filevideo != null) {
- if (StringUtil.isNullOrEmpty(videoUrl)) {
- 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(videoUrl);
- imgVideo.setType(ImgEnum.video);
- }
- imgVideo.setW(info.getW());
- imgVideo.setH(info.getH());
- }
+ 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, "");
+ content = content.replace("{relationId}", "");
+ 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, "");
+ content = content.replace("{relationId}", "");
- activityFile = fileRequest.getFile("activityFile");
- }
+ commentInfoNew.setContent(content);
+ }
- List<ImgInfo> listImg = new ArrayList<ImgInfo>();
- if (imgVideo != null) {
- if (!StringUtil.isNullOrEmpty(videoUrl)) {
- if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
- throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
- }
+ CommentInfoEnum typeComment = commentInfoNew.getTypeEnum();
+ if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) {
+ GoodsDetailVO goods = evaluateNew.getGoods();
+ if (goods != null && goods.isHasCoupon()) {
+ commentNew.add(commentInfoNew);
+ continue;
+ }
+ }
- imgVideo.setVideoUrl(videoUrl);
- listImg.add(imgVideo);
- } else {
- String url = imgVideo.getUrl();
- if (!StringUtil.isNullOrEmpty(url)) {
- listDel.add(url);
- }
- }
- }
+ String coupon = commentInfoNew.getCoupon();
+ String endTime = commentInfoNew.getEndTime();
+ if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
+ Date endDay = sdf.parse(endTime);
+ if (endDay.getTime() > now.getTime()) {
+ String daysBetween = DateUtil.dateDiff5(now, endDay);
+ if (!StringUtil.isNullOrEmpty(daysBetween)) {
+ List<ClientTextStyleVO> tagListNew = new ArrayList<>();
+ List<ClientTextStyleVO> tagList = commentInfoNew.getTagList();
+ if (tagList != null) {
+ tagListNew.addAll(tagList);
+ }
- if (activityFile != null) {
- InputStream inputStream = activityFile.getInputStream();
- BufferedImage sourceImg = ImageIO.read(inputStream);
- int width = sourceImg.getWidth();
- int height = sourceImg.getHeight();
+ ClientTextStyleVO styleVO = new ClientTextStyleVO();
+ styleVO.setColor("#E5005C");
+ styleVO.setContent(daysBetween + "鍚庤繃鏈�");
+ tagListNew.add(styleVO);
+ commentInfoNew.setTagList(tagListNew);
+ commentNew.add(commentInfoNew);
+ continue;
+ } else {
+ currencyCoupon = false;
+ continue;
+ }
+ } else {
+ currencyCoupon = false;
+ continue;
+ }
+ }
- String picLink = uploadPicture(activityFile);
+ commentNew.add(commentInfoNew);
+ }
+ evaluateNew.setComments(commentNew);
- 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);
- }
+ if (typeEnum != null && typeEnum == EvaluateEnum.single) {
+ if (!currencyCoupon && !singleCoupn) { // 鎵�鏈夊埜璇勮涓嬫灦
+ GoodsDetailVO goods = evaluateNew.getGoods();
+ if (goods != null) {
+ goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦
+ evaluateNew.setRemarks("璇勮楠岃瘉涓嬫灦");
+ }
- // 缂栬緫鍥剧墖
- 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 (picLink.startsWith("http")) {
- listpic.add(picLink);
- }
- }
- }
- }
+ List<ImgInfo> imgList = evaluateNew.getImgList();
+ if (imgList != null) {
+ for (ImgInfo imgInfo : imgList) {
+ SimpleGoods simpleGoods = imgInfo.getGoods();
+ if (simpleGoods != null) {
+ simpleGoods.setState(1);
+ simpleGoods.setRemarks("璇勮楠岃瘉涓嬫灦");
+ }
+ }
- // 涓婁紶鏂囦欢鏇挎崲
- 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++;
- }
+ listNew.add(evaluateNew);
+ }
-
- // 娓呯悊鑰佸浘鐗�
- if (listOld != null && listOld.size() > 0) {
- for (int j = 0; j < listOld.size(); j++) {
- boolean del = true;
- String oldPic = listOld.get(j);
- for (ImgInfo imgInfo : listImg) {
- String url = imgInfo.getUrl();
- if (url.equals(oldPic)) {
- del = false;
- }
- }
- if (del)
- listDel.add(listOld.get(j));
- }
- }
+ List<GoodsEvaluate> listOBJ = list;
+ // 鏇存柊鍟嗗搧淇℃伅
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ updateGoodInfo(listOBJ);
- int lineNum = 0;
- if (totalImg > 0) {
- if (totalImg == 1) {
- lineNum = 1;
- } else if (totalImg == 3) {
- lineNum = 3;
- } else if (totalImg <= 4) {
- lineNum = 2;
- } else {
- lineNum = 3;
- }
- }
+ // 鍒犻櫎宸茶繃鏈�
+ removeOverdue();
- resultObj.setLineNum(lineNum);
- resultObj.setImgList(listImg);
- goodsEvaluateDao.save(resultObj);
+ removeDownGoods();
+ }
+ });
- // 鍒犻櫎鍥剧墖
- if (listDel.size() > 0) {
- for (String url : listDel) {
- if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
- removePicture(url);
- }
- }
- }
- }
+ return listNew;
+ }
- @Override
- public void deleteBatchByPrimaryKey(List<String> list) {
- if (list == null || list.size() == 0) {
- return;
- }
- for (String id : list) {
- goodsEvaluateDao.deleteById(id);
- }
- }
+ @Override
+ public long countValidMaterials(int type, SystemEnum system) {
+ return goodsEvaluateDao.countValid(type, system);
+ }
- @Override
- public GoodsEvaluate getById(String id) {
- return goodsEvaluateDao.getById(id);
- }
+ /**
+ * 鏇存柊鍟嗗搧淇℃伅
+ */
+ public void updateGoodInfo(List<GoodsEvaluate> list) {
+ if (!Constant.IS_OUTNET) {
+ return; // 澶栫綉杩涜鏇存柊
+ }
- @Override
- public void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException {
- GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid);
- if (goodsEvaluate == null) {
- throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�");
- }
+ if (list == null || list.size() == 0) {
+ return;
+ }
- String tags = commentInfo.getTags();
- if (!StringUtil.isNullOrEmpty(tags)) {
- String[] arrayTags = tags.split("\\s+");
- if (arrayTags != null && arrayTags.length > 0) {
- String[] arrayTagsColour = null;
- String tagsColour = commentInfo.getTagsColour();
- if (!StringUtil.isNullOrEmpty(tagsColour)) {
- arrayTagsColour = tagsColour.split("\\s+");
- }
+ try {
+ Date now = new Date();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String color = "#E5005C";
- List<ClientTextStyleVO> tagList = new ArrayList<ClientTextStyleVO>();
- for (int i = 0; i < arrayTags.length; i++) {
- String tag = arrayTags[i];
- if (arrayTagsColour != null && arrayTagsColour.length == arrayTags.length) {
- color = arrayTagsColour[i];
- }
- ClientTextStyleVO styleVO = new ClientTextStyleVO();
- styleVO.setColor(color);
- styleVO.setContent(tag);
- tagList.add(styleVO);
- }
- commentInfo.setTagList(tagList);
- }
- }
+ for (GoodsEvaluate goodsEvaluate : list) {
+ GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", goodsEvaluate.getSystem());
+ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(goodsEvaluate.getSystem()));
+ // 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊
+ Date updateTime = goodsEvaluate.getUpdateTime();
+ if (updateTime != null) {
+ long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁�
+ long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟
+ long diff = System.currentTimeMillis() - updateTime.getTime();
+ long day = diff / nd;// 璁$畻宸灏戝ぉ
+ long hour = diff % nd / nh + day * 24;// 璁$畻宸灏戝皬鏃�
+ if (hour < 2) {
+ continue;
+ }
+ }
- List<CommentInfo> comments = goodsEvaluate.getComments();
- if (comments == null) {
- comments = new ArrayList<>();
- }
+ EvaluateEnum type = goodsEvaluate.getType();
+ if (type != null && type == EvaluateEnum.activity) {
+ List<CommentInfo> comments = goodsEvaluate.getComments();
+ if (comments != null) {
+ for (CommentInfo commentInfo : comments) {
+ CommentInfoEnum commentInfoEnum = commentInfo.getTypeEnum();
+ if (commentInfoEnum != null && commentInfoEnum == CommentInfoEnum.currencyCoupon) {
+ String endTime = commentInfo.getEndTime();
+ if (!StringUtil.isNullOrEmpty(endTime)) {
+ Date endDay = format.parse(endTime);
+ if (endDay.getTime() < now.getTime()) {
+ goodsEvaluate.setState(0); // 娲诲姩杩囨湡
+ }
+ }
+ }
- Integer weight = commentInfo.getWeight();
- if (weight == null)
- commentInfo.setWeight(1);
+ }
+ }
+ }
- comments.add(commentInfo);
+ GoodsDetailVO goods = goodsEvaluate.getGoods();
+ if (goods != null) {
+ 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);
+ }
+ }
+ // 鏇存柊鍟嗗搧淇℃伅
+ List<ImgInfo> imgList = goodsEvaluate.getImgList();
+ if (imgList == null || imgList.size() == 0) {
+ continue;
+ }
- Collections.shuffle(comments);
- Comparator<CommentInfo> cm = new Comparator<CommentInfo>() {
- @Override
- public int compare(CommentInfo o1, CommentInfo o2) {
- return o1.getWeight() != null && o2.getWeight() != null ? o2.getWeight() - o1.getWeight() : 0;
- }
- };
- Collections.sort(comments, cm);
+ for (ImgInfo imgInfo : imgList) {
+ SimpleGoods simpleGoods = imgInfo.getGoods();
+ if (simpleGoods == null) {
+ continue;
+ }
- goodsEvaluate.setComments(comments);
- goodsEvaluateDao.save(goodsEvaluate);
- }
+ GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(),
+ params);
+ if (goodsDetailVO != null) {
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ simpleGoods.setState(0);
+ CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
+ if (couponInfo == null) {
+ simpleGoods.setPrice(goodsDetailVO.getZkPrice());
+ } else {
+ simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+ simpleGoods.setAmount(couponInfo.getAmount());
+ }
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsDetailVO);
+ } else {
+ simpleGoods.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅");
+ simpleGoods.setState(1);
+ imgInfo.setGoods(simpleGoods);
+ GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
+ if (goodsVO != null) {
+ goodsVO.setState(1);
+ imgInfo.setGoodsVO(goodsVO);
+ }
+ }
+ }
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
- @Override
- public void release(String id) throws GoodsEvaluateException {
- GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(id);
- if (goodsEvaluate == null) {
- throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�");
- }
- goodsEvaluate.setState(1);
- goodsEvaluateDao.save(goodsEvaluate);
- }
+ private GoodsDetailVO getGoodsNewInfo(String goodsId, int goodsType, GoodsMoneyConfigParamsDTO paramsDTO) {
+ GoodsDetailVO vo = null;
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ TaoBaoGoodsBrief goods;
+ try {
+ goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
+ if (goods != null) {
+ vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+ }
+ } catch (TaobaoGoodsDownException e) {
+ e.printStackTrace();
+ }
- @Override
- public void deleteComment(String pid, List<String> list) throws GoodsEvaluateException {
- if (list == null || list.size() == 0) {
- return;
- }
- GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid);
- if (goodsEvaluate == null) {
- throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�");
- }
+ } else if (goodsType == Constant.SOURCE_TYPE_JD) {
+ JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
+ if (goodsInfo != null) {
+ vo = GoodsDetailVOFactory.convertJDGoods(goodsInfo, paramsDTO);
+ }
+ } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+ PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
+ if (goodsInfo != null)
+ vo = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, paramsDTO);
+ }
+ return vo;
+ }
- List<CommentInfo> comments = goodsEvaluate.getComments();
- if (comments == null || comments.size() == 0) {
- return;
- }
+ @Override
+ public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment,
+ Date startTime, SystemEnum system) throws GoodsEvaluateException {
+ if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) {
+ throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
+ }
- for (String id : list) {
- for (int i = 0; i < comments.size(); i++) {
- CommentInfo commentInfo = comments.get(i);
- if (id.equals(commentInfo.getId())) {
- comments.remove(i);
- i--;
- }
- }
- }
- goodsEvaluate.setComments(comments);
- goodsEvaluateDao.save(goodsEvaluate);
- }
+ Date limitDate = DateUtil.reduceDay(new Date(), 7);
- @Override
- public void addShareNum(String id) {
- GoodsEvaluate article = goodsEvaluateDao.getById(id);
- if (article != null) {
- Integer num = article.getShareNum();
- if (num == null) {
- num = 0;
- }
- article.setShareNum(num + 1);
+ List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId, limitDate);
+ if (evaluateList != null && evaluateList.size() > 0)
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪");
- Integer numReal = article.getShareNumReal();
- if (numReal == null) {
- numReal = 0;
- }
- article.setShareNumReal(numReal + 1);
+ TaoBaoGoodsBrief goodsBrief = null;
+ try {
+ goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
+ } catch (TaobaoGoodsDownException e) {
+ throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
+ }
- goodsEvaluateDao.save(article);
- }
- }
+ if (goodsBrief == null) {
+ throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�");
+ }
- @Override
- public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) {
- return goodsEvaluateDao.query(start, count, key, state, dynamicType);
- }
+ BigDecimal couponAmount = goodsBrief.getCouponAmount();
+ if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�");
+ }
- @Override
- public long count(String key, Integer state, int dynamicType) {
- return goodsEvaluateDao.count(key, state, dynamicType);
- }
+ // 鐧藉簳鍥�
+ List<String> imgs = new ArrayList<>();
- @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);
- }
+ imgs.addAll(goodsBrief.getImgList());
- // 绱犳潗
- 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);
- }
- }
+ // 鍟嗗搧VO
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
- @Override
- @Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start")
- public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count) {
- List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, 1);
+ // 鍟嗗搧鍥剧墖淇℃伅
+ int i = 0;
+ if (imgList == null)
+ imgList = new ArrayList<ImgInfo>();
- // 鏇存柊鍟嗗搧淇℃伅
- executor.execute(new Runnable() {
- @Override
- public void run() {
- // 鏇存柊淇℃伅
- updateGoodInfo(list);
+ if (imgList.size() == 0)
+ 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);
+ }
+ imgList.add(imgInfo);
+ i++;
+ }
- // 鍒犻櫎宸茶繃鏈�
- removeOverdue();
- }
- });
+ // 璇勮鍐呭
+ 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 {
+ goodsBrief.setCouponLink(null);
+ String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
+ String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system);
+ 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());
+ }
- return list;
- }
+ List<CommentInfo> commentsNew = new ArrayList<>();
+ commentsNew.add(commentInfo);
- @Override
- public long countValid() {
- return goodsEvaluateDao.countValid(1);
- }
+ // 涓�琛屾樉绀哄灏戜釜鍥剧墖
+ 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;
+ }
+ }
- @Override
- @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type")
- public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) throws Exception {
- List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type);
- if (list == null) {
- list = new ArrayList<>();
- }
- Date now = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ 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);
+ goodsEvaluate.setSystem(system);
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
- List<GoodsEvaluate> listNew = new ArrayList<>();
- for (GoodsEvaluate goodsEvaluate : list) {
- GoodsEvaluate evaluateNew = new GoodsEvaluate();
- try {
- PropertyUtils.copyProperties(evaluateNew, goodsEvaluate);
- } catch (Exception e) {
- e.printStackTrace();
- continue;
- }
-
- // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐��
- goodsEvaluate.setPublishTime(goodsEvaluate.getStartTime());
-
- // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐��
- goodsEvaluate.setPublishTime(goodsEvaluate.getStartTime());
-
- List<CommentInfo> comments = evaluateNew.getComments();
- if (comments != null && comments.size() > 0) {
- EvaluateEnum typeEnum = evaluateNew.getType();
- List<CommentInfo> commentNew = new ArrayList<>();
+ @Override
+ public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title, SystemEnum system) throws GoodsEvaluateException {
+ if (goodsBrief == null || user == null || StringUtil.isNullOrEmpty(title)) {
+ throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
+ }
+ Date limitDate = DateUtil.reduceDay(new Date(), 7);
- boolean singleCoupn = true;
- boolean currencyCoupon = true;
- for (CommentInfo commentInfo : comments) {
- if (StringUtil.isNullOrEmpty(commentInfo.getContent())
- && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
- continue;
- }
+ Long goodsId = goodsBrief.getAuctionId();
+ List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId + "", limitDate);
+ if (evaluateList != null && evaluateList.size() > 0)
+ throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪");
- CommentInfo commentInfoNew = new CommentInfo();
- try {
- PropertyUtils.copyProperties(commentInfoNew, commentInfo);
- } catch (Exception e) {
- e.printStackTrace();
- continue;
- }
+ if (imgs == null) {
+ imgs = new ArrayList<>();
+ }
+ if (imgs.size() == 0) {
+ imgs.addAll(goodsBrief.getImgList());
+ }
- 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, "");
+ // 鍟嗗搧VO
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
- 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);
- }
+ // 鍟嗗搧鍥剧墖淇℃伅
+ int i = 0;
+ List<ImgInfo> imgList = new ArrayList<ImgInfo>();
- CommentInfoEnum typeComment = commentInfoNew.getTypeEnum();
- if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) {
- GoodsDetailVO goods = evaluateNew.getGoods();
- if (goods != null && goods.isHasCoupon()) {
- commentNew.add(commentInfoNew);
- continue;
- }
- }
+ 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);
+ }
+ imgList.add(imgInfo);
+ i++;
+ }
- String coupon = commentInfoNew.getCoupon();
- String endTime = commentInfoNew.getEndTime();
- if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
- Date endDay = sdf.parse(endTime);
- if (endDay.getTime() > now.getTime()) {
- String daysBetween = DateUtil.dateDiff5(now, endDay);
- if (!StringUtil.isNullOrEmpty(daysBetween)) {
- List<ClientTextStyleVO> tagListNew = new ArrayList<>();
- List<ClientTextStyleVO> tagList = commentInfoNew.getTagList();
- if (tagList != null) {
- tagListNew.addAll(tagList);
- }
- ClientTextStyleVO styleVO = new ClientTextStyleVO();
- styleVO.setColor("#E5005C");
- styleVO.setContent(daysBetween + "鍚庤繃鏈�");
- tagListNew.add(styleVO);
- commentInfoNew.setTagList(tagListNew);
- commentNew.add(commentInfoNew);
- continue;
- } else {
- currencyCoupon = false;
- continue;
- }
- } else {
- currencyCoupon = false;
- continue;
- }
- }
+ // 鐢熸垚鍙d护
+ String token = null;
+ try {
+ TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1", null);
+ token = taoBaoLink.getTaoToken();
+ } catch (TaoBaoConvertLinkException e) {
+ e.printStackTrace();
+ throw new GoodsEvaluateException(1, "杞摼澶辫触");
+ }
- commentNew.add(commentInfoNew);
- }
- evaluateNew.setComments(commentNew);
- if (typeEnum != null && typeEnum == EvaluateEnum.single) {
- if (!currencyCoupon && !singleCoupn) { // 鎵�鏈夊埜璇勮涓嬫灦
- GoodsDetailVO goods = evaluateNew.getGoods();
- if (goods != null) {
- goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦
- evaluateNew.setRemarks("璇勮楠岃瘉涓嬫灦");
- }
+ String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system);
+ 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 commentInfo = new CommentInfo();
+ commentInfo.setNeedSpin(true);
+ commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+ commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ commentInfo.setContent(commentText);
+ commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
- List<ImgInfo> imgList = evaluateNew.getImgList();
- if (imgList != null) {
- for (ImgInfo imgInfo : imgList) {
- SimpleGoods simpleGoods = imgInfo.getGoods();
- if (simpleGoods != null) {
- simpleGoods.setState(1);
- simpleGoods.setRemarks("璇勮楠岃瘉涓嬫灦");
- }
- }
+ 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;
+ }
+ }
- listNew.add(evaluateNew);
- }
+ int result = 0;
+ int zeroPoint = 0;
+ // 鈽呮繁澶滃ぇ绂忓埄锛氬厛鎶㈠埜锛�0鐐瑰噯鏃朵笅鍗曗槄
+ // 鍚繖绉嶆枃鏈殑瀹氫簬姣忔櫄10鐐瑰湪鍔ㄦ��-鍙戝湀 闆嗕腑鍙戯紝姣忔櫄10鐐瑰湪缇ゅ彂鍗曚腑鍙彂涓�鏉°��
+ Date startTime = new Date();
+ if (!StringUtil.isNullOrEmpty(title)) {
+ String value = configService.getValue(ConfigKeyEnum.evaluateZeroKey.getKey(), system);
+ if (!StringUtil.isNullOrEmpty(value)) {
+ List<String> asList = Arrays.asList(value.split(","));
+ if (asList != null && asList.size() > 0) {
+ boolean zero = false;
+ for (String zerokey : asList) {
+ if (title.contains(zerokey)) {
+ zero = true;
+ break;
+ }
+ }
- List<GoodsEvaluate> listOBJ = list;
- // 鏇存柊鍟嗗搧淇℃伅
- executor.execute(new Runnable() {
- @Override
- public void run() {
- updateGoodInfo(listOBJ);
+ if (zero) {
+ result = 1;
+ zeroPoint = 1;
+ startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(startTime) + " 22:00");
+ }
+ }
+ }
+ }
- // 鍒犻櫎宸茶繃鏈�
- removeOverdue();
- }
- });
- return listNew;
- }
+ GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
+ goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
+ goodsEvaluate.setUser(user);
+ goodsEvaluate.setTitle(getDescNew(title));
+ goodsEvaluate.setState(1);
+ goodsEvaluate.setZeroPoint(zeroPoint);
+ goodsEvaluate.setDynamicType(1);
+ goodsEvaluate.setType(EvaluateEnum.single);
+ goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000);
+ goodsEvaluate.setShareNumReal(0);
+ goodsEvaluate.setWeight(0.0);
+ goodsEvaluate.setStartTime(startTime);
+ goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, startTime));
+ goodsEvaluate.setPublishTime(new Date());
+ goodsEvaluate.setCreateTime(new Date());
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluate.setGoods(goodsVO);
+ goodsEvaluate.setLineNum(lineNum);
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setComments(commentsNew);
+ goodsEvaluate.setSystem(system);
+ goodsEvaluateDao.save(goodsEvaluate);
+ return result;
+ }
- @Override
- public long countValidMaterials(int type) {
- return goodsEvaluateDao.countValid(type);
- }
+ @Override
+ public void addGoodsEvaluateByDaTaoKe(SystemEnum system) {
+ List<Long> listId = null;
+ List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist(system);
+ 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(Long.parseLong(goods.getGoodsId()));
+ }
+ }
+ }
+ // 鐑攢鍗曞搧鐨勫垎绫�
+ List<GoodsClass> listClass = DaTaoKeUtil.goodsClasses;
+ int ci = (int) (Math.random() * listClass.size());
+ Long subId = listClass.get(ci).getId();
- /**
- * 鏇存柊鍟嗗搧淇℃伅
- */
- public void updateGoodInfo(List<GoodsEvaluate> list) {
- if (!Constant.IS_OUTNET) {
- return; // 澶栫綉杩涜鏇存柊
- }
+ List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subId, listId, 1);
+ if (list == null || list.size() == 0) {
+ return;
+ }
- if (list == null || list.size() == 0) {
- return;
- }
+ for (int i = 0; i < list.size(); i++) {
+ boolean cerateGoods = addByDaTaoKeGoods(list.get(i), system);
+ if (cerateGoods) {
+ break;
+ }
+ }
+ }
- try {
- Date now = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
- params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- for (GoodsEvaluate goodsEvaluate : list) {
- // 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊
- Date updateTime = goodsEvaluate.getUpdateTime();
- if (updateTime != null) {
- long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁�
- long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟
- long diff = System.currentTimeMillis() - updateTime.getTime();
- long day = diff / nd;// 璁$畻宸灏戝ぉ
- long hour = diff % nd / nh + day * 24;// 璁$畻宸灏戝皬鏃�
- if (hour < 2) {
- continue;
- }
- }
- EvaluateEnum type = goodsEvaluate.getType();
- if (type != null && type == EvaluateEnum.activity) {
- List<CommentInfo> comments = goodsEvaluate.getComments();
- if (comments != null) {
- for (CommentInfo commentInfo : comments) {
- CommentInfoEnum commentInfoEnum = commentInfo.getTypeEnum();
- if (commentInfoEnum != null && commentInfoEnum == CommentInfoEnum.currencyCoupon) {
- String endTime = commentInfo.getEndTime();
- if (!StringUtil.isNullOrEmpty(endTime)) {
- Date endDay = sdf.parse(endTime);
- if (endDay.getTime() < now.getTime()) {
- goodsEvaluate.setState(0); // 娲诲姩杩囨湡
- }
- }
- }
+ @Override
+ public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe, SystemEnum system) {
+ try {
+ Date limitDate = DateUtil.reduceDay(new Date(), 7);
- }
- }
- }
+ List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO,
+ daTaoKe.getGoodsId() + "", limitDate);
+ if (evaluateList != null && evaluateList.size() > 0)
+ return false;
- GoodsDetailVO goods = goodsEvaluate.getGoods();
- if (goods != null) {
- 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);
- }
- }
- // 鏇存柊鍟嗗搧淇℃伅
- List<ImgInfo> imgList = goodsEvaluate.getImgList();
- if (imgList == null || imgList.size() == 0) {
- continue;
- }
+ TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId());
+ if (goodsBrief == null) {
+ return false;
+ }
- for (ImgInfo imgInfo : imgList) {
- SimpleGoods simpleGoods = imgInfo.getGoods();
- if (simpleGoods == null) {
- continue;
- }
+ BigDecimal couponAmount = goodsBrief.getCouponAmount();
+ if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
+ return false;
+ }
- GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(),
- params);
- if (goodsDetailVO != null) {
- simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
- simpleGoods.setState(0);
- CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
- if (couponInfo == null) {
- simpleGoods.setPrice(goodsDetailVO.getZkPrice());
- } else {
- simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
- simpleGoods.setAmount(couponInfo.getAmount());
- }
- imgInfo.setGoods(simpleGoods);
- imgInfo.setGoodsVO(goodsDetailVO);
- } else {
- simpleGoods.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅");
- simpleGoods.setState(1);
- imgInfo.setGoods(simpleGoods);
- GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
- if (goodsVO != null) {
- goodsVO.setState(1);
- imgInfo.setGoodsVO(goodsVO);
- }
- }
- }
- goodsEvaluate.setImgList(imgList);
- goodsEvaluate.setUpdateTime(new Date());
- goodsEvaluateDao.save(goodsEvaluate);
- }
- } catch (Exception e) {
- LogHelper.errorDetailInfo(e);
- }
- }
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
- private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
- GoodsDetailVO vo = null;
- if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
- TaoBaoGoodsBrief goods;
- try {
- goods = redisManager.getTaoBaoGoodsBrief(goodsId);
- if (goods != null) {
- vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
- }
- } catch (TaobaoGoodsDownException e) {
- e.printStackTrace();
- }
+ ActivityUser user = null;
+ if (daTaoKe.getCid() != null) {
+ user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid());
+ } else {
+ List<ActivityRuleUser> ruleList = activityUserService.listByRuleCode(ActivityRuleUser.RULE_HAOHUO, 1, 20);
+ user = ruleList.get((int) (ruleList.size() * Math.random())).getActivityUser();
+ }
- } else if (goodsType == Constant.SOURCE_TYPE_JD) {
- JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);
- if (goodsInfo != null) {
- vo = GoodsDetailVOFactory.convertJDGoods(goodsInfo, paramsDTO);
- }
- } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
- PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
- if (goodsInfo != null)
- vo = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, paramsDTO);
- }
- return vo;
- }
- @Override
- public void addGoodsEvaluate(Long goodsId, Integer cid, String title, String comment) throws GoodsEvaluateException{
- if (goodsId == null || cid == null || StringUtil.isNullOrEmpty(title)) {
- throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
- }
-
- TaoBaoGoodsBrief goodsBrief = null;
- try {
- goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
- } catch (TaobaoGoodsDownException e) {
- throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
- }
+ 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 (goodsBrief == null) {
- throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�");
- }
+ if (descNew.endsWith("锛�")) {
+ descNew = descNew.substring(0, descNew.length() - 1);
+ }
- BigDecimal couponAmount = goodsBrief.getCouponAmount();
- if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
- throw new GoodsEvaluateException(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());
+ goodsEvaluate.setSystem(system);
- // 鍙戝竷鐢ㄦ埛
- ActivityUser user = activityUserService.getRandomByDaTaoKeCid(cid);
- if (user == null) {
- throw new GoodsEvaluateException(1, "鏈壘鍒板彂甯冪敤鎴�");
- }
+ List<String> goodsimgs = goodsBrief.getImgList();
-
- // 鐧藉簳鍥�
- List<String> imgs = new ArrayList<>();
- if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) {
- imgs.add(goodsBrief.getPictUrlWhite());
- }
- imgs.addAll(goodsBrief.getImgList());
+ List<String> imgs = new ArrayList<>();
+ imgs.addAll(goodsimgs);
- // 鍟嗗搧VO
- ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
- paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
+ 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);
- // 鍟嗗搧鍥剧墖淇℃伅
- 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);
- }
- imgList.add(imgInfo);
- i++;
- }
-
- // 璇勮鍐呭
- CommentInfo commentInfo = new CommentInfo();
- 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));
- commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice()) + "");
- if (!goodsVO.isHasCoupon()) {
- commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
- commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
- } else {
- commentText = commentText.replace("[鍒稿悗浠穄",
- MoneyBigDecimalUtil.getWithNoZera(goodsVO.getCouponPrice()) + "");
- }
- commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n","\r\n");
- commentInfo.setContent(commentText);
- commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
- }
+ // TaoBaoLink taoBaoLink =
+ // shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID,
+ // goodsVO.getGoodsId(), null);
- List<CommentInfo> commentsNew = new ArrayList<>();
- commentsNew.add(commentInfo);
-
- // 涓�琛屾樉绀哄灏戜釜鍥剧墖
- int lineNum = 0;
- if (imgs.size() > 0) {
- if (imgs.size() == 1) {
- lineNum = 1;
- } else if (imgs.size() == 3) {
- lineNum = 3;
- } else if (imgs.size() <= 4) {
- lineNum = 2;
- } else {
- lineNum = 3;
- }
- }
-
+ String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
- 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);
- goodsEvaluate.setStartTime(new Date());
- 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);
- }
+ String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system);
+ 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");
+ }
- @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();
+ 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());
- List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subId, listId, 1);
- if (list == null || list.size() == 0) {
- return;
- }
+ String text2 = "";
+ String evaluateEmojis = configService.getValue(ConfigKeyEnum.evaluateEmojis.getKey(), system);
+ if (!StringUtil.isNullOrEmpty(evaluateEmojis)) {
+ text2 = evaluateEmojis + "\n";
+ }
- for (int i = 0; i < list.size(); i++) {
- boolean cerateGoods = cerateGoods(list.get(i));
- if (cerateGoods) {
- break;
- }
- }
- }
+ String evaluateText = configService.getValue(ConfigKeyEnum.evaluateText.getKey(), system);
+ if (!StringUtil.isNullOrEmpty(evaluateText)) {
+ text2 += evaluateText;
+ }
- private boolean cerateGoods(DaTaoKeDetailV2 daTaoKe) {
- try {
- TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId());
- if (goodsBrief == null) {
- return false;
- }
+ String dtitle = daTaoKe.getDtitle();
+ if (!StringUtil.isNullOrEmpty(dtitle)) {
+ text2 = text2 + dtitle + "\n";
+ } else if (!StringUtil.isNullOrEmpty(evaluateText)) {
+ text2 += "\n";
+ }
+ text2 += "鍏堥銆�" + couponAmount + "鍏冧紭鎯犲埜銆戜笅鍗�";
- BigDecimal couponAmount = goodsBrief.getCouponAmount();
- if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
- return false;
- }
+ CommentInfo commentInfo2 = new CommentInfo();
+ commentInfo2.setId(UUID.randomUUID().toString().replace("-", ""));
+ commentInfo2.setContent(text2);
+ commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon);
+ commentInfo2.setType("");
+ commentInfo2.setNeedSpin(true);
- ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
- paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
- // 鍙戝竷鐢ㄦ埛
- ActivityUser user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid());
+ List<CommentInfo> commentsNew = new ArrayList<>();
+ commentsNew.add(commentInfo);
+ commentsNew.add(commentInfo2);
+ goodsEvaluate.setComments(commentsNew);
+ }
+ imgList.add(imgInfo);
+ i++;
+ }
- 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;
- }
+ 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);
- if (descNew.endsWith("锛�")) {
- descNew = descNew.substring(0, descNew.length() - 1);
- }
+ goodsEvaluate.setGoods(goodsVO);
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluateDao.save(goodsEvaluate);
+ } catch (Exception e) {
+ e.printStackTrace();
+ LogHelper.errorDetailInfo(e);
+ return false;
+ }
+ return true;
+ }
- 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);
+ /**
+ * 鍙戝湀鏍囬 鍔犲叆琛ㄦ儏
+ *
+ * @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;
+ }
- 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());
+ if (descNew.endsWith("锛�")) {
+ descNew = descNew.substring(0, descNew.length() - 1);
+ }
+ return descNew;
+ }
- List<String> goodsimgs = goodsBrief.getImgList();
+ @Override
+ public void updateTaoBaoGoods(TaoBaoGoodsBrief goods) {
+ try {
+ if (goods == null) {
+ return;
+ }
+ for (SystemEnum system : SystemEnum.values()) {
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO,
+ goods.getAuctionId() + "", system);
+ if (queryExist == null || queryExist.size() == 0) {
+ continue;
+ }
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+ }
- List<String> imgs = new ArrayList<>();
- if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) {
- imgs.add(goodsBrief.getPictUrlWhite());
- }
- imgs.addAll(goodsimgs);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
- int lineNum = 0;
- if (imgs.size() > 0) {
- if (imgs.size() == 1) {
- lineNum = 1;
- } else if (imgs.size() == 3) {
- lineNum = 3;
- } else if (imgs.size() <= 4) {
- lineNum = 2;
- } else {
- lineNum = 3;
- }
- }
- goodsEvaluate.setLineNum(lineNum);
+ @Override
+ public void updateJDGoods(JDGoods jdGoods) {
+ if (jdGoods == null) {
+ return;
+ }
+ for (SystemEnum system : SystemEnum.values()) {
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId() + "", system);
+ if (queryExist == null || queryExist.size() == 0) {
+ continue;
+ }
- 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);
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO);
- // TaoBaoLink taoBaoLink =
- // shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID,
- // goodsVO.getGoodsId(), null);
+ updateGoods(queryExist, goodsNew);
+ }
+ }
- String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
+ @Override
+ public void updatePDDGoods(PDDGoodsDetail pddGoods) {
+ if (pddGoods == null) {
+ return;
+ }
+ for (SystemEnum system : SystemEnum.values()) {
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId() + "", system);
+ if (queryExist == null || queryExist.size() == 0) {
+ continue;
+ }
- String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
- String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+ }
+ }
- commentText = commentText.replace("[鍘熶环]",
- MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice()) + "");
- if (!goodsVO.isHasCoupon()) {
- commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
- commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
- } else {
- commentText = commentText.replace("[鍒稿悗浠穄",
- MoneyBigDecimalUtil.getWithNoZera(goodsVO.getCouponPrice()) + "");
- }
- commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n")
- .replace("\r\n\r\n", "\r\n");
+ @Override
+ public void updateVIPGoods(VIPGoodsInfo goods) {
+ if (goods == null) {
+ return;
+ }
+ for (SystemEnum system : SystemEnum.values()) {
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_VIP,
+ goods.getGoodsId(), system);
+ if (queryExist == null || queryExist.size() == 0) {
+ continue;
+ }
- CommentInfo commentInfo = new CommentInfo();
- commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
- commentInfo.setContent(commentText);
- commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
- commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+ }
+ }
- String text2 = "";
- String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey());
- if (!StringUtil.isNullOrEmpty(evaluateEmojis)) {
- text2 = evaluateEmojis + "\n";
- }
+ @Override
+ public void updateSuningGoods(SuningGoodsInfo goods) {
+ if (goods == null) {
+ return;
+ }
+ for (SystemEnum system : SystemEnum.values()) {
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_SUNING,
+ goods.getCommodityInfo().getCommodityCode(), system);
+ if (queryExist == null || queryExist.size() == 0) {
+ continue;
+ }
+ GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system);
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system));
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+ }
+ }
- String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey());
- if (!StringUtil.isNullOrEmpty(evaluateText)) {
- text2 += evaluateText;
- }
+ private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) {
+ for (GoodsEvaluate goodsEvaluate : listExist) {
+ String goodsId = goodsNew.getGoodsId();
+ int goodsType = goodsNew.getGoodsType();
- String dtitle = daTaoKe.getDtitle();
- if (!StringUtil.isNullOrEmpty(dtitle)) {
- text2 = text2 + dtitle + "\n";
- } else if (!StringUtil.isNullOrEmpty(evaluateText)) {
- text2 += "\n";
- }
- text2 += "鍏堥銆�" + couponAmount + "鍏冧紭鎯犲埜銆戜笅鍗�";
+ GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
+ if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId().equalsIgnoreCase(goodsId)
+ && goodsDetailVO.getGoodsType() == goodsType) {
+ goodsEvaluate.setGoods(goodsNew);
+ }
- CommentInfo commentInfo2 = new CommentInfo();
- commentInfo2.setId(UUID.randomUUID().toString().replace("-", ""));
- commentInfo2.setContent(text2);
- commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon);
- commentInfo2.setType("");
+ // 鏇存柊鍟嗗搧淇℃伅
+ List<ImgInfo> imgList = goodsEvaluate.getImgList();
+ if (imgList == null || imgList.size() == 0) {
+ continue;
+ }
- List<CommentInfo> commentsNew = new ArrayList<>();
- commentsNew.add(commentInfo);
- commentsNew.add(commentInfo2);
- goodsEvaluate.setComments(commentsNew);
- }
- imgList.add(imgInfo);
- i++;
- }
-
- goodsEvaluate.setGoods(goodsVO);
- goodsEvaluate.setImgList(imgList);
- goodsEvaluateDao.save(goodsEvaluate);
- } catch (Exception e) {
- e.printStackTrace();
- LogHelper.errorDetailInfo(e);
- return false;
- }
- return true;
- }
+ for (ImgInfo imgInfo : imgList) {
+ SimpleGoods simpleGoods = imgInfo.getGoods();
+ if (simpleGoods == null || !simpleGoods.getGoodsId().equalsIgnoreCase(goodsId)
+ || goodsType != simpleGoods.getGoodsType()) {
+ continue;
+ }
- /**
- * 鍙戝湀鏍囬 鍔犲叆琛ㄦ儏
- * @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;
- }
+ 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());
+ }
- if (descNew.endsWith("锛�")) {
- descNew = descNew.substring(0, descNew.length() - 1);
- }
- return descNew;
- }
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsNew);
+ }
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ }
- @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;
- }
+ @Override
+ public void offlineTaoBaoGoods(String goodsId) {
+ try {
+ if (goodsId == null) {
+ return;
+ }
- ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
- paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
- updateGoods(queryExist, goodsNew);
+ for (SystemEnum system : SystemEnum.values()) {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId, system);
+ if (list == null || list.size() == 0) {
+ continue;
+ }
+ // 涓嬫灦鍟嗗搧
+ offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
+ @CacheEvict(value = "dynamicCache", allEntries = true)
+ public void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) {
- @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;
- }
+ for (GoodsEvaluate goodsEvaluate : list) {
+ // 鍟嗗搧涓嬫灦
+ GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
+ goodsDetailVO.setState(1);
- ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
- paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO);
+ List<ImgInfo> imgList = goodsEvaluate.getImgList();
+ if (imgList == null || imgList.size() == 0) {
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ continue;
+ }
- updateGoods(queryExist, goodsNew);
- }
+ 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);
- @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;
- }
+ imgInfo.setGoods(simpleGoods);
+ imgInfo.setGoodsVO(goodsVO);
+ }
- ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
- paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
- GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO);
- updateGoods(queryExist, goodsNew);
- }
+ goodsEvaluate.setImgList(imgList);
+ goodsEvaluate.setUpdateTime(new Date());
+ goodsEvaluateDao.save(goodsEvaluate);
+ }
+ }
- 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);
- }
+ /**
+ * 鍒犻櫎宸茶繃鏈熸椂闂�
+ */
+ private void removeOverdue() {
+ if (1 > 0)
+ return;
- // 鏇存柊鍟嗗搧淇℃伅
- List<ImgInfo> imgList = goodsEvaluate.getImgList();
- if (imgList == null || imgList.size() == 0) {
- continue;
- }
+ 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;// 涓�澶╃殑姣鏁�
- for (ImgInfo imgInfo : imgList) {
- SimpleGoods simpleGoods = imgInfo.getGoods();
- if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId
- || goodsType != simpleGoods.getGoodsType()) {
- continue;
- }
+ long time = java.lang.System.currentTimeMillis();
+ for (GoodsEvaluate goodsEvaluate : list) {
+ long diff = time - goodsEvaluate.getEndTime().getTime();
+ long min = diff % nd % nh / nm;
- 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());
- }
+ // 杩囨湡瓒呰繃10鍒嗛挓灏卞垹闄�
+ if (min > 10) {
+ goodsEvaluateDao.remove(goodsEvaluate);
+ }
+ }
+ }
- imgInfo.setGoods(simpleGoods);
- imgInfo.setGoodsVO(goodsNew);
- }
+ /**
+ * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧
+ */
+ private void removeDownGoods() {
+ if (1 > 0)
+ return;
+ try {
+ List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods();
+ if (list == null || list.size() == 0) {
+ return;
+ }
- goodsEvaluate.setImgList(imgList);
- goodsEvaluate.setUpdateTime(new Date());
- goodsEvaluateDao.save(goodsEvaluate);
- }
- }
+ for (GoodsEvaluate goodsEvaluate : list) {
+ goodsEvaluateDao.remove(goodsEvaluate);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
- private void removeOverdue() {
- 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;
+ @Override
+ public GoodsEvaluate queryExistSingle(String goodsId, int goodsType, SystemEnum system) {
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryExistSingle(goodsType, goodsId, system);
+ if (list != null && list.size() > 0)
+ return list.get(0);
+ return null;
+ }
- // 杩囨湡瓒呰繃10鍒嗛挓灏卞垹闄�
- if (min > 10) {
- goodsEvaluateDao.remove(goodsEvaluate);
- }
- }
- }
}
--
Gitblit v1.8.0