From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 5037 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 2,650 insertions(+), 2,387 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 f135d5e..b1d7ff1 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java @@ -1,38 +1,15 @@ package com.yeshi.fanli.service.impl.dynamic; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; -import java.math.BigDecimal; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.List; -import java.util.UUID; - -import javax.annotation.Resource; -import javax.imageio.ImageIO; - -import org.apache.commons.beanutils.PropertyUtils; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.core.task.TaskExecutor; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.yeshi.utils.DateUtil; -import org.yeshi.utils.ImageCropUtil; -import org.yeshi.utils.tencentcloud.COSManager; - +import com.yeshi.common.vo.ClientTextStyleVO; 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.SystemEnum; +import com.yeshi.fanli.entity.SystemFunction; +import com.yeshi.fanli.entity.SystemPIDInfo; import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser; import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; @@ -45,13 +22,13 @@ import com.yeshi.fanli.entity.dynamic.SimpleGoods; import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.system.ConfigKeyEnum; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoLink; -import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.exception.dynamic.ActivityUserException; import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException; -import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; +import com.yeshi.fanli.exception.goods.ConvertLinkException; +import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.lijin.manager.GoodsLijinMnager; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.activity.ActivityUserService; import com.yeshi.fanli.service.inter.config.ConfigService; @@ -59,2653 +36,2939 @@ import com.yeshi.fanli.service.inter.goods.ShareGoodsService; import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; +import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.FilePathEnum; -import com.yeshi.fanli.util.FileUtil; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; -import com.yeshi.fanli.util.RedisManager; -import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager; +import com.yeshi.fanli.service.manger.goods.tb.DaTaoKeTipOffManager; +import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.cache.JDGoodsCacheUtil; import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil; +import com.yeshi.fanli.util.factory.CommonGoodsFactory; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; +import com.yeshi.fanli.util.goods.douyin.vo.DYGoods; +import com.yeshi.fanli.util.goods.douyin.vo.DYGoodsDetail; import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; +import com.yeshi.fanli.util.taobao.DaTaoKeTipOffUtil; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.vo.goods.CouponInfoVO; import com.yeshi.fanli.vo.goods.GoodsDetailVO; -import com.yeshi.fanli.vo.msg.ClientTextStyleVO; +import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeListTopOffDTO; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2; +import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; +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; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.yeshi.utils.DateUtil; +import org.yeshi.utils.ImageCropUtil; +import org.yeshi.utils.MoneyBigDecimalUtil; +import org.yeshi.utils.TimeUtil; +import org.yeshi.utils.tencentcloud.COSManager; + +import javax.annotation.Resource; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; @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 - private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; - @Resource(name = "taskExecutor") - private TaskExecutor executor; + @Resource(name = "taskExecutor") + private TaskExecutor executor; - @Resource - private JDGoodsCacheUtil jdGoodsCacheUtil; + @Resource + private JDGoodsCacheUtil jdGoodsCacheUtil; - @Resource - private PinDuoDuoCacheUtil pinDuoDuoCacheUtil; + @Resource + private PinDuoDuoCacheUtil pinDuoDuoCacheUtil; - @Resource - private ConfigService configService; + @Resource + private ConfigService configService; - @Resource - private ShareGoodsService shareGoodsService; + @Resource + private ShareGoodsService shareGoodsService; - @Resource - private ConvertLinkManager convertLinkManager; + @Resource + private TaoBaoLinkManager taoBaoLinkManager; - @Resource - private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + @Resource + private ConvertLinkManager convertLinkManager; - @Override - public void switchState(String id) throws GoodsEvaluateException { - if (id == null) { - throw new GoodsEvaluateException(1, "璇蜂紶閫掓纭弬鏁�"); - } + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; - GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); - if (resultObj == null) { - throw new GoodsEvaluateException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�"); - } - Integer state = resultObj.getState(); - if (state == null || state == 0) { - state = 1; - } else { - state = 0; - } - goodsEvaluateDao.updateSatate(id, state); - } + @Resource + private PIDManager pidManager; - @Override - public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { - Integer state = record.getState(); - if (state == null) { - state = 0; - } - record.setState(state); + @Resource + private GoodsLijinMnager goodsLijinMnager; - String tilte = record.getTitle(); - if (StringUtil.isNullOrEmpty(tilte)) { - throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�"); - } + @Override + public void switchState(String id) throws GoodsEvaluateException { + if (id == 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()); - } + GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); + if (resultObj == null) { + throw new GoodsEvaluateException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�"); + } - 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())); - } - } + Integer state = resultObj.getState(); + if (state == null || state == 0) { + state = 1; + } else { + state = 0; + } + goodsEvaluateDao.updateSatate(id, state); + } - Integer dynamicType = record.getDynamicType(); - if (dynamicType == null) { - record.setDynamicType(1); - } + @Override + public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { + Integer state = record.getState(); + if (state == null) { + state = 0; + } + record.setState(state); - if (record.getShareNum() == null || record.getShareNum() <= 0) { - record.setShareNum((int) (Math.random() * 5000) + 1000); - } + String tilte = record.getTitle(); + if (StringUtil.isNullOrEmpty(tilte)) { + throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�"); + } - if (record.getWeight() == null) - record.setWeight(0.0); + 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.getStartTime() == null) - record.setStartTime(new Date()); + 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())); + } + } - record.setPublishTime(record.getStartTime()); + Integer dynamicType = record.getDynamicType(); + if (dynamicType == null) { + record.setDynamicType(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, "淇敼鍐呭宸蹭笉瀛樺湪"); + if (record.getShareNum() == null || record.getShareNum() <= 0) { + record.setShareNum((int) (Math.random() * 5000) + 1000); + } - 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.getWeight() == null) + record.setWeight(0.0); - /** - * 涓婁紶鍥剧墖 - * - * @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 (record.getStartTime() == null) + record.setStartTime(new Date()); - 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; - } + record.setPublishTime(record.getStartTime()); - 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; + 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, "淇敼鍐呭宸蹭笉瀛樺湪"); - BufferedImage sourceImg = ImageIO.read(inputStream); - ImgInfo info = new ImgInfo(); - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); + 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; + } - String picLink = COSManager.getInstance().uploadFile(file.getInputStream(), filePath).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(); + } - info.setH(height); - info.setW(width); - info.setUrl(picLink); - return info; - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } + private ImgInfo uploadVideoPicture(MultipartFile filevideo) { + try { + File tempFile = new File(FileUtil.getCacheDir() + "/" + filevideo.getOriginalFilename()); + if (tempFile.exists()) + tempFile.delete(); + tempFile.createNewFile(); + filevideo.transferTo(tempFile); + File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getOriginalFilename()); + // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1 + ImageCropUtil.centerCrop(tempFile, destFile, 2.0f); + BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile)); + ImgInfo info = new ImgInfo(); + int width = sourceImg.getWidth(); + int height = sourceImg.getHeight(); + String picLink = uploadPicture(destFile, filevideo.getContentType()); + info.setH(height); + info.setW(width); + info.setUrl(picLink); + return info; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } - private String uploadPicture(File file, String contentType) throws Exception { - InputStream inputStream = new FileInputStream(file); - String type = contentType.substring(contentType.indexOf("/") + 1); - String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "." - + type; - return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); - } + 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; - /** - * 鍒犻櫎鍥剧墖 - * - * @param record - * @throws Exception - */ - private void removePicture(String picture) throws Exception { - if (picture != null && picture.trim().length() > 0) { - COSManager.getInstance().deleteFile(picture); - } - } + BufferedImage sourceImg = ImageIO.read(inputStream); + ImgInfo info = new ImgInfo(); + int width = sourceImg.getWidth(); + int height = sourceImg.getHeight(); - @Override - public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum, - String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { - if (StringUtil.isNullOrEmpty(pid)) { - throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); - } + String picLink = COSManager.getInstance().uploadFile(file.getInputStream(), filePath).getUrl(); - GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); - if (resultObj == null) - throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); + info.setH(height); + info.setW(width); + info.setUrl(picLink); + return info; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } - // 鍘熷皝瑙嗛闈㈠浘 - ImgInfo imgVideo = null; - List<String> listDel = new ArrayList<String>(); - List<String> listOld = new ArrayList<String>(); + 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(); + } - // 澶勭悊鍥剧墖 - 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 picture + * @throws Exception + */ + private void removePicture(String picture) throws Exception { + if (picture != null && picture.trim().length() > 0) { + COSManager.getInstance().deleteFile(picture); + } + } - // 瑙嗛閮ㄥ垎 - 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()); - } - } + @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, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); + } - 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); - } - } - } + GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); + if (resultObj == null) + throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); - // 缂栬緫鍥剧墖 - 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); - } - } - } - } + // 鍘熷皝瑙嗛闈㈠浘 + ImgInfo imgVideo = null; + List<String> listDel = new ArrayList<String>(); + List<String> listOld = new ArrayList<String>(); - // 涓婁紶鏂囦欢鏇挎崲 - 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); - } - } - } - } + // 澶勭悊鍥剧墖 + 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()); + } + } + } + if (oldGoodsVO != null) { + oldGoodsVO.setCreatetime(null); + } - // 鎸囧畾涓诲浘 - if (picNum == null || picNum > 9 || picNum < 1) { - picNum = 1; - } + // 瑙嗛閮ㄥ垎 + 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()); + } + } - GoodsDetailVO goodsDetailVO = null; - JDGoods jdGoods = null; - PDDGoodsDetail pddGoods = null; - ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - 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); - } + 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 (goodsDetailVO == null) { - throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪"); - } + // 缂栬緫鍥剧墖 + 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> 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)); + // 涓婁紶鏂囦欢鏇挎崲 + 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); + } + } + } + } - 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++; - } - } + // 鎸囧畾涓诲浘 + if (picNum == null || picNum > 9 || picNum < 1) { + picNum = 1; + } - if (tempList.size() > 0) { - listImg.addAll(tempList); - } + 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(goodsId); + goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params); + } catch (TaobaoGoodsDownException e) { + throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); + } + } else if (goodsType == Constant.SOURCE_TYPE_JD) { + jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId); + goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(jdGoods, params); + } else if (goodsType == Constant.SOURCE_TYPE_PDD) { + pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); + goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params); + } - if (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)); - } - } + if (goodsDetailVO == null) { + throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪"); + } - 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; - } - } + goodsDetailVO.setCreatetime(null); - resultObj.setLineNum(lineNum); - resultObj.setGoods(goodsDetailVO); - resultObj.setMainPicNum(picNum); - resultObj.setImgList(listImg); + 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)); - 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); - } - } + 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++; + } + } - /* - * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = - * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment - * = false; } - */ + if (tempList.size() > 0) { + listImg.addAll(tempList); + } - String commentText = ""; - if (addComment) { - if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, Long.parseLong(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(Long.parseLong(goodsId), PinDuoDuoApiUtil.PID_SHARE + "", "1"); - if (jumpLink == null) { - throw new GoodsEvaluateException(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("[鍘熶环]", - // 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"); + 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; + } + } - 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); + resultObj.setLineNum(lineNum); + resultObj.setGoods(goodsDetailVO); + resultObj.setMainPicNum(picNum); + resultObj.setImgList(listImg); - // 鍒犻櫎鍥剧墖 - if (listDel.size() > 0) { - for (String url : listDel) { - if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { - removePicture(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().equalsIgnoreCase(goodsId) + && oldGoodsVO.getGoodsType() == goodsType) { + addComment = false; + } + continue; + } + commentsNew.add(commentInfo); + } + } - return commentText; - } + /* + * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = + * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment + * = false; } + */ - private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception { - String commentText = ""; - if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L,Long.parseLong(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; + String commentText = ""; + if (addComment) { + if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, 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(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); + } - 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, 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(Long.parseLong(goodsDetailVO.getGoodsId()), - PinDuoDuoApiUtil.PID_SHARE + "", "1"); - String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); - commentText = template.replace("[閾炬帴]", jumpLink); - } + // 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"); - commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString()); - if (!goodsDetailVO.isHasCoupon()) { - commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); - commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - } else { - commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString()); - } + CommentInfo commentInfo = new CommentInfo(); + commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); + commentInfo.setContent(commentText); + commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); + commentInfo.setNeedSpin(true); + commentsNew.add(commentInfo); + resultObj.setComments(commentsNew); + } + resultObj.setUpdateTime(new Date()); + goodsEvaluateDao.save(resultObj); - return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); - } + // 鍒犻櫎鍥剧墖 + if (listDel.size() > 0) { + for (String url : listDel) { + if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { + removePicture(url); + } + } + } - public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException { - GoodsDetailVO goodsDetail = null; - ConfigParamsDTO params = orderHongBaoMoneyComputeService.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; - } + return commentText; + } - @Override - public void saveMultipleGoods(String pid, String videoUrl, String goodsList, - MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { - if (StringUtil.isNullOrEmpty(pid)) { - throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); - } + private String createTokenAndLink(GoodsDetailVO goodsDetailVO, SystemEnum system) throws Exception { + String commentText = ""; + if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, 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; - GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); - if (resultObj == null) - throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); + 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, 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) { - // 鍘熷皝瑙嗛闈㈠浘 - ImgInfo imgVideo = null; - List<String> listDel = new ArrayList<String>(); - List<ImgInfo> oldGoodsList = new ArrayList<ImgInfo>(); + String sharePid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share); - // 澶勭悊鍥剧墖 - 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); - } - } - } + PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(goodsDetailVO.getGoodsId(), + sharePid, "1"); - // 瑙嗛閮ㄥ垎 - if (fileRequest != null) { - MultipartFile filevideo = fileRequest.getFile("filevideo"); - if (filevideo != null) { - if (StringUtil.isNullOrEmpty(videoUrl)) { - throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); - } + String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetail.getGoodsSign(), + sharePid, "1"); + String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(), system); + commentText = template.replace("[閾炬帴]", jumpLink); + } - ImgInfo info = uploadVideoPicture(filevideo); - if (info == null) - throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); + commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString()); + if (!goodsDetailVO.isHasCoupon()) { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); + } else { + commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString()); + } - 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()); - } - } + return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + } - 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); - } - } - } + public GoodsDetailVO getGoodsDetailVO(String 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); + } + if (goodsDetail != null) + goodsDetail.setCreatetime(null); + return goodsDetail; + } - 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; - } + @Override + public void saveMultipleGoods(String pid, String videoUrl, String goodsList, + MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { + if (StringUtil.isNullOrEmpty(pid)) { + throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); + } - String picUrl = goodsDetailVO.getPicUrl(); - if (fileRequest != null) { - MultipartFile file = fileRequest.getFile("file" + i); - if (file != null) { - picUrl = uploadPicture(file); - } - } + GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); + if (resultObj == 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); + // 鍘熷皝瑙嗛闈㈠浘 + ImgInfo imgVideo = null; + List<String> listDel = new ArrayList<String>(); + List<ImgInfo> oldGoodsList = new ArrayList<ImgInfo>(); - 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<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); + } + } + } - listImg.add(imgInfo0); - totalImg++; - } - } - } + // 瑙嗛閮ㄥ垎 + if (fileRequest != null) { + MultipartFile filevideo = fileRequest.getFile("filevideo"); + if (filevideo != null) { + if (StringUtil.isNullOrEmpty(videoUrl)) { + throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); + } - // 鏁版嵁瀵规瘮 鍒犻櫎鍥剧墖 - if (oldGoodsList != null && oldGoodsList.size() > 0) { - for (ImgInfo old : oldGoodsList) { - ImgEnum type = old.getType(); - if (type != ImgEnum.goods) { - continue; - } + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); - 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; - } + 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 (oldGoodsId .equalsIgnoreCase(newInfo.getGoods().getGoodsId()) - && oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) { - String url = newInfo.getUrl(); - if (url.equals(old.getUrl())) { + 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); + } + } + } - } else if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { - del = true; - } else { - newInfo.setUrl(old.getUrl()); - newInfo.setUrlHD(old.getUrlHD()); - } - break; - } - } + 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(g[0], Integer.parseInt(g[1]), resultObj.getSystem()); + if (goodsDetailVO == null) { + continue; + } - if (del) { - listDel.add(old.getUrl()); - } - } - } + String picUrl = goodsDetailVO.getPicUrl(); + if (fileRequest != null) { + MultipartFile file = fileRequest.getFile("file" + i); + if (file != null) { + picUrl = uploadPicture(file); + } + } - 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; - } - } + 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); - resultObj.setLineNum(lineNum); + 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); - // 淇濆瓨鍥剧墖淇℃伅 - resultObj.setImgList(listImg); - goodsEvaluateDao.save(resultObj); + listImg.add(imgInfo0); + totalImg++; + } + } + } - // 鍒犻櫎鍥剧墖 - if (listDel.size() > 0) { - for (String url : listDel) { - if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { - removePicture(url); - } - } - } - } + // 鏁版嵁瀵规瘮 鍒犻櫎鍥剧墖 + if (oldGoodsList != null && oldGoodsList.size() > 0) { + for (ImgInfo old : oldGoodsList) { + ImgEnum type = old.getType(); + if (type != ImgEnum.goods) { + continue; + } - @Override - public void saveGoodsComment(String id, int kind, List<CommentInfo> comments) - throws GoodsEvaluateException, Exception { - if (comments == null || comments.size() == 0) { - throw new GoodsEvaluateException(1, "鍐呭涓嶈兘涓虹┖"); - } + 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; + } - GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); - if (resultObj == null) - throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); + if (oldGoodsId.equalsIgnoreCase(newInfo.getGoods().getGoodsId()) + && oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) { + String url = newInfo.getUrl(); + if (url.equals(old.getUrl())) { - GoodsDetailVO goods = resultObj.getGoods(); - if (kind == 1 && goods == null) { - throw new GoodsEvaluateException(1, "璇峰厛褰曞叆鍟嗗搧淇℃伅"); - } + } else if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { + del = true; + } else { + newInfo.setUrl(old.getUrl()); + newInfo.setUrlHD(old.getUrlHD()); + } + break; + } + } - 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 (del) { + listDel.add(old.getUrl()); + } + } + } - 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, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴"); - } - } + 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; + } + } - if (StringUtil.isNullOrEmpty(commentInfo.getId())) { - commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); - } + resultObj.setLineNum(lineNum); - commentInfo.setNeedSpin(true); - commentInfo.setType(commentInfo.getTags()); - commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); - newList.add(commentInfo); - } - if (currencyCoupon != null) { - comments.add(currencyCoupon); - } + // 淇濆瓨鍥剧墖淇℃伅 + resultObj.setImgList(listImg); + goodsEvaluateDao.save(resultObj); - resultObj.setComments(comments); - resultObj.setUpdateTime(new Date()); - goodsEvaluateDao.save(resultObj); - } + // 鍒犻櫎鍥剧墖 + if (listDel.size() > 0) { + for (String url : listDel) { + if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { + removePicture(url); + } + } + } + } - @Override - public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) - throws GoodsEvaluateException, Exception { - if (StringUtil.isNullOrEmpty(pid)) { - throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); - } + @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, "鍐呭涓嶈兘涓虹┖"); + } - GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); - if (resultObj == null) - throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); + GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); + if (resultObj == null) + throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); - if (EvaluateEnum.activity != resultObj.getType()) { - if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { - throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�"); - } + GoodsDetailVO goods = resultObj.getGoods(); + if (kind == 1 && goods == null) { + throw new GoodsEvaluateException(1, "璇峰厛褰曞叆鍟嗗搧淇℃伅"); + } - if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) { - 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; + } + } + } - String tagUrl = commentInfo.getTagUrl(); - String content = commentInfo.getContent(); - if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) { - 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 endTime = commentInfo.getEndTime(); - if (!StringUtil.isNullOrEmpty(endTime)) { - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - sdf.parse(endTime); - } catch (Exception e) { - throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05"); - } - } else { - throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿"); - } - } + if (StringUtil.isNullOrEmpty(commentInfo.getId())) { + commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); + } - if (commentInfo.getNeedSpin() == null) { - commentInfo.setNeedSpin(false); - } + commentInfo.setNeedSpin(true); + commentInfo.setType(commentInfo.getTags()); + commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); + newList.add(commentInfo); + } + if (currencyCoupon != null) { + comments.add(currencyCoupon); + } - String content = commentInfo.getContent(); - if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) { - 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); + } - 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; - } - } - } + @Override + public void saveCurrencyCoupon(SystemEnum system, String pid, int kind, CommentInfo commentInfo) + throws GoodsEvaluateException, Exception { + if (StringUtil.isNullOrEmpty(pid)) { + throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); + } - if (commentInfo != null) { - if (currencyCoupon != null) { - commentInfo.setId(currencyCoupon.getId()); - } else { - commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); - } - // 鍒哥被鍨� + GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); + if (resultObj == null) + throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); - commentInfo.setType(commentInfo.getTags()); - commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon); + if (EvaluateEnum.activity != resultObj.getType()) { + if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { + 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); + if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) { + throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�"); + } - comments.add(commentInfo); - } + String tagUrl = commentInfo.getTagUrl(); + String content = commentInfo.getContent(); + if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) { + throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖"); + } - resultObj.setComments(comments); - goodsEvaluateDao.save(resultObj); - } + 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, "璇峰~鍐欏埜鎴鏃堕棿"); + } + } - @Override - public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest) - throws GoodsEvaluateException, Exception { - if (StringUtil.isNullOrEmpty(pid)) { - throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); - } + if (commentInfo.getNeedSpin() == null) { + commentInfo.setNeedSpin(false); + } - GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); - if (resultObj == null) - 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 (ConvertLinkException e) { + if (ConvertLinkException.CODE_NONE != e.getCode()) { + throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); + } + } catch (Exception e) { + throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); + } + } - if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { - 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; + } + } + } - 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 (commentInfo != null) { + if (currencyCoupon != null) { + commentInfo.setId(currencyCoupon.getId()); + } else { + commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); + } + // 鍒哥被鍨� - // 瑙嗛閮ㄥ垎 - 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()); - } - } + commentInfo.setType(commentInfo.getTags()); + commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon); - 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); - } - } - } + // 鏍囩淇℃伅 + 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 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; - } - } - } - } - } - } - } + comments.add(commentInfo); + } - // 涓婁紶鏂囦欢鏇挎崲 - 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); - } - } - } - } + resultObj.setComments(comments); + goodsEvaluateDao.save(resultObj); + } - 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; - } - } + @Override + public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest) + throws GoodsEvaluateException, Exception { + if (StringUtil.isNullOrEmpty(pid)) { + throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); + } - // 涓�寮犲浘鏄剧ず涓哄ぇ鍥� - if (tempList.size() == 1) { - tempList.get(0).setLarge(true); - } + GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); + if (resultObj == null) + throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); - if (tempList.size() > 0) { - listImg.addAll(tempList); - } + if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { + throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖"); + } - // 娓呯悊鑰佸浘鐗� - 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()); - } - } + 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); + } + } + } - resultObj.setJumpLink(activityUrl); - resultObj.setLineNum(lineNum); - resultObj.setImgList(listImg); - goodsEvaluateDao.save(resultObj); + // 瑙嗛閮ㄥ垎 + 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()); + } + } - // 鍒犻櫎鍥剧墖 - 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(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); + } + } + } - @Override - public void saveSuCai(String pid, String videoUrl, String picUrls, MultipartHttpServletRequest fileRequest) - throws GoodsEvaluateException, Exception { - if (StringUtil.isNullOrEmpty(pid)) { - throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); - } + 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; + } + } + } + } + } + } + } - GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); - if (resultObj == null) - throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); + // 涓婁紶鏂囦欢鏇挎崲 + 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); + } + } + } + } - // 鍘熷皝瑙嗛闈㈠浘 - ImgInfo imgVideo = null; - ImgInfo imgActivity = null; - List<String> listDel = new ArrayList<String>(); - List<String> listOld = new ArrayList<String>(); + 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; + } + } - 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; - } - } - } + // 涓�寮犲浘鏄剧ず涓哄ぇ鍥� + if (tempList.size() == 1) { + tempList.get(0).setLarge(true); + } - 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 (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); + } + + // 绱犳潗 + 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); + } + } + + @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); + + // 鏇存柊鍟嗗搧淇℃伅 + executor.execute(new Runnable() { + @Override + public void run() { + // 鏇存柊淇℃伅 + updateGoodInfo(list); + + // 鍒犻櫎宸茶繃鏈� + removeOverdue(); + + removeDownGoods(); + } + }); + + return list; + } + + @Override + public long countValid(SystemEnum system) { + return goodsEvaluateDao.countValid(1, system); + } - activityFile = fileRequest.getFile("activityFile"); - } + @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"); - List<ImgInfo> listImg = new ArrayList<ImgInfo>(); - if (imgVideo != null) { - if (!StringUtil.isNullOrEmpty(videoUrl)) { - if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) { - throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�"); - } + List<GoodsEvaluate> listNew = new ArrayList<>(); + for (GoodsEvaluate goodsEvaluate : list) { + GoodsEvaluate evaluateNew = new GoodsEvaluate(); + try { + PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); + } catch (Exception e) { + e.printStackTrace(); + continue; + } - imgVideo.setVideoUrl(videoUrl); - listImg.add(imgVideo); - } else { - String url = imgVideo.getUrl(); - if (!StringUtil.isNullOrEmpty(url)) { - listDel.add(url); - } - } - } + // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐�� + evaluateNew.setPublishTime(evaluateNew.getStartTime()); - if (activityFile != null) { - InputStream inputStream = activityFile.getInputStream(); - BufferedImage sourceImg = ImageIO.read(inputStream); - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); + List<CommentInfo> comments = evaluateNew.getComments(); + if (comments != null && comments.size() > 0) { + EvaluateEnum typeEnum = evaluateNew.getType(); + List<CommentInfo> commentNew = new ArrayList<>(); - String picLink = uploadPicture(activityFile); + boolean singleCoupn = true; + boolean currencyCoupon = true; + for (CommentInfo commentInfo : comments) { + if (StringUtil.isNullOrEmpty(commentInfo.getContent()) + && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { + continue; + } - 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); - } + CommentInfo commentInfoNew = new CommentInfo(); + try { + PropertyUtils.copyProperties(commentInfoNew, commentInfo); + } catch (Exception e) { + e.printStackTrace(); + continue; + } - // 缂栬緫鍥剧墖 - 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 (typeEnum != null && typeEnum == EvaluateEnum.single) { + GoodsDetailVO goods = evaluateNew.getGoods(); + goods.setCreatetime(null); + 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}", ""); + if (system == SystemEnum.yhqjx || system == SystemEnum.hsb) { + content = content.replace("\n", "<br>"); + } + 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}", ""); - // 涓婁紶鏂囦欢鏇挎崲 - 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); - } - } - } - } + commentInfoNew.setContent(content); + } - 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++; - } + CommentInfoEnum typeComment = commentInfoNew.getTypeEnum(); + if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) { + GoodsDetailVO goods = evaluateNew.getGoods(); + goods.setCreatetime(null); + if (goods != null && goods.isHasCoupon()) { + commentNew.add(commentInfoNew); + continue; + } + } - // 娓呯悊鑰佸浘鐗� - 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)); - } - } + 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); + } - 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; - } - } + 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; + } + } - resultObj.setLineNum(lineNum); - resultObj.setImgList(listImg); - goodsEvaluateDao.save(resultObj); + commentNew.add(commentInfoNew); + } + evaluateNew.setComments(commentNew); - // 鍒犻櫎鍥剧墖 - if (listDel.size() > 0) { - for (String url : listDel) { - if (url.contains(FilePathEnum.goodsEvaluate.getPath())) { - removePicture(url); - } - } - } - } + if (typeEnum != null && typeEnum == EvaluateEnum.single) { - @Override - public void deleteBatchByPrimaryKey(List<String> list) { - if (list == null || list.size() == 0) { - return; - } - for (String id : list) { - goodsEvaluateDao.deleteById(id); - } - } + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.share)) { + List<ImgInfo> imgList = evaluateNew.getImgList(); + if (imgList != null) { + for (ImgInfo imgInfo : imgList) { + imgInfo.setGoods(null); + if (imgInfo.getType() == ImgEnum.goods) + imgInfo.setType(ImgEnum.img); + } + } + } - @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 void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException { - GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid); - if (goodsEvaluate == null) { - throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�"); - } + if (!currencyCoupon && !singleCoupn) { // 鎵�鏈夊埜璇勮涓嬫灦 + GoodsDetailVO goods = evaluateNew.getGoods(); + if (goods != null) { + goods.setCreatetime(null); + goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦 + evaluateNew.setRemarks("璇勮楠岃瘉涓嬫灦"); + } - 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+"); - } + 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 (system == SystemEnum.yhqjx || system == SystemEnum.hsb) { + imgInfo.setGoods(null); + } + } - 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<>(); - } + listNew.add(evaluateNew); + } - Integer weight = commentInfo.getWeight(); - if (weight == null) - commentInfo.setWeight(1); + List<GoodsEvaluate> listOBJ = list; + // 鏇存柊鍟嗗搧淇℃伅 + executor.execute(new - comments.add(commentInfo); + Runnable() { + @Override + public void run() { + updateGoodInfo(listOBJ); - 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); + // 鍒犻櫎宸茶繃鏈� + removeOverdue(); - goodsEvaluate.setComments(comments); - goodsEvaluateDao.save(goodsEvaluate); - } + removeDownGoods(); + } + }); - @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); - } + return listNew; + } - @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, "鍔ㄦ�佸凡涓嶅瓨鍦�"); - } + @Override + public long countValidMaterials(int type, SystemEnum system) { + return goodsEvaluateDao.countValid(type, system); + } - List<CommentInfo> comments = goodsEvaluate.getComments(); - if (comments == null || comments.size() == 0) { - return; - } + /** + * 鏇存柊鍟嗗搧淇℃伅 + */ + public void updateGoodInfo(List<GoodsEvaluate> list) { + if (!Constant.IS_OUTNET) { + 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); - } + if (list == null || list.size() == 0) { + return; + } - @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); + try { + Date now = new Date(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Integer numReal = article.getShareNumReal(); - if (numReal == null) { - numReal = 0; - } - article.setShareNumReal(numReal + 1); + 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; + } + } - goodsEvaluateDao.save(article); - } - } + 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); // 娲诲姩杩囨湡 + } + } + } - @Override - public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, - String typeEnum) { - return goodsEvaluateDao.query(start, count, key, state, dynamicType, typeEnum); - } + } + } + } - @Override - public long count(String key, Integer state, int dynamicType, String typeEnum) { - return goodsEvaluateDao.count(key, state, dynamicType, typeEnum); - } + 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; + } - @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); - } + for (ImgInfo imgInfo : imgList) { + SimpleGoods simpleGoods = imgInfo.getGoods(); + if (simpleGoods == null) { + continue; + } - // 绱犳潗 - 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); - } - } + 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 - @Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start") - public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count) { - List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, 1); + private GoodsDetailVO getGoodsNewInfo(String goodsId, int goodsType, GoodsMoneyConfigParamsDTO 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(); + } - // 鏇存柊鍟嗗搧淇℃伅 - executor.execute(new Runnable() { - @Override - public void run() { - // 鏇存柊淇℃伅 - updateGoodInfo(list); + } 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; + } - // 鍒犻櫎宸茶繃鏈� - removeOverdue(); + @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, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); + } - removeDownGoods(); - } - }); + Date limitDate = DateUtil.reduceDay(new Date(), 7); - return list; - } + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId, limitDate); + if (evaluateList != null && evaluateList.size() > 0) + throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); - @Override - public long countValid() { - return goodsEvaluateDao.countValid(1); - } + TaoBaoGoodsBrief goodsBrief = null; + try { + goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); + } catch (TaobaoGoodsDownException e) { + throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); + } - @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"); + if (goodsBrief == null) { + throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�"); + } - List<GoodsEvaluate> listNew = new ArrayList<>(); - for (GoodsEvaluate goodsEvaluate : list) { - GoodsEvaluate evaluateNew = new GoodsEvaluate(); - try { - PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); - } catch (Exception e) { - e.printStackTrace(); - continue; - } + BigDecimal couponAmount = goodsBrief.getCouponAmount(); + if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) { + throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�"); + } - // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐�� - evaluateNew.setPublishTime(evaluateNew.getStartTime()); + // 鐧藉簳鍥� + List<String> imgs = new ArrayList<>(); - List<CommentInfo> comments = evaluateNew.getComments(); - if (comments != null && comments.size() > 0) { - EvaluateEnum typeEnum = evaluateNew.getType(); - List<CommentInfo> commentNew = new ArrayList<>(); + imgs.addAll(goodsBrief.getImgList()); - boolean singleCoupn = true; - boolean currencyCoupon = true; - for (CommentInfo commentInfo : comments) { - if (StringUtil.isNullOrEmpty(commentInfo.getContent()) - && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { - continue; - } + // 鍟嗗搧VO + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); - CommentInfo commentInfoNew = new CommentInfo(); - try { - PropertyUtils.copyProperties(commentInfoNew, commentInfo); - } catch (Exception e) { - e.printStackTrace(); - continue; - } + // 鍟嗗搧鍥剧墖淇℃伅 + int i = 0; + if (imgList == null) + imgList = new ArrayList<ImgInfo>(); - 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, ""); + 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++; + } - 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); - } + // 璇勮鍐呭 + 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()); + } - CommentInfoEnum typeComment = commentInfoNew.getTypeEnum(); - if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) { - GoodsDetailVO goods = evaluateNew.getGoods(); - if (goods != null && goods.isHasCoupon()) { - commentNew.add(commentInfoNew); - continue; - } - } + List<CommentInfo> commentsNew = new ArrayList<>(); + commentsNew.add(commentInfo); - 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); - } + // 涓�琛屾樉绀哄灏戜釜鍥剧墖 + 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; + } + } - 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; - } - } + 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); + } - 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("璇勮楠岃瘉涓嬫灦"); - } + @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); - List<ImgInfo> imgList = evaluateNew.getImgList(); - if (imgList != null) { - for (ImgInfo imgInfo : imgList) { - SimpleGoods simpleGoods = imgInfo.getGoods(); - if (simpleGoods != null) { - simpleGoods.setState(1); - simpleGoods.setRemarks("璇勮楠岃瘉涓嬫灦"); - } - } + String goodsId = goodsBrief.getAuctionId(); + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId + "", limitDate); + if (evaluateList != null && evaluateList.size() > 0) + throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); - } - } - } - } + if (imgs == null) { + imgs = new ArrayList<>(); + } + if (imgs.size() == 0) { + imgs.addAll(goodsBrief.getImgList()); + } - listNew.add(evaluateNew); - } + // 鍟嗗搧VO + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); - List<GoodsEvaluate> listOBJ = list; - // 鏇存柊鍟嗗搧淇℃伅 - executor.execute(new Runnable() { - @Override - public void run() { - updateGoodInfo(listOBJ); + // 鍟嗗搧鍥剧墖淇℃伅 + int i = 0; + List<ImgInfo> imgList = new ArrayList<>(); - // 鍒犻櫎宸茶繃鏈� - removeOverdue(); + 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++; + } - removeDownGoods(); - } - }); - return listNew; - } + // 鐢熸垚鍙d护 + String token = null; + try { + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), Constant.LINK_TOKEN_VERIFY_RELATION_ID, null); + token = taoBaoLink.getTaoToken(); + } catch (TaoBaoConvertLinkException e) { + e.printStackTrace(); + throw new GoodsEvaluateException(1, "杞摼澶辫触"); + } - @Override - public long countValidMaterials(int type) { - return goodsEvaluateDao.countValid(type); - } - /** - * 鏇存柊鍟嗗搧淇℃伅 - */ - public void updateGoodInfo(List<GoodsEvaluate> list) { - if (!Constant.IS_OUTNET) { - return; // 澶栫綉杩涜鏇存柊 - } + 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()); - if (list == null || list.size() == 0) { - return; - } + List<CommentInfo> commentsNew = new ArrayList<>(); + commentsNew.add(commentInfo); - try { - Date now = new Date(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - for (GoodsEvaluate goodsEvaluate : list) { - // 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊 - Date updateTime = goodsEvaluate.getUpdateTime(); - 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; - } - } + // 涓�琛屾樉绀哄灏戜釜鍥剧墖 + 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; + } + } - 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); // 娲诲姩杩囨湡 - } - } - } + 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; + } + } - } - } - } + if (zero) { + result = 1; + zeroPoint = 1; + startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(startTime) + " 22:00"); + } + } + } + } - 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; - } - for (ImgInfo imgInfo : imgList) { - SimpleGoods simpleGoods = imgInfo.getGoods(); - if (simpleGoods == null) { - continue; - } + 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; + } - 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); - } - } + @Resource + private DaTaoKeTipOffManager daTaoKeTipOffManager; - private GoodsDetailVO getGoodsNewInfo(String goodsId, int goodsType, ConfigParamsDTO 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 int addGoodsEvaluate(DaTaoKeListTopOffDTO dto, ActivityUser user, SystemEnum system) throws GoodsEvaluateException { + if (dto == null || user == null || system == 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; - } + String title = null; - @Override - public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment, - Date startTime) throws GoodsEvaluateException { - if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) { - throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); - } + try { + title = daTaoKeTipOffManager.convertLinkForEvaluateWithEncode(dto, system); + } catch (Exception e) { + throw new GoodsEvaluateException(1, "杞摼鍑洪敊"); + } - Date limitDate = DateUtil.reduceDay(new Date(), 7); - - List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId, limitDate); - if (evaluateList != null && evaluateList.size() > 0) - throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); - TaoBaoGoodsBrief goodsBrief = null; - try { - goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); - } catch (TaobaoGoodsDownException e) { - throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); - } + Date limitDate = DateUtil.reduceDay(new Date(), 7); - if (goodsBrief == null) { - throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�"); - } + String identifyCode = "dataoke-" + StringUtil.Md5(DaTaoKeTipOffUtil.getRecoomendDesc(dto)); - BigDecimal couponAmount = goodsBrief.getCouponAmount(); - if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) { - throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�"); - } + GoodsEvaluate evaluate = goodsEvaluateDao.selectExistLimitTime(identifyCode, limitDate); + if (evaluate != null) + throw new GoodsEvaluateException(1, "绾挎姤宸插瓨鍦�"); - // 鐧藉簳鍥� - List<String> imgs = new ArrayList<>(); - - imgs.addAll(goodsBrief.getImgList()); + List<String> imgs = new ArrayList<>(); + if (!StringUtil.isNullOrEmpty(dto.getPicUrls())) { + imgs.addAll(Arrays.asList(dto.getPicUrls().split(","))); + } - // 鍟嗗搧VO - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); + GoodsDetailVO goods = null; - // 鍟嗗搧鍥剧墖淇℃伅 - int i = 0; - if (imgList == null) - imgList = new ArrayList<ImgInfo>(); - - 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++; - } + //鑾峰彇鍥剧墖 + if (!StringUtil.isNullOrEmpty( dto.getItemIds())) { + Set<String> imgSet = new HashSet<>(); + imgSet.addAll(imgs); + String id = dto.getItemIds().split(",")[0]; + String source = dto.getPlatform(); + switch (source) { + case "娣樺疂": + try { + TaoBaoGoodsBrief goodsBrief = TaoKeApiUtil.searchGoodsDetail(id); + if (goodsBrief != null && goodsBrief.getImgList() != null) { + GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + goods = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params); + goods = goodsLijinMnager.loadTBMoneyInfo(system, null, goodsBrief, goods, false); + for (String img : goodsBrief.getImgList()) { + if (!imgSet.contains(img) && imgs.size() < 9) { + imgSet.add(img); + imgs.add(img); + } + } + } - // 璇勮鍐呭 - CommentInfo commentInfo = new CommentInfo(); - commentInfo.setNeedSpin(true); - commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); - commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); - if (!StringUtil.isNullOrEmpty(comment)) { - commentInfo.setContent(comment); - commentInfo.setType(""); - } else { - String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); - String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); - if (!goodsVO.isHasCoupon()) { - commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); - commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", - "\r\n"); - } - commentInfo.setContent(commentText); - commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); - } + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + break; + case "浜笢": { + JDGoods jdGoods = JDApiUtil.queryGoodsDetail(id); + if (jdGoods != null && jdGoods.getImageList() != null) { + GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + goods = GoodsDetailVOFactory.convertJDGoods(jdGoods, params); + goods = goodsLijinMnager.loadOtherMoneyInfo(system, null, CommonGoodsFactory.create(jdGoods), goods); + for (String img : jdGoods.getImageList()) { + if (!imgSet.contains(img) && imgs.size() < 9) { + imgSet.add(img); + imgs.add(img); + } + } + } + } + break; + case "鎷煎澶�": { + PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(id); + if (goodsDetail != null && goodsDetail.getGoodsGalleryUrls() != null) { + GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + goods = GoodsDetailVOFactory.convertPDDGoods(goodsDetail, params); + goods = goodsLijinMnager.loadOtherMoneyInfo(system, null, CommonGoodsFactory.create(goodsDetail), goods); - List<CommentInfo> commentsNew = new ArrayList<>(); - commentsNew.add(commentInfo); + for (String img : goodsDetail.getGoodsGalleryUrls()) { + if (!imgSet.contains(img) && imgs.size() < 9) { + imgSet.add(img); + imgs.add(img); + } + } + } + } + break; + default: + throw new GoodsEvaluateException(1, "涓嶆敮鎸佺殑source锛�" + source); + } + } - // 涓�琛屾樉绀哄灏戜釜鍥剧墖 - int lineNum = 0; - if (imgList.size() > 0) { - if (imgList.size() == 1) { - lineNum = 1; - } else if (imgList.size() == 3) { - lineNum = 3; - } else if (imgList.size() == 2 || imgList.size() == 4) { - lineNum = 2; - } else { - lineNum = 3; - } - } - GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); - goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", "")); - goodsEvaluate.setUser(user); - goodsEvaluate.setTitle(getDescNew(title)); - goodsEvaluate.setState(1); - goodsEvaluate.setDynamicType(1); - goodsEvaluate.setType(EvaluateEnum.single); - goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000); - goodsEvaluate.setShareNumReal(0); - goodsEvaluate.setWeight(0.0); - if (startTime == null) - startTime = new Date(); - goodsEvaluate.setStartTime(startTime); - goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date())); - goodsEvaluate.setPublishTime(new Date()); - goodsEvaluate.setCreateTime(new Date()); - goodsEvaluate.setUpdateTime(new Date()); - goodsEvaluate.setGoods(goodsVO); - goodsEvaluate.setLineNum(lineNum); - goodsEvaluate.setImgList(imgList); - goodsEvaluate.setComments(commentsNew); - goodsEvaluateDao.save(goodsEvaluate); - } + // 鍟嗗搧鍥剧墖淇℃伅 + 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); + imgInfo.setType(ImgEnum.img); + imgList.add(imgInfo); + } - - @Override - public void addGoodsEvaluate2(String goodsId, List<String> imgs, ActivityUser user, String title, String comment) throws GoodsEvaluateException { - if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) { - throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); - } + // 涓�琛屾樉绀哄灏戜釜鍥剧墖 + int lineNum = 3; + int result = 0; + int zeroPoint = 0; + Date startTime = new Date(); - Date limitDate = DateUtil.reduceDay(new Date(), 7); - - List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId, limitDate); - if (evaluateList != null && evaluateList.size() > 0) - throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); - TaoBaoGoodsBrief goodsBrief = null; - try { - goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); - } catch (TaobaoGoodsDownException e) { - throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); - } + GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); + goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", "")); + goodsEvaluate.setUser(user); + goodsEvaluate.setTitle(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()); + //绾挎姤涓嶆樉绀哄晢鍝� + if (goods != null && goods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { + goods.setCreatetime(null); + goodsEvaluate.setGoods(goods); + } + goodsEvaluate.setLineNum(lineNum); + goodsEvaluate.setImgList(imgList); + goodsEvaluate.setComments(null); + goodsEvaluate.setSystem(system); + goodsEvaluate.setIdentifyCode(identifyCode); + goodsEvaluateDao.save(goodsEvaluate); + return result; + } - if (goodsBrief == null) { - throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�"); - } + @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(); - BigDecimal couponAmount = goodsBrief.getCouponAmount(); - if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) { - throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�"); - } + List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subId, listId, 1); + if (list == null || list.size() == 0) { + return; + } - if (imgs == null) { - imgs = new ArrayList<>(); - } - if (imgs.size() == 0) { - imgs.addAll(goodsBrief.getImgList()); - } + for (int i = 0; i < list.size(); i++) { + boolean cerateGoods = addByDaTaoKeGoods(list.get(i), system); + if (cerateGoods) { + break; + } + } + } - // 鍟嗗搧VO - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); - // 鍟嗗搧鍥剧墖淇℃伅 - int i = 0; - List<ImgInfo> imgList = new ArrayList<ImgInfo>(); - - 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++; - } + @Override + public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe, SystemEnum system) { + try { + Date limitDate = DateUtil.reduceDay(new Date(), 7); - // 璇勮鍐呭 - CommentInfo commentInfo = new CommentInfo(); - commentInfo.setNeedSpin(true); - commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); - commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); - if (!StringUtil.isNullOrEmpty(comment)) { - commentInfo.setContent(comment); - commentInfo.setType(""); - } else { - String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); - String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); - if (!goodsVO.isHasCoupon()) { - commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); - commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", - "\r\n"); - } - commentInfo.setContent(commentText); - commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); - } + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, + daTaoKe.getGoodsId() + "", limitDate); + if (evaluateList != null && evaluateList.size() > 0) + return false; - List<CommentInfo> commentsNew = new ArrayList<>(); - commentsNew.add(commentInfo); + TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId()); + if (goodsBrief == null) { + return false; + } - // 涓�琛屾樉绀哄灏戜釜鍥剧墖 - 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; - } - } + BigDecimal couponAmount = goodsBrief.getCouponAmount(); + if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) { + return false; + } - 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); - } - - @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(Long.parseLong(goods.getGoodsId())); - } - } - } - // 鐑攢鍗曞搧鐨勫垎绫� - List<GoodsClass> listClass = DaTaoKeUtil.goodsClasses; - int ci = (int) (Math.random() * listClass.size()); - Long subId = listClass.get(ci).getId(); + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); - List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subId, listId, 1); - if (list == null || list.size() == 0) { - return; - } + 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(); + } - for (int i = 0; i < list.size(); i++) { - boolean cerateGoods = addByDaTaoKeGoods(list.get(i)); - if (cerateGoods) { - break; - } - } - } - - @Override - public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe) { - 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; + 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; + } - TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId()); - if (goodsBrief == null) { - return false; - } + if (descNew.endsWith("锛�")) { + descNew = descNew.substring(0, descNew.length() - 1); + } - BigDecimal couponAmount = goodsBrief.getCouponAmount(); - if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) { - return false; - } + 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); - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); - - 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(); - } - + List<String> goodsimgs = goodsBrief.getImgList(); - 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; - } + List<String> imgs = new ArrayList<>(); + imgs.addAll(goodsimgs); - if (descNew.endsWith("锛�")) { - descNew = descNew.substring(0, descNew.length() - 1); - } + 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); - 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()); + // TaoBaoLink taoBaoLink = + // shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, + // goodsVO.getGoodsId(), null); - List<String> goodsimgs = goodsBrief.getImgList(); + String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); - List<String> imgs = new ArrayList<>(); - imgs.addAll(goodsimgs); + 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"); + } - 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); + 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()); - // TaoBaoLink taoBaoLink = - // shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, - // goodsVO.getGoodsId(), null); + String text2 = ""; + String evaluateEmojis = configService.getValue(ConfigKeyEnum.evaluateEmojis.getKey(), system); + if (!StringUtil.isNullOrEmpty(evaluateEmojis)) { + text2 = evaluateEmojis + "\n"; + } - String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); + String evaluateText = configService.getValue(ConfigKeyEnum.evaluateText.getKey(), system); + if (!StringUtil.isNullOrEmpty(evaluateText)) { + text2 += evaluateText; + } - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); - String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); - if (!goodsVO.isHasCoupon()) { - commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); - commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n") - .replace("\r\n\r\n", "\r\n"); - } + String dtitle = daTaoKe.getDtitle(); + if (!StringUtil.isNullOrEmpty(dtitle)) { + text2 = text2 + dtitle + "\n"; + } else if (!StringUtil.isNullOrEmpty(evaluateText)) { + text2 += "\n"; + } + text2 += "鍏堥銆�" + couponAmount + "鍏冧紭鎯犲埜銆戜笅鍗�"; - 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()); + CommentInfo commentInfo2 = new CommentInfo(); + commentInfo2.setId(UUID.randomUUID().toString().replace("-", "")); + commentInfo2.setContent(text2); + commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon); + commentInfo2.setType(""); + commentInfo2.setNeedSpin(true); - String text2 = ""; - String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey()); - if (!StringUtil.isNullOrEmpty(evaluateEmojis)) { - text2 = evaluateEmojis + "\n"; - } + List<CommentInfo> commentsNew = new ArrayList<>(); + commentsNew.add(commentInfo); + commentsNew.add(commentInfo2); + goodsEvaluate.setComments(commentsNew); + } + imgList.add(imgInfo); + i++; + } - String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey()); - if (!StringUtil.isNullOrEmpty(evaluateText)) { - text2 += evaluateText; - } + 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); - String dtitle = daTaoKe.getDtitle(); - if (!StringUtil.isNullOrEmpty(dtitle)) { - text2 = text2 + dtitle + "\n"; - } else if (!StringUtil.isNullOrEmpty(evaluateText)) { - text2 += "\n"; - } - text2 += "鍏堥銆�" + couponAmount + "鍏冧紭鎯犲埜銆戜笅鍗�"; + goodsEvaluate.setGoods(goodsVO); + goodsEvaluate.setImgList(imgList); + goodsEvaluateDao.save(goodsEvaluate); + } catch (Exception e) { + e.printStackTrace(); + LogHelper.errorDetailInfo(e); + return false; + } + return true; + } - CommentInfo commentInfo2 = new CommentInfo(); - commentInfo2.setId(UUID.randomUUID().toString().replace("-", "")); - commentInfo2.setContent(text2); - commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon); - commentInfo2.setType(""); - commentInfo2.setNeedSpin(true); + /** + * 鍙戝湀鏍囬 鍔犲叆琛ㄦ儏 + * + * @param desc + * @return + */ + private String getDescNew(String desc) { + String[] split = desc.split("锛�"); + int max = 1; + if (Math.random() > 0.5) { + max = 2; + } + int e = 0; + String emojis = ""; + String descNew = ""; + if (split.length > 0) { + for (int i = 0; i < split.length; i++) { + if (Math.random() > 0.5 && e < max) { + for (int j = 0; j < 10; j++) { + String emojisTemp = DaTaoKeUtil.getEvaluateEmojis(); + if (!emojis.equals(emojisTemp)) { + emojis = emojisTemp; + break; + } + } + e++; + descNew += split[i] + emojis; + } else { + descNew += split[i] + "锛�"; + } + } + } else { + descNew = desc; + } - List<CommentInfo> commentsNew = new ArrayList<>(); - commentsNew.add(commentInfo); - commentsNew.add(commentInfo2); - goodsEvaluate.setComments(commentsNew); - } - imgList.add(imgInfo); - i++; - } + if (descNew.endsWith("锛�")) { + descNew = descNew.substring(0, descNew.length() - 1); + } + return descNew; + } - 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); + @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); + } - goodsEvaluate.setGoods(goodsVO); - goodsEvaluate.setImgList(imgList); - goodsEvaluateDao.save(goodsEvaluate); - } catch (Exception e) { - e.printStackTrace(); - LogHelper.errorDetailInfo(e); - return false; - } - return true; - } + } catch (Exception e) { + e.printStackTrace(); + } + } - /** - * 鍙戝湀鏍囬 鍔犲叆琛ㄦ儏 - * @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; - } + @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.getItemId() + "", system); + if (queryExist == null || queryExist.size() == 0) { + continue; + } - if (descNew.endsWith("锛�")) { - descNew = descNew.substring(0, descNew.length() - 1); - } - return descNew; - } + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO); - @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; - } + updateGoods(queryExist, goodsNew); + } + } - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); - updateGoods(queryExist, goodsNew); + @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; + } - } catch (Exception e) { - e.printStackTrace(); - } - } + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO); + updateGoods(queryExist, goodsNew); + } + } - @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; - } + @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; + } - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO); + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO); + updateGoods(queryExist, goodsNew); + } + } - updateGoods(queryExist, goodsNew); - } + @Override + public void updateDYGoods(DYGoodsDetail goods) { + if (goods == null) { + return; + } + for (SystemEnum system : SystemEnum.values()) { + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_DY, + goods.getProduct_id()+"", system); + if (queryExist == null || queryExist.size() == 0) { + continue; + } - @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; - } + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertDYGoods(goods, paramsDTO); + updateGoods(queryExist, goodsNew); + } + } - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO); - updateGoods(queryExist, goodsNew); - } + @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); + } + } - @Override - public void updateVIPGoods(VIPGoodsInfo goods) { - if (goods == null) { - return; - } - List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_VIP, - goods.getGoodsId()); - if (queryExist == null || queryExist.size() == 0) { - return; - } + private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) { + for (GoodsEvaluate goodsEvaluate : listExist) { + String goodsId = goodsNew.getGoodsId(); + int goodsType = goodsNew.getGoodsType(); - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO); - updateGoods(queryExist, goodsNew); - } + GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); + if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId().equalsIgnoreCase(goodsId) + && goodsDetailVO.getGoodsType() == goodsType) { + goodsEvaluate.setGoods(goodsNew); + } - @Override - public void updateSuningGoods(SuningGoodsInfo goods) { - if (goods == null) { - return; - } - List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_SUNING, - goods.getCommodityInfo().getCommodityCode()); - if (queryExist == null || queryExist.size() == 0) { - return; - } + // 鏇存柊鍟嗗搧淇℃伅 + List<ImgInfo> imgList = goodsEvaluate.getImgList(); + if (imgList == null || imgList.size() == 0) { + continue; + } - ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); - paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); - GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO); - updateGoods(queryExist, goodsNew); - } + for (ImgInfo imgInfo : imgList) { + SimpleGoods simpleGoods = imgInfo.getGoods(); + if (simpleGoods == null || !simpleGoods.getGoodsId().equalsIgnoreCase(goodsId) + || goodsType != simpleGoods.getGoodsType()) { + continue; + } - private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) { - String goodsId = goodsNew.getGoodsId(); - int goodsType = goodsNew.getGoodsType(); - for (GoodsEvaluate goodsEvaluate : listExist) { - GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); - if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId().equalsIgnoreCase(goodsId) - && goodsDetailVO.getGoodsType() == goodsType) { - goodsEvaluate.setGoods(goodsNew); - } + 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()); + } - // 鏇存柊鍟嗗搧淇℃伅 - List<ImgInfo> imgList = goodsEvaluate.getImgList(); - if (imgList == null || imgList.size() == 0) { - continue; - } + imgInfo.setGoods(simpleGoods); + imgInfo.setGoodsVO(goodsNew); + } - for (ImgInfo imgInfo : imgList) { - SimpleGoods simpleGoods = imgInfo.getGoods(); - if (simpleGoods == null || !simpleGoods.getGoodsId().equalsIgnoreCase(goodsId) - || goodsType != simpleGoods.getGoodsType()) { - continue; - } + goodsEvaluate.setImgList(imgList); + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluateDao.save(goodsEvaluate); + } + } - 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()); - } + @Override + public void offlineTaoBaoGoods(String goodsId) { + try { + if (goodsId == null) { + return; + } - imgInfo.setGoods(simpleGoods); - imgInfo.setGoodsVO(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(); + } + } - goodsEvaluate.setImgList(imgList); - goodsEvaluate.setUpdateTime(new Date()); - goodsEvaluateDao.save(goodsEvaluate); - } - } + @CacheEvict(value = "dynamicCache", allEntries = true) + public void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) { - @Override - public void offlineTaoBaoGoods(String goodsId) { - try { - if (goodsId == null) { - return; - } - List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO,goodsId); - if (list == null || list.size() == 0) { - return; - } + for (GoodsEvaluate goodsEvaluate : list) { + // 鍟嗗搧涓嬫灦 + GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); + goodsDetailVO.setState(1); - // 涓嬫灦鍟嗗搧 - offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId); - } catch (Exception e) { - e.printStackTrace(); - } - } + List<ImgInfo> imgList = goodsEvaluate.getImgList(); + if (imgList == null || imgList.size() == 0) { + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluateDao.save(goodsEvaluate); + continue; + } - @CacheEvict(value = "dynamicCache", allEntries = true) - private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) { + 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); - for (GoodsEvaluate goodsEvaluate : list) { - // 鍟嗗搧涓嬫灦 - GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); - goodsDetailVO.setState(1); + imgInfo.setGoods(simpleGoods); + imgInfo.setGoodsVO(goodsVO); + } - List<ImgInfo> imgList = goodsEvaluate.getImgList(); - if (imgList == null || imgList.size() == 0) { - goodsEvaluate.setUpdateTime(new Date()); - goodsEvaluateDao.save(goodsEvaluate); - continue; - } + goodsEvaluate.setImgList(imgList); + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluateDao.save(goodsEvaluate); + } + } - 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); + /** + * 鍒犻櫎宸茶繃鏈熸椂闂� + */ + private void removeOverdue() { + if (1 > 0) + return; - imgInfo.setGoods(simpleGoods); - imgInfo.setGoodsVO(goodsVO); - } + 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;// 涓�澶╃殑姣鏁� - goodsEvaluate.setImgList(imgList); - goodsEvaluate.setUpdateTime(new Date()); - goodsEvaluateDao.save(goodsEvaluate); - } - } + long time = java.lang.System.currentTimeMillis(); + for (GoodsEvaluate goodsEvaluate : list) { + long diff = time - goodsEvaluate.getEndTime().getTime(); + long min = diff % nd % nh / nm; - /** - * 鍒犻櫎宸茶繃鏈熸椂闂� - */ - private void removeOverdue() { - if (1 > 0) - return; + // 杩囨湡瓒呰繃10鍒嗛挓灏卞垹闄� + if (min > 10) { + goodsEvaluateDao.remove(goodsEvaluate); + } + } + } - 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;// 涓�澶╃殑姣鏁� + /** + * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧 + */ + private void removeDownGoods() { + if (1 > 0) + return; + try { + List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods(); + if (list == null || list.size() == 0) { + return; + } - long time = java.lang.System.currentTimeMillis(); - for (GoodsEvaluate goodsEvaluate : list) { - long diff = time - goodsEvaluate.getEndTime().getTime(); - long min = diff % nd % nh / nm; + for (GoodsEvaluate goodsEvaluate : list) { + goodsEvaluateDao.remove(goodsEvaluate); + } + } catch (Exception e) { + e.printStackTrace(); + } + } - // 杩囨湡瓒呰繃10鍒嗛挓灏卞垹闄� - if (min > 10) { - goodsEvaluateDao.remove(goodsEvaluate); - } - } - } - /** - * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧 - */ - private void removeDownGoods() { - if (1 > 0) - return; - try { - List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods(); - if (list == null || list.size() == 0) { - return; - } + @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; + } - for (GoodsEvaluate goodsEvaluate : list) { - goodsEvaluateDao.remove(goodsEvaluate); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public GoodsEvaluate queryExistSingle(String goodsId, int goodsType) { - List<GoodsEvaluate> list = goodsEvaluateDao.queryExistSingle(goodsType, goodsId); - if (list != null && list.size() > 0) - return list.get(0); - return null; - } - - } -- Gitblit v1.8.0