From d3a5dfe218fdee554decdd58a3c995e03bc1dec1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 11 六月 2020 14:12:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 468 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 303 insertions(+), 165 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 7b8d9ce..c1dda2a 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
@@ -31,6 +31,8 @@
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.jd.JDCouponInfo;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
+import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
import com.yeshi.fanli.entity.dynamic.CommentInfo;
@@ -90,7 +92,7 @@
@Resource
private HongBaoManageService hongBaoManageService;
-
+
@Resource
private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
@@ -115,18 +117,17 @@
@Resource
private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
-
@Override
public void switchState(String id) throws GoodsEvaluateException {
if (id == null) {
throw new GoodsEvaluateException(1, "璇蜂紶閫掓纭弬鏁�");
}
-
+
GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
if (resultObj == null) {
throw new GoodsEvaluateException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�");
}
-
+
Integer state = resultObj.getState();
if (state == null || state == 0) {
state = 1;
@@ -135,8 +136,7 @@
}
goodsEvaluateDao.updateSatate(id, state);
}
-
-
+
@Override
public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
Integer state = record.getState();
@@ -163,7 +163,11 @@
if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
} else {
- record.setEndTime(DateUtil.plusDayDate(3, new Date()));
+ if (record.getStartTime() == null) {
+ record.setEndTime(DateUtil.plusDayDate(3, new Date()));
+ } else {
+ record.setEndTime(DateUtil.plusDayDate(3, record.getStartTime()));
+ }
}
Integer dynamicType = record.getDynamicType();
@@ -250,6 +254,31 @@
return null;
}
+ private ImgInfo uploadOriginalPicture(MultipartFile file) {
+ try {
+ InputStream inputStream = file.getInputStream();
+ String contentType = file.getContentType();
+ String type = contentType.substring(contentType.indexOf("/") + 1);
+ String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."
+ + type;
+
+ BufferedImage sourceImg = ImageIO.read(inputStream);
+ ImgInfo info = new ImgInfo();
+ int width = sourceImg.getWidth();
+ int height = sourceImg.getHeight();
+
+ String picLink = COSManager.getInstance().uploadFile(file.getInputStream(), filePath).getUrl();
+
+ info.setH(height);
+ info.setW(width);
+ info.setUrl(picLink);
+ return info;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
private String uploadPicture(File file, String contentType) throws Exception {
InputStream inputStream = new FileInputStream(file);
String type = contentType.substring(contentType.indexOf("/") + 1);
@@ -271,7 +300,7 @@
}
@Override
- public String saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum,
+ 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, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -392,16 +421,16 @@
params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
try {
- TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+ 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(goodsId);
+ jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(jdGoods, params);
} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
- pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
+ pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params);
}
@@ -471,7 +500,7 @@
lineNum = 1;
} else if (totalImg == 3) {
lineNum = 3;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -489,7 +518,7 @@
if (comments != null && comments.size() > 0) {
for (CommentInfo commentInfo : comments) {
if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
- if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue()
+ if (oldGoodsVO != null && oldGoodsVO.getGoodsId().equalsIgnoreCase(goodsId)
&& oldGoodsVO.getGoodsType() == goodsType) {
addComment = false;
}
@@ -508,7 +537,7 @@
String commentText = "";
if (addComment) {
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
- TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0");
+ 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) {
@@ -526,7 +555,7 @@
}
commentText = template.replace("[閾炬帴]", jumpLink);
} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
- String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", "1");
+ String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsId), PinDuoDuoApiUtil.PID_SHARE + "", "1");
if (jumpLink == null) {
throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
}
@@ -574,13 +603,13 @@
private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
String commentText = "";
if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
- TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsDetailVO.getGoodsId(), "0");
+ 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;
- JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsDetailVO.getGoodsId());
+ JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsDetailVO.getGoodsId()));
JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
if (couponInfo != null) {
couponUrl = couponInfo.getLink();
@@ -591,7 +620,7 @@
String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
commentText = template.replace("[閾炬帴]", jumpLink);
} else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
- String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetailVO.getGoodsId(),
+ String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsDetailVO.getGoodsId()),
PinDuoDuoApiUtil.PID_SHARE + "", "1");
String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
commentText = template.replace("[閾炬帴]", jumpLink);
@@ -771,7 +800,7 @@
}
boolean del = false;
- long oldGoodsId = old.getGoods().getGoodsId().longValue();
+ String oldGoodsId = old.getGoods().getGoodsId();
int oldGoodsType = old.getGoods().getGoodsType().intValue();
for (ImgInfo newInfo : listImg) {
ImgEnum type2 = old.getType();
@@ -779,7 +808,7 @@
continue;
}
- if (oldGoodsId == newInfo.getGoods().getGoodsId().longValue()
+ if (oldGoodsId .equalsIgnoreCase(newInfo.getGoods().getGoodsId())
&& oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) {
String url = newInfo.getUrl();
if (url.equals(old.getUrl())) {
@@ -806,7 +835,7 @@
lineNum = 1;
} else if (totalImg == 3) {
lineNum = 3;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -878,7 +907,7 @@
if (StringUtil.isNullOrEmpty(commentInfo.getId())) {
commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
}
-
+
commentInfo.setNeedSpin(true);
commentInfo.setType(commentInfo.getTags());
commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
@@ -893,7 +922,6 @@
goodsEvaluateDao.save(resultObj);
}
-
@Override
public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo)
throws GoodsEvaluateException, Exception {
@@ -901,36 +929,43 @@
throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
}
- if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
- throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
- }
+ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+ if (resultObj == null)
+ throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
- if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) {
- throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�");
- }
-
- String tagUrl = commentInfo.getTagUrl();
- String content = commentInfo.getContent();
- if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) {
- throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
- }
-
- String endTime = commentInfo.getEndTime();
- if (!StringUtil.isNullOrEmpty(endTime)) {
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- sdf.parse(endTime);
- } catch (Exception e) {
- throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05");
+ if (EvaluateEnum.activity != resultObj.getType()) {
+ if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+ throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
}
- } else {
- throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿");
+
+ if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) {
+ throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�");
+ }
+
+ String tagUrl = commentInfo.getTagUrl();
+ String content = commentInfo.getContent();
+ if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) {
+ throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
+ }
+
+ String endTime = commentInfo.getEndTime();
+ if (!StringUtil.isNullOrEmpty(endTime)) {
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ sdf.parse(endTime);
+ } catch (Exception e) {
+ throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05");
+ }
+ } else {
+ throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿");
+ }
}
if (commentInfo.getNeedSpin() == null) {
commentInfo.setNeedSpin(false);
}
-
+
+ String content = commentInfo.getContent();
if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) {
try {
convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
@@ -942,10 +977,6 @@
throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
}
}
-
- GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
- if (resultObj == null)
- throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
List<CommentInfo> comments = new ArrayList<>();
CommentInfo currencyCoupon = null;
@@ -997,7 +1028,7 @@
}
@Override
- public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest)
+ public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest)
throws GoodsEvaluateException, Exception {
if (StringUtil.isNullOrEmpty(pid)) {
throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -1007,121 +1038,171 @@
if (resultObj == null)
throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
- String videoPic = null;
- String activityPic = null;
+ if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
+ throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖");
+ }
+
ImgInfo imgVideo = null;
- ImgInfo imgactivity = null;
+ List<String> listDel = new ArrayList<String>();
+ List<ImgInfo> listOld = new ArrayList<ImgInfo>();
List<ImgInfo> resultList = resultObj.getImgList();
if (resultList != null && resultList.size() > 0) {
for (ImgInfo info : resultList) {
- if (info.getType() == ImgEnum.activity) {
- activityPic = info.getActivityPic();
- imgactivity = info;
- } else {
+ if (info.getType() == ImgEnum.video) {
imgVideo = info;
- videoPic = info.getUrl();
+ } else {
+ listOld.add(info);
}
}
}
- int width = 0;
- int height = 0;
- int width2 = 0;
- int height2 = 0;
- List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+ // 瑙嗛閮ㄥ垎
if (fileRequest != null) {
MultipartFile filevideo = fileRequest.getFile("filevideo");
if (filevideo != null) {
- removePicture(videoPic);
-
+ if (StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
+ throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
+ }
ImgInfo info = uploadVideoPicture(filevideo);
if (info == null)
throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
- videoPic = info.getUrl();
- width = info.getW();
- height = info.getH();
- }
-
- MultipartFile activityfile = fileRequest.getFile("activityfile");
- if (activityfile != null) {
- removePicture(activityPic);
- InputStream inputStream = activityfile.getInputStream();
- BufferedImage sourceImg = ImageIO.read(inputStream);
- width2 = sourceImg.getWidth();
- height2 = sourceImg.getHeight();
- String picLink = uploadPicture(activityfile);
- activityPic = picLink;
+ if (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 (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
- if (imgVideo != null) {
- imgVideo.setUrl(videoPic);
- imgVideo.setUrlHD(videoPic);
+ 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 {
- imgVideo = new ImgInfo();
- imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
- imgVideo.setLarge(true);
- imgVideo.setPid(pid);
- imgVideo.setUrl(videoPic);
- imgVideo.setUrlHD(videoPic);
- imgVideo.setVideoUrl(imgInfo.getVideoUrl());
- imgVideo.setType(ImgEnum.video);
+ String url = imgVideo.getUrl();
+ if (!StringUtil.isNullOrEmpty(url)) {
+ listDel.add(url);
+ }
}
- if (width > 0) {
- imgVideo.setW(width);
- imgVideo.setH(height);
- } else {
- imgVideo.setW(imgVideo.getW());
- imgVideo.setH(imgVideo.getH());
- }
- listImg.add(imgVideo);
}
- int totalImg = 0;
- if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
- if (imgactivity != null) {
- imgactivity.setUrl(activityPic);
- imgactivity.setUrlHD(activityPic);
- imgactivity.setActivityUrl(imgInfo.getActivityUrl());
- } else {
- imgactivity = new ImgInfo();
- imgactivity.setId(UUID.randomUUID().toString().replace("-", ""));
- imgactivity.setLarge(true);
- imgactivity.setPid(pid);
- imgactivity.setUrl(activityPic);
- imgactivity.setUrlHD(activityPic);
- imgactivity.setActivityUrl(imgInfo.getActivityUrl());
- imgactivity.setType(ImgEnum.activity);
+ String activityUrl = imgInfo.getActivityUrl();
+ // 缂栬緫鍥剧墖
+ List<ImgInfo> tempList = new ArrayList<ImgInfo>();
+ if (!StringUtil.isNullOrEmpty(picUrls)) {
+ String[] pics = picUrls.split(",");
+ if (pics != null) {
+ for (int i = 0; i < pics.length; i++) {
+ String picLink = pics[i];
+ if (picLink.startsWith("http")) {
+ if (listOld != null) {
+ for (ImgInfo info : listOld) {
+ if (info.getUrl().equals(picLink)) {
+ info.setActivityUrl(activityUrl);
+ tempList.add(info);
+ break;
+ }
+ }
+ }
+ }
+ }
}
- if (width2 > 0) {
- imgactivity.setW(width2);
- imgactivity.setH(height2);
- } else {
- imgactivity.setW(imgactivity.getW());
- imgactivity.setH(imgactivity.getH());
+ }
+
+ // 涓婁紶鏂囦欢鏇挎崲
+ 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);
+ }
+ }
}
- listImg.add(imgactivity);
- totalImg++;
}
int lineNum = 0;
+ int totalImg = tempList.size();
if (totalImg > 0) {
if (totalImg == 1) {
lineNum = 1;
} else if (totalImg == 3) {
lineNum = 3;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
}
}
+ // 涓�寮犲浘鏄剧ず涓哄ぇ鍥�
+ if (tempList.size() == 1) {
+ tempList.get(0).setLarge(true);
+ }
+
+ if (tempList.size() > 0) {
+ listImg.addAll(tempList);
+ }
+
+ // 娓呯悊鑰佸浘鐗�
+ if (listOld != null && listOld.size() > 0) {
+ for (ImgInfo infoOld : listOld) {
+ boolean del = true;
+ String oldPic = infoOld.getUrl();
+ for (ImgInfo info : listImg) {
+ if (info.getUrl().equals(oldPic)) {
+ del = false;
+ }
+ }
+ if (del)
+ listDel.add(infoOld.getUrl());
+ }
+ }
+
+ resultObj.setJumpLink(activityUrl);
resultObj.setLineNum(lineNum);
resultObj.setImgList(listImg);
goodsEvaluateDao.save(resultObj);
+
+ // 鍒犻櫎鍥剧墖
+ if (listDel.size() > 0) {
+ for (String url : listDel) {
+ if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+ removePicture(url);
+ }
+ }
+ }
}
@Override
@@ -1302,7 +1383,7 @@
lineNum = 1;
} else if (totalImg == 3) {
lineNum = 3;
- } else if (totalImg <= 4) {
+ } else if (totalImg == 2 || totalImg == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -1337,7 +1418,14 @@
public GoodsEvaluate getById(String id) {
return goodsEvaluateDao.getById(id);
}
+
+
+ @Override
+ public List<GoodsEvaluate> listByStartTime(Date date) {
+ return goodsEvaluateDao.listByStartTime(date);
+ }
+
@Override
public void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException {
GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid);
@@ -1454,13 +1542,14 @@
}
@Override
- public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) {
- return goodsEvaluateDao.query(start, count, key, state, dynamicType);
+ public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType,
+ String typeEnum) {
+ return goodsEvaluateDao.query(start, count, key, state, dynamicType, typeEnum);
}
@Override
- public long count(String key, Integer state, int dynamicType) {
- return goodsEvaluateDao.count(key, state, dynamicType);
+ public long count(String key, Integer state, int dynamicType, String typeEnum) {
+ return goodsEvaluateDao.count(key, state, dynamicType, typeEnum);
}
@Override
@@ -1514,7 +1603,7 @@
// 鍒犻櫎宸茶繃鏈�
removeOverdue();
-
+
removeDownGoods();
}
});
@@ -1548,7 +1637,7 @@
}
// 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐��
- goodsEvaluate.setPublishTime(goodsEvaluate.getStartTime());
+ evaluateNew.setPublishTime(evaluateNew.getStartTime());
List<CommentInfo> comments = evaluateNew.getComments();
if (comments != null && comments.size() > 0) {
@@ -1683,7 +1772,7 @@
// 鍒犻櫎宸茶繃鏈�
removeOverdue();
-
+
removeDownGoods();
}
});
@@ -1710,7 +1799,7 @@
try {
Date now = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
for (GoodsEvaluate goodsEvaluate : list) {
@@ -1736,7 +1825,7 @@
if (commentInfoEnum != null && commentInfoEnum == CommentInfoEnum.currencyCoupon) {
String endTime = commentInfo.getEndTime();
if (!StringUtil.isNullOrEmpty(endTime)) {
- Date endDay = sdf.parse(endTime);
+ Date endDay = format.parse(endTime);
if (endDay.getTime() < now.getTime()) {
goodsEvaluate.setState(0); // 娲诲姩杩囨湡
}
@@ -1805,12 +1894,12 @@
}
}
- private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
+ private GoodsDetailVO getGoodsNewInfo(String goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
GoodsDetailVO vo = null;
if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
TaoBaoGoodsBrief goods;
try {
- goods = redisManager.getTaoBaoGoodsBrief(goodsId);
+ goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
if (goods != null) {
vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
}
@@ -1819,12 +1908,12 @@
}
} else if (goodsType == Constant.SOURCE_TYPE_JD) {
- JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);
+ 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(goodsId);
+ PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
if (goodsInfo != null)
vo = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, paramsDTO);
}
@@ -1832,7 +1921,7 @@
}
@Override
- public void addGoodsEvaluate(Long goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment,
+ 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, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
@@ -1844,7 +1933,7 @@
TaoBaoGoodsBrief goodsBrief = null;
try {
- goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+ goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
} catch (TaobaoGoodsDownException e) {
throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
}
@@ -1917,8 +2006,9 @@
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");
- }
+ 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());
}
@@ -1933,7 +2023,7 @@
lineNum = 1;
} else if (imgList.size() == 3) {
lineNum = 3;
- } else if (imgList.size() <= 4) {
+ } else if (imgList.size() == 2 || imgList.size() == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -1973,7 +2063,7 @@
for (GoodsEvaluate goodsEvaluate : listExist) {
GoodsDetailVO goods = goodsEvaluate.getGoods();
if (goods != null && goods.getGoodsType() == 1) {
- listId.add(goods.getGoodsId());
+ listId.add(Long.parseLong(goods.getGoodsId()));
}
}
}
@@ -2071,7 +2161,6 @@
}
imgs.addAll(goodsimgs);
-
int i = 0;
List<ImgInfo> imgList = new ArrayList<>();
for (String img : imgs) {
@@ -2110,8 +2199,9 @@
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");
- }
+ 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);
@@ -2154,14 +2244,14 @@
imgList.add(imgInfo);
i++;
}
-
+
int lineNum = 0;
if (imgList.size() > 0) {
if (imgList.size() == 1) {
lineNum = 1;
} else if (imgList.size() == 3) {
lineNum = 3;
- } else if (imgList.size() <= 4) {
+ } else if (imgList.size() == 2 || imgList.size() == 4) {
lineNum = 2;
} else {
lineNum = 3;
@@ -2227,7 +2317,7 @@
return;
}
List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO,
- goods.getAuctionId());
+ goods.getAuctionId()+"");
if (queryExist == null || queryExist.size() == 0) {
return;
}
@@ -2247,7 +2337,7 @@
if (jdGoods == null) {
return;
}
- List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId());
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId()+"");
if (queryExist == null || queryExist.size() == 0) {
return;
}
@@ -2264,7 +2354,7 @@
if (pddGoods == null) {
return;
}
- List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId());
+ List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId()+"");
if (queryExist == null || queryExist.size() == 0) {
return;
}
@@ -2275,12 +2365,46 @@
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;
+ }
+
+ ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO);
+ updateGoods(queryExist, 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;
+ }
+
+ ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+ paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+ GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO);
+ updateGoods(queryExist, goodsNew);
+ }
+
private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) {
- long goodsId = goodsNew.getGoodsId();
+ String goodsId = goodsNew.getGoodsId();
int goodsType = goodsNew.getGoodsType();
for (GoodsEvaluate goodsEvaluate : listExist) {
GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
- if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId() == goodsId
+ if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId().equalsIgnoreCase(goodsId)
&& goodsDetailVO.getGoodsType() == goodsType) {
goodsEvaluate.setGoods(goodsNew);
}
@@ -2293,7 +2417,7 @@
for (ImgInfo imgInfo : imgList) {
SimpleGoods simpleGoods = imgInfo.getGoods();
- if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId
+ if (simpleGoods == null || !simpleGoods.getGoodsId().equalsIgnoreCase(goodsId)
|| goodsType != simpleGoods.getGoodsType()) {
continue;
}
@@ -2317,19 +2441,18 @@
goodsEvaluateDao.save(goodsEvaluate);
}
}
-
-
+
@Override
- public void offlineTaoBaoGoods(Long goodsId) {
+ public void offlineTaoBaoGoods(String goodsId) {
try {
if (goodsId == null) {
return;
}
- List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId);
+ List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO,goodsId);
if (list == null || list.size() == 0) {
return;
}
-
+
// 涓嬫灦鍟嗗搧
offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId);
} catch (Exception e) {
@@ -2338,13 +2461,13 @@
}
@CacheEvict(value = "dynamicCache", allEntries = true)
- private void offlineGoods(List<GoodsEvaluate> list, int goodsType, Long goodsId) {
-
+ private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) {
+
for (GoodsEvaluate goodsEvaluate : list) {
// 鍟嗗搧涓嬫灦
GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
goodsDetailVO.setState(1);
-
+
List<ImgInfo> imgList = goodsEvaluate.getImgList();
if (imgList == null || imgList.size() == 0) {
goodsEvaluate.setUpdateTime(new Date());
@@ -2361,7 +2484,7 @@
simpleGoods.setState(1);
GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
goodsVO.setState(1);
-
+
imgInfo.setGoods(simpleGoods);
imgInfo.setGoodsVO(goodsVO);
}
@@ -2371,12 +2494,14 @@
goodsEvaluateDao.save(goodsEvaluate);
}
}
-
/**
* 鍒犻櫎宸茶繃鏈熸椂闂�
*/
private void removeOverdue() {
+ if (1 > 0)
+ return;
+
List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue();
if (list == null || list.size() == 0) {
return;
@@ -2401,6 +2526,8 @@
* 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧
*/
private void removeDownGoods() {
+ if (1 > 0)
+ return;
try {
List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods();
if (list == null || list.size() == 0) {
@@ -2414,4 +2541,15 @@
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