From 9d6cbe54651bd3951036e611eabd47a713c91a86 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 26 五月 2020 12:34:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 212 +++++++++++++++++++++++----------------------------- 1 files changed, 95 insertions(+), 117 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 21482fb..5a2ea22 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,7 @@ 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.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; @@ -64,6 +65,7 @@ import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.cache.JDGoodsCacheUtil; import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; @@ -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(); @@ -253,21 +253,22 @@ } 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; - + 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); @@ -277,7 +278,6 @@ } return null; } - private String uploadPicture(File file, String contentType) throws Exception { InputStream inputStream = new FileInputStream(file); @@ -907,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); @@ -922,7 +922,6 @@ goodsEvaluateDao.save(resultObj); } - @Override public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) throws GoodsEvaluateException, Exception { @@ -930,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); @@ -971,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; @@ -1035,7 +1037,7 @@ GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); if (resultObj == null) throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); - + if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖"); } @@ -1053,7 +1055,7 @@ } } } - + // 瑙嗛閮ㄥ垎 if (fileRequest != null) { MultipartFile filevideo = fileRequest.getFile("filevideo"); @@ -1086,7 +1088,6 @@ } } - List<ImgInfo> listImg = new ArrayList<ImgInfo>(); if (imgVideo != null) { if (!StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) { @@ -1102,7 +1103,7 @@ } } } - + String activityUrl = imgInfo.getActivityUrl(); // 缂栬緫鍥剧墖 List<ImgInfo> tempList = new ArrayList<ImgInfo>(); @@ -1113,7 +1114,7 @@ String picLink = pics[i]; if (picLink.startsWith("http")) { if (listOld != null) { - for (ImgInfo info: listOld) { + for (ImgInfo info : listOld) { if (info.getUrl().equals(picLink)) { info.setActivityUrl(activityUrl); tempList.add(info); @@ -1126,7 +1127,6 @@ } } - // 涓婁紶鏂囦欢鏇挎崲 if (fileRequest != null) { for (int i = 0; i < 9; i++) { @@ -1139,7 +1139,7 @@ imgInfo0.setPid(pid); imgInfo0.setUrl(info.getUrl()); imgInfo0.setUrlHD(info.getUrl()); - imgInfo0.setType(ImgEnum.img); + imgInfo0.setType(ImgEnum.activity); imgInfo0.setW(info.getW()); imgInfo0.setH(info.getH()); imgInfo0.setActivityUrl(activityUrl); @@ -1148,10 +1148,10 @@ } else { tempList.add(imgInfo0); } - } + } } } - + int lineNum = 0; int totalImg = tempList.size(); if (totalImg > 0) { @@ -1165,19 +1165,19 @@ 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) { + for (ImgInfo infoOld : listOld) { boolean del = true; String oldPic = infoOld.getUrl(); for (ImgInfo info : listImg) { @@ -1189,12 +1189,12 @@ listDel.add(infoOld.getUrl()); } } - + resultObj.setJumpLink(activityUrl); resultObj.setLineNum(lineNum); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); - + // 鍒犻櫎鍥剧墖 if (listDel.size() > 0) { for (String url : listDel) { @@ -1535,7 +1535,8 @@ } @Override - public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum) { + 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); } @@ -1595,7 +1596,7 @@ // 鍒犻櫎宸茶繃鏈� removeOverdue(); - + removeDownGoods(); } }); @@ -1631,46 +1632,6 @@ // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐�� evaluateNew.setPublishTime(evaluateNew.getStartTime()); - - // 娲诲姩閾炬帴璺宠浆杩囨浮椤� - EvaluateEnum evaluateEnum = evaluateNew.getType(); - if (evaluateEnum != null && evaluateEnum == EvaluateEnum.activity) { - if (evaluateNew.getComments() != null && evaluateNew.getComments().size() > 0) { - String jumpLink = configService.get(ConfigKeyEnum.activityDetailLink.getKey()) + "?type=%s&id=%s"; - jumpLink = String.format(jumpLink, "circle", evaluateNew.getId()); - - if (!StringUtil.isNullOrEmpty(evaluateNew.getJumpLink())) { - evaluateNew.setJumpLink(jumpLink); - } - List<ImgInfo> imgListNew = new ArrayList<>(); - - List<ImgInfo> imgList = evaluateNew.getImgList(); - if (imgList != null && imgList.size() > 0) { - for (ImgInfo imgInfo: imgList) { - if (imgInfo.getType() != ImgEnum.img || imgInfo.getType() == ImgEnum.activity) { - ImgInfo imgInfoNew = new ImgInfo(); - try { - PropertyUtils.copyProperties(imgInfoNew, imgInfo); - } catch (Exception e) { - e.printStackTrace(); - continue; - } - - if (!StringUtil.isNullOrEmpty(imgInfoNew.getActivityUrl())) { - imgInfoNew.setActivityUrl(jumpLink); - } - - imgListNew.add(imgInfoNew); - continue; - } - imgListNew.add(imgInfo); - } - } - evaluateNew.setImgList(imgListNew); - } - } - - List<CommentInfo> comments = evaluateNew.getComments(); if (comments != null && comments.size() > 0) { EvaluateEnum typeEnum = evaluateNew.getType(); @@ -1804,7 +1765,7 @@ // 鍒犻櫎宸茶繃鏈� removeOverdue(); - + removeDownGoods(); } }); @@ -1831,7 +1792,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) { @@ -1857,7 +1818,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); // 娲诲姩杩囨湡 } @@ -2038,8 +1999,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()); } @@ -2192,7 +2154,6 @@ } imgs.addAll(goodsimgs); - int i = 0; List<ImgInfo> imgList = new ArrayList<>(); for (String img : imgs) { @@ -2231,8 +2192,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); @@ -2275,7 +2237,7 @@ imgList.add(imgInfo); i++; } - + int lineNum = 0; if (imgList.size() > 0) { if (imgList.size() == 1) { @@ -2396,6 +2358,23 @@ updateGoods(queryExist, goodsNew); } + @Override + public void updateVIPGoods(VIPGoodsInfo goods) { + if (goods == null) { + return; + } + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_VIP, + Long.parseLong(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); + } + private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) { long goodsId = goodsNew.getGoodsId(); int goodsType = goodsNew.getGoodsType(); @@ -2438,8 +2417,7 @@ goodsEvaluateDao.save(goodsEvaluate); } } - - + @Override public void offlineTaoBaoGoods(Long goodsId) { try { @@ -2450,7 +2428,7 @@ if (list == null || list.size() == 0) { return; } - + // 涓嬫灦鍟嗗搧 offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId); } catch (Exception e) { @@ -2460,12 +2438,12 @@ @CacheEvict(value = "dynamicCache", allEntries = true) private void offlineGoods(List<GoodsEvaluate> list, int goodsType, Long goodsId) { - + for (GoodsEvaluate goodsEvaluate : list) { // 鍟嗗搧涓嬫灦 GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); goodsDetailVO.setState(1); - + List<ImgInfo> imgList = goodsEvaluate.getImgList(); if (imgList == null || imgList.size() == 0) { goodsEvaluate.setUpdateTime(new Date()); @@ -2482,7 +2460,7 @@ simpleGoods.setState(1); GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); goodsVO.setState(1); - + imgInfo.setGoods(simpleGoods); imgInfo.setGoodsVO(goodsVO); } @@ -2492,15 +2470,14 @@ goodsEvaluateDao.save(goodsEvaluate); } } - /** * 鍒犻櫎宸茶繃鏈熸椂闂� */ private void removeOverdue() { - if(1>0) + if (1 > 0) return; - + List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue(); if (list == null || list.size() == 0) { return; @@ -2525,7 +2502,7 @@ * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧 */ private void removeDownGoods() { - if(1>0) + if (1 > 0) return; try { List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods(); @@ -2540,4 +2517,5 @@ e.printStackTrace(); } } + } -- Gitblit v1.8.0