From b3da9f82b7740d39742fef1a81a56c22fe1c8b9c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 08 六月 2020 17:27:02 +0800 Subject: [PATCH] 券后价调整 --- 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