From c3a5e164cbabbfc5f66e1356cb0de657ce3f58b9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 20 三月 2020 13:56:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 126 insertions(+), 25 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 2ca96d5..cd41e0c 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 @@ -166,6 +166,7 @@ record.setId(id); record.setShareNumReal(0); record.setCreateTime(new Date()); + record.setUpdateTime(new Date()); goodsEvaluateDao.save(record); } else { GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); @@ -179,6 +180,7 @@ resultObj.setStartTime(record.getStartTime()); resultObj.setEndTime(record.getEndTime()); resultObj.setTitle(tilte); + resultObj.setUpdateTime(new Date()); goodsEvaluateDao.save(resultObj); } return id; @@ -488,23 +490,29 @@ String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", "1"); String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); + if (jumpLink == null) { + throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�"); + } commentText = template.replace("[閾炬帴]", jumpLink); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", "1"); + if (jumpLink == null) { + throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�"); + } String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); commentText = template.replace("[閾炬帴]", jumpLink); } - 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("[鍘熶环]", 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"); CommentInfo commentInfo = new CommentInfo(); commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); @@ -513,6 +521,7 @@ commentsNew.add(commentInfo); resultObj.setComments(commentsNew); } + resultObj.setUpdateTime(new Date()); goodsEvaluateDao.save(resultObj); // 鍒犻櫎鍥剧墖 @@ -845,6 +854,7 @@ } resultObj.setComments(comments); + resultObj.setUpdateTime(new Date()); goodsEvaluateDao.save(resultObj); } @@ -1465,6 +1475,45 @@ return goodsEvaluateDao.count(key, state, dynamicType); } + + @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); + } + + // 绱犳潗 + 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); + } + } + + @Override @Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start") public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count) { @@ -1474,7 +1523,11 @@ executor.execute(new Runnable() { @Override public void run() { + // 鏇存柊淇℃伅 updateGoodInfo(list); + + // 鍒犻櫎宸茶繃鏈� + removeOverdue(); } }); @@ -1487,7 +1540,7 @@ } @Override -// @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type") + @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) { @@ -1498,7 +1551,6 @@ List<GoodsEvaluate> listNew = new ArrayList<>(); for (GoodsEvaluate goodsEvaluate : list) { - GoodsEvaluate evaluateNew = new GoodsEvaluate(); try { PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); @@ -1507,12 +1559,13 @@ continue; } - int comment = 0; List<CommentInfo> comments = evaluateNew.getComments(); if (comments != null && comments.size() > 0) { EvaluateEnum typeEnum = evaluateNew.getType(); List<CommentInfo> commentNew = new ArrayList<>(); + boolean singleCoupn = true; + boolean currencyCoupon = true; for (CommentInfo commentInfo : comments) { if (StringUtil.isNullOrEmpty(commentInfo.getContent()) && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { @@ -1527,7 +1580,25 @@ continue; } - comment++; + 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"); + commentInfoNew.setContent(content); + } + } + } + CommentInfoEnum typeComment = commentInfoNew.getTypeEnum(); if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) { GoodsDetailVO goods = evaluateNew.getGoods(); @@ -1558,9 +1629,11 @@ commentNew.add(commentInfoNew); continue; } else { + currencyCoupon = false; continue; } } else { + currencyCoupon = false; continue; } } @@ -1570,11 +1643,11 @@ evaluateNew.setComments(commentNew); if (typeEnum != null && typeEnum == EvaluateEnum.single) { - if (comment > 0 && commentNew.size() == 0) { // 鎵�鏈夊埜璇勮涓嬫灦 + if (!currencyCoupon && !singleCoupn) { // 鎵�鏈夊埜璇勮涓嬫灦 GoodsDetailVO goods = evaluateNew.getGoods(); if (goods != null) { goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦 - LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦1"); + evaluateNew.setRemarks("璇勮楠岃瘉涓嬫灦"); } List<ImgInfo> imgList = evaluateNew.getImgList(); @@ -1583,7 +1656,7 @@ SimpleGoods simpleGoods = imgInfo.getGoods(); if (simpleGoods != null) { simpleGoods.setState(1); - LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦2"); + simpleGoods.setRemarks("璇勮楠岃瘉涓嬫灦"); } } @@ -1601,6 +1674,9 @@ @Override public void run() { updateGoodInfo(listOBJ); + + // 鍒犻櫎宸茶繃鏈� + removeOverdue(); } }); @@ -1669,6 +1745,7 @@ if (goodsNew != null) { goodsEvaluate.setGoods(goodsNew); } else { + goodsEvaluate.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅"); goodsEvaluate.setState(0); // 宸插晢鍝佷笅鏋� goods.setState(1); goodsEvaluate.setGoods(goods); @@ -1701,6 +1778,7 @@ imgInfo.setGoods(simpleGoods); imgInfo.setGoodsVO(goodsDetailVO); } else { + simpleGoods.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅"); simpleGoods.setState(1); imgInfo.setGoods(simpleGoods); GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); @@ -2195,6 +2273,7 @@ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO); + updateGoods(queryExist, goodsNew); } @@ -2220,7 +2299,7 @@ for (GoodsEvaluate goodsEvaluate: listExist) { GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null - && goodsDetailVO.getGoodsId() == goodsId && goodsDetailVO.getGoodsType() == goodsType ) { + && goodsDetailVO.getGoodsId() == goodsId && goodsDetailVO.getGoodsType() == goodsType) { goodsEvaluate.setGoods(goodsNew); } @@ -2232,21 +2311,24 @@ for (ImgInfo imgInfo : imgList) { SimpleGoods simpleGoods = imgInfo.getGoods(); - if (simpleGoods == null) { + if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId + || goodsType != simpleGoods.getGoodsType()) { continue; } + simpleGoods.setState(0); - simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); - CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo(); + simpleGoods.setPrice(goodsNew.getCouponPrice()); + CouponInfoVO couponInfo = goodsNew.getCouponInfo(); if (couponInfo == null) { - simpleGoods.setPrice(goodsDetailVO.getZkPrice()); + simpleGoods.setPrice(goodsNew.getZkPrice()); } else { - simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); + simpleGoods.setPrice(goodsNew.getCouponPrice()); simpleGoods.setAmount(couponInfo.getAmount()); } + imgInfo.setGoods(simpleGoods); - imgInfo.setGoodsVO(goodsDetailVO); + imgInfo.setGoodsVO(goodsNew); } goodsEvaluate.setImgList(imgList); @@ -2255,5 +2337,24 @@ } } - + private void removeOverdue() { + List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue(); + if (list == null || list.size() == 0) { + return; + } + long nm = 1000 * 60;// 涓�鍒嗛挓鐨勬绉掓暟 + long nh = 1000 * 60 * 60;// 涓�灏忔椂鐨勬绉掓暟 + long nd = 1000 * 24 * 60 * 60;// 涓�澶╃殑姣鏁� + + long time = java.lang.System.currentTimeMillis(); + for (GoodsEvaluate goodsEvaluate: list) { + long diff = time - goodsEvaluate.getEndTime().getTime(); + long min = diff % nd % nh / nm; + + // 杩囨湡瓒呰繃10鍒嗛挓灏卞垹闄� + if (min > 10) { + goodsEvaluateDao.remove(goodsEvaluate); + } + } + } } -- Gitblit v1.8.0