From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 06 五月 2020 12:02:09 +0800 Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 663 +++++++++++++++++++++++++++++------------------------- 1 files changed, 357 insertions(+), 306 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 39a473c..adb054c 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 @@ -17,6 +17,7 @@ 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; @@ -34,10 +35,8 @@ import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.dynamic.CommentInfo; import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum; -import com.yeshi.fanli.entity.dynamic.DynamicInfo; import com.yeshi.fanli.entity.dynamic.GoodsEvaluate; import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum; -import com.yeshi.fanli.entity.dynamic.GoodsPicture; import com.yeshi.fanli.entity.dynamic.ImgInfo; import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; import com.yeshi.fanli.entity.dynamic.SimpleGoods; @@ -55,6 +54,7 @@ import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; 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.goods.ConvertLinkManager; @@ -90,6 +90,9 @@ @Resource private HongBaoManageService hongBaoManageService; + + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; @Resource(name = "taskExecutor") private TaskExecutor executor; @@ -112,6 +115,28 @@ @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; + } else { + state = 0; + } + goodsEvaluateDao.updateSatate(id, state); + } + + @Override public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { Integer state = record.getState(); @@ -138,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(); @@ -339,8 +368,7 @@ } } } - - + // 涓婁紶鏂囦欢鏇挎崲 if (fileRequest != null) { for (int i = 0; i < 9; i++) { @@ -364,7 +392,7 @@ GoodsDetailVO goodsDetailVO = null; JDGoods jdGoods = null; PDDGoodsDetail pddGoods = null; - ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { try { @@ -447,7 +475,7 @@ lineNum = 1; } else if (totalImg == 3) { lineNum = 3; - } else if (totalImg <= 4) { + } else if (totalImg == 2 || totalImg == 4) { lineNum = 2; } else { lineNum = 3; @@ -476,8 +504,9 @@ } /* - * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if - * (couponInfo1 == null) { addComment = false; } + * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = + * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment + * = false; } */ String commentText = ""; @@ -509,21 +538,25 @@ 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("-", "")); commentInfo.setContent(commentText); commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); + commentInfo.setNeedSpin(true); commentsNew.add(commentInfo); resultObj.setComments(commentsNew); } @@ -581,7 +614,7 @@ public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException { GoodsDetailVO goodsDetail = null; - ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { try { @@ -732,8 +765,6 @@ } } } - - // 鏁版嵁瀵规瘮 鍒犻櫎鍥剧墖 if (oldGoodsList != null && oldGoodsList.size() > 0) { @@ -779,7 +810,7 @@ lineNum = 1; } else if (totalImg == 3) { lineNum = 3; - } else if (totalImg <= 4) { + } else if (totalImg == 2 || totalImg == 4) { lineNum = 2; } else { lineNum = 3; @@ -851,7 +882,8 @@ if (StringUtil.isNullOrEmpty(commentInfo.getId())) { commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); } - + + commentInfo.setNeedSpin(true); commentInfo.setType(commentInfo.getTags()); commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); newList.add(commentInfo); @@ -865,60 +897,7 @@ goodsEvaluateDao.save(resultObj); } - @Override - public void saveGoodsCoupon(String pid, String content) throws GoodsEvaluateException, Exception { - if (StringUtil.isNullOrEmpty(pid)) { - throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); - } - - GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); - if (resultObj == null) - throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); - - CommentInfo goodsCoupon = null; - CommentInfo currencyCoupon = null; - List<CommentInfo> oldComments = resultObj.getComments(); - if (oldComments != null) { - for (CommentInfo info : oldComments) { - if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) { - goodsCoupon = info; - } else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) { - currencyCoupon = info; - } - } - } - - List<CommentInfo> comments = new ArrayList<>(); - if (!StringUtil.isNullOrEmpty(content)) { - - if (!StringUtil.isNullOrEmpty(content)) { - try { - convertLinkManager.convertLinkFromText(content, 1L, true); - } catch (Exception e) { - throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴"); - } - } - - CommentInfo commentInfo = new CommentInfo(); - if (goodsCoupon != null) { - commentInfo.setId(goodsCoupon.getId()); - } else { - commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); - } - commentInfo.setContent(content); - commentInfo.setType(commentInfo.getTags()); - commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); - comments.add(commentInfo); - } - - if (currencyCoupon != null) { - comments.add(currencyCoupon); - } - - resultObj.setComments(comments); - goodsEvaluateDao.save(resultObj); - } - + @Override public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) throws GoodsEvaluateException, Exception { @@ -952,7 +931,11 @@ throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿"); } - if (!StringUtil.isNullOrEmpty(content) && kind != 3) { // 娲诲姩涓嶉獙璇� + if (commentInfo.getNeedSpin() == null) { + commentInfo.setNeedSpin(false); + } + + if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) { try { convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true); } catch (ConvertLinkExceptionException e) { @@ -1133,7 +1116,7 @@ lineNum = 1; } else if (totalImg == 3) { lineNum = 3; - } else if (totalImg <= 4) { + } else if (totalImg == 2 || totalImg == 4) { lineNum = 2; } else { lineNum = 3; @@ -1270,7 +1253,7 @@ } } } - + // 涓婁紶鏂囦欢鏇挎崲 if (fileRequest != null) { for (int i = 0; i < 9; i++) { @@ -1285,7 +1268,7 @@ } } } - + int totalImg = 0; for (String pic : listpic) { ImgInfo imgInfo0 = new ImgInfo(); @@ -1301,7 +1284,6 @@ totalImg++; } - // 娓呯悊鑰佸浘鐗� if (listOld != null && listOld.size() > 0) { for (int j = 0; j < listOld.size(); j++) { @@ -1324,7 +1306,7 @@ lineNum = 1; } else if (totalImg == 3) { lineNum = 3; - } else if (totalImg <= 4) { + } else if (totalImg == 2 || totalImg == 4) { lineNum = 2; } else { lineNum = 3; @@ -1485,14 +1467,13 @@ 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) { + for (GoodsEvaluate goodsEvaluate : list) { Integer shareNum = goodsEvaluate.getShareNum(); if (shareNum == null) { shareNum = 0; @@ -1504,12 +1485,12 @@ } catch (Exception e) { LogHelper.errorDetailInfo(e); } - + // 绱犳潗 try { List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(0, Integer.MAX_VALUE, 2); if (list != null) { - for (GoodsEvaluate goodsEvaluate: list) { + for (GoodsEvaluate goodsEvaluate : list) { Integer shareNum = goodsEvaluate.getShareNum(); if (shareNum == null) { shareNum = 0; @@ -1522,8 +1503,7 @@ LogHelper.errorDetailInfo(e); } } - - + @Override @Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start") public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count) { @@ -1535,9 +1515,11 @@ public void run() { // 鏇存柊淇℃伅 updateGoodInfo(list); - + // 鍒犻櫎宸茶繃鏈� removeOverdue(); + + removeDownGoods(); } }); @@ -1569,6 +1551,9 @@ continue; } + // 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐�� + goodsEvaluate.setPublishTime(goodsEvaluate.getStartTime()); + List<CommentInfo> comments = evaluateNew.getComments(); if (comments != null && comments.size() > 0) { EvaluateEnum typeEnum = evaluateNew.getType(); @@ -1595,20 +1580,35 @@ if (goods != null) { String content = commentInfoNew.getContent(); if (!StringUtil.isNullOrEmpty(content)) { - content = content.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice())+""); + content = content.replace("[鍘熶环]", + MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice()) + ""); if (goods.isHasCoupon()) { - content = content.replace("[鍒稿悗浠穄",MoneyBigDecimalUtil.getWithNoZera(goods.getCouponPrice())+""); + 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, ""); + 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); + } + CommentInfoEnum typeComment = commentInfoNew.getTypeEnum(); if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) { GoodsDetailVO goods = evaluateNew.getGoods(); @@ -1684,9 +1684,11 @@ @Override public void run() { updateGoodInfo(listOBJ); - + // 鍒犻櫎宸茶繃鏈� removeOverdue(); + + removeDownGoods(); } }); @@ -1713,7 +1715,7 @@ try { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); for (GoodsEvaluate goodsEvaluate : list) { // 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊 @@ -1834,53 +1836,55 @@ } @Override - public void addGoodsEvaluateByDynamicInfo(DynamicInfo info) { - if (1 > 0) { - return; // 鏆備笉鍚敤鑷姩鐢熸垚 + public void addGoodsEvaluate(Long 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, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); } - if (info == null) { + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId); + if (evaluateList != null && evaluateList.size() > 0) return; + + TaoBaoGoodsBrief goodsBrief = null; + try { + goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); + } catch (TaobaoGoodsDownException e) { + throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); } - try { - GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); - goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", "")); - ActivityUser user = info.getUser(); - goodsEvaluate.setUser(user); - goodsEvaluate.setState(1); - goodsEvaluate.setDynamicType(1); - goodsEvaluate.setType(EvaluateEnum.single); - goodsEvaluate.setLineNum(2); - goodsEvaluate.setShareNum(info.getShareCount()); - goodsEvaluate.setShareNumReal(0); - goodsEvaluate.setPublishTime(info.getCreateTime()); - goodsEvaluate.setCreateTime(new Date()); - goodsEvaluate.setUpdateTime(new Date()); - goodsEvaluate.setWeight(0.0); - goodsEvaluate.setStartTime(new Date()); - goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date())); + if (goodsBrief == null) { + throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�"); + } - List<ClientTextStyleVO> titles = info.getTitle(); - if (titles != null) { - goodsEvaluate.setTitle(info.getTitle().get(0).getContent()); - } else { - goodsEvaluate.setTitle(""); - } + BigDecimal couponAmount = goodsBrief.getCouponAmount(); + if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) { + throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�"); + } - List<ImgInfo> imgList = new ArrayList<>(); + // 鐧藉簳鍥� + List<String> imgs = new ArrayList<>(); + if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) { + imgs.add(goodsBrief.getPictUrlWhite()); + } + imgs.addAll(goodsBrief.getImgList()); - List<GoodsPicture> imgs = info.getImgs(); - for (GoodsPicture goodsPicture : imgs) { + // 鍟嗗搧VO + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); + + // 鍟嗗搧鍥剧墖淇℃伅 + int i = 0; + if (imgList == null || imgList.size() == 0) + for (String img : imgs) { ImgInfo imgInfo = new ImgInfo(); imgInfo.setH(1); imgInfo.setW(1); imgInfo.setLarge(false); - imgInfo.setUrl(goodsPicture.getUrl()); - imgInfo.setUrlHD(goodsPicture.getUrl()); - - GoodsDetailVO goodsVO = goodsPicture.getGoodsVO(); - if (goodsVO == null) { + imgInfo.setUrl(img); + imgInfo.setUrlHD(img); + if (i != 0) { imgInfo.setType(ImgEnum.img); } else { imgInfo.setType(ImgEnum.goods); @@ -1896,43 +1900,72 @@ simpleGoods.setAmount(couponInfo.getAmount()); } imgInfo.setGoods(simpleGoods); - - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), "0"); - -// TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsVO.getGoodsId(), null); - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); - String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); - - commentText = commentText.replace("[鍘熶环]", goodsVO.getZkPrice().toString()); - if (!goodsVO.isHasCoupon()) { - commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); - commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - } else { - commentText = commentText.replace("[鍒稿悗浠穄", goodsVO.getCouponPrice().toString()); - } - 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("-", "")); - commentInfo.setContent(commentText); - commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); - commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); - - List<CommentInfo> commentsNew = new ArrayList<>(); - commentsNew.add(commentInfo); - goodsEvaluate.setComments(commentsNew); - - goodsEvaluate.setGoods(goodsVO); - + imgInfo.setGoodsVO(goodsVO); } imgList.add(imgInfo); + i++; } - goodsEvaluate.setImgList(imgList); - goodsEvaluateDao.save(goodsEvaluate); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); + + // 璇勮鍐呭 + 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<CommentInfo> commentsNew = new ArrayList<>(); + commentsNew.add(commentInfo); + + // 涓�琛屾樉绀哄灏戜釜鍥剧墖 + 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); } @Override @@ -1978,7 +2011,7 @@ return false; } - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); // 鍙戝竷鐢ㄦ埛 @@ -2042,19 +2075,6 @@ } imgs.addAll(goodsimgs); - int lineNum = 0; - if (imgs.size() > 0) { - if (imgs.size() == 1) { - lineNum = 1; - } else if (imgs.size() == 3) { - lineNum = 3; - } else if (imgs.size() <= 4) { - lineNum = 2; - } else { - lineNum = 3; - } - } - goodsEvaluate.setLineNum(lineNum); int i = 0; List<ImgInfo> imgList = new ArrayList<>(); @@ -2091,18 +2111,14 @@ String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); - - commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice())+""); if (!goodsVO.isHasCoupon()) { commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - } else { - commentText = commentText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goodsVO.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("\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.setContent(commentText); commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); @@ -2118,32 +2134,46 @@ if (!StringUtil.isNullOrEmpty(evaluateText)) { text2 += evaluateText; } - + String dtitle = daTaoKe.getDtitle(); if (!StringUtil.isNullOrEmpty(dtitle)) { - text2 = text2 + dtitle +"\n"; + text2 = text2 + dtitle + "\n"; } else if (!StringUtil.isNullOrEmpty(evaluateText)) { text2 += "\n"; } - text2 += "鍏堥銆�"+ couponAmount +"鍏冧紭鎯犲埜銆戜笅鍗�"; - + text2 += "鍏堥銆�" + couponAmount + "鍏冧紭鎯犲埜銆戜笅鍗�"; + CommentInfo commentInfo2 = new CommentInfo(); commentInfo2.setId(UUID.randomUUID().toString().replace("-", "")); commentInfo2.setContent(text2); commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon); commentInfo2.setType(""); - - + commentInfo2.setNeedSpin(true); + List<CommentInfo> commentsNew = new ArrayList<>(); commentsNew.add(commentInfo); commentsNew.add(commentInfo2); goodsEvaluate.setComments(commentsNew); - - goodsEvaluate.setGoods(goodsVO); } 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() == 2 || imgList.size() == 4) { + lineNum = 2; + } else { + lineNum = 3; + } + } + goodsEvaluate.setLineNum(lineNum); + + goodsEvaluate.setGoods(goodsVO); goodsEvaluate.setImgList(imgList); goodsEvaluateDao.save(goodsEvaluate); } catch (Exception e) { @@ -2154,122 +2184,68 @@ return true; } - private String getDesc(String desc) { - System.out.println(desc); - String newDesc = ""; - int emoji = 0; - String content = desc.replace("锛�", ","); - while (content.length() > 0) { - int length = 0; - boolean end = true; - for (int i = 0; i < content.length(); i++) { - if (content.substring(0, i).length() >= 18) { - length = i; - end = false; - break; - } - } - - if (end) { - length = content.length(); - } - - String introduce = content.substring(0, length); - System.out.println(introduce); - if (verify(introduce)) { - if (emoji >= 4) { - introduce = introduce.replace(",", "\n"); // 闇�瑕佹崲琛� + /** + * 鍙戝湀鏍囬 鍔犲叆琛ㄦ儏 + * @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 { - emoji++; - introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji() + "\n"); // 闇�瑕佹崲琛� + descNew += split[i] + "锛�"; } } - - // 闅忔満鏇挎崲emoji - if (emoji <= 4 && Math.random() > 0.5) { - introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji()); - emoji++; - } - newDesc += introduce; - content = content.substring(length); + } else { + descNew = desc; } - return newDesc; + + if (descNew.endsWith("锛�")) { + descNew = descNew.substring(0, descNew.length() - 1); + } + return descNew; } - private boolean verify(String content) { - // 18涓瓧绗﹀唴锛堝寘鍚爣鐐逛篃绠椾竴涓瓧绗︼級鏈夊涓�楀彿锛屽垯涓嶆崲琛� - char d = ','; - int count = 0; - char chs[] = content.toCharArray();// 杞崲鎴恈har鏁扮粍 - for (int i = 0; i < chs.length; i++) { - if (d == chs[i]) { - count++; - } - } - if (count > 1) { - return false; - } - - // 涔﹀悕鍙凤紝澶ф嫭鍙凤紝灏忔嫭鍙烽噷闈㈢殑鍐呭涓嶆崲琛� - if (content.contains("[") && content.contains("]")) { - return false; - } else if (content.contains("銆�") && content.contains("銆�")) { - return false; - } else if (content.contains("{") && content.contains("}")) { - return false; - } else if (content.contains("(") && content.contains(")")) { - return false; - } - - int index = content.lastIndexOf(","); - // (闄ゅ紑閫楀彿浠ュ鐨勭鍙凤級鎰熷徆鍙�/鍙ュ彿/闂彿鍓嶉潰鏈夐�楀彿锛屼笉鎹㈣ - if (content.contains("!") && index < content.lastIndexOf("!")) { - return false; - } - - if (content.contains("锛�") && index < content.lastIndexOf("锛�")) { - return false; - } - - if (content.contains("銆�") && index < content.lastIndexOf("銆�")) { - return false; - } - - if (content.contains("?") && index < content.lastIndexOf("?")) { - return false; - } - - if (content.contains("锛�") && index < content.lastIndexOf("锛�")) { - return false; - } - - if (content.contains("锛�")) { - return false; - } - return true; - } - @Override public void updateTaoBaoGoods(TaoBaoGoodsBrief goods) { try { if (goods == null) { return; } - List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goods.getAuctionId()); + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, + goods.getAuctionId()); if (queryExist == null || queryExist.size() == 0) { return; } - - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); updateGoods(queryExist, goodsNew); - + } catch (Exception e) { e.printStackTrace(); } } - + @Override public void updateJDGoods(JDGoods jdGoods) { if (jdGoods == null) { @@ -2279,14 +2255,14 @@ if (queryExist == null || queryExist.size() == 0) { return; } - - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO); - + updateGoods(queryExist, goodsNew); } - + @Override public void updatePDDGoods(PDDGoodsDetail pddGoods) { if (pddGoods == null) { @@ -2296,23 +2272,23 @@ if (queryExist == null || queryExist.size() == 0) { return; } - - ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + + ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55"); paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO); updateGoods(queryExist, goodsNew); } - + private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) { long goodsId = goodsNew.getGoodsId(); int goodsType = goodsNew.getGoodsType(); - for (GoodsEvaluate goodsEvaluate: listExist) { + for (GoodsEvaluate goodsEvaluate : listExist) { GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods(); - if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null - && goodsDetailVO.getGoodsId() == goodsId && goodsDetailVO.getGoodsType() == goodsType) { + if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId() == goodsId + && goodsDetailVO.getGoodsType() == goodsType) { goodsEvaluate.setGoods(goodsNew); } - + // 鏇存柊鍟嗗搧淇℃伅 List<ImgInfo> imgList = goodsEvaluate.getImgList(); if (imgList == null || imgList.size() == 0) { @@ -2321,12 +2297,11 @@ for (ImgInfo imgInfo : imgList) { SimpleGoods simpleGoods = imgInfo.getGoods(); - if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId + if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId || goodsType != simpleGoods.getGoodsType()) { continue; } - simpleGoods.setState(0); simpleGoods.setPrice(goodsNew.getCouponPrice()); CouponInfoVO couponInfo = goodsNew.getCouponInfo(); @@ -2336,17 +2311,75 @@ simpleGoods.setPrice(goodsNew.getCouponPrice()); simpleGoods.setAmount(couponInfo.getAmount()); } - + imgInfo.setGoods(simpleGoods); imgInfo.setGoodsVO(goodsNew); } - + goodsEvaluate.setImgList(imgList); goodsEvaluate.setUpdateTime(new Date()); goodsEvaluateDao.save(goodsEvaluate); } } + + @Override + public void offlineTaoBaoGoods(Long goodsId) { + try { + if (goodsId == null) { + return; + } + 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) { + e.printStackTrace(); + } + } + + @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()); + goodsEvaluateDao.save(goodsEvaluate); + continue; + } + + 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); + + imgInfo.setGoods(simpleGoods); + imgInfo.setGoodsVO(goodsVO); + } + + goodsEvaluate.setImgList(imgList); + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluateDao.save(goodsEvaluate); + } + } + + + /** + * 鍒犻櫎宸茶繃鏈熸椂闂� + */ private void removeOverdue() { List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue(); if (list == null || list.size() == 0) { @@ -2355,16 +2388,34 @@ 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) { + for (GoodsEvaluate goodsEvaluate : list) { long diff = time - goodsEvaluate.getEndTime().getTime(); - long min = diff % nd % nh / nm; - + long min = diff % nd % nh / nm; + // 杩囨湡瓒呰繃10鍒嗛挓灏卞垹闄� if (min > 10) { goodsEvaluateDao.remove(goodsEvaluate); } } } + + /** + * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧 + */ + private void removeDownGoods() { + try { + List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods(); + if (list == null || list.size() == 0) { + return; + } + + for (GoodsEvaluate goodsEvaluate : list) { + goodsEvaluateDao.remove(goodsEvaluate); + } + } catch (Exception e) { + e.printStackTrace(); + } + } } -- Gitblit v1.8.0