From 651a15c78f668bef3859d9ed1bb7ad0b669d3600 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 03 七月 2020 17:52:07 +0800 Subject: [PATCH] 多APP优化 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 160 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 99 insertions(+), 61 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 f135d5e..0d29634 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 @@ -7,6 +7,7 @@ import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -16,6 +17,9 @@ import javax.annotation.Resource; import javax.imageio.ImageIO; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException; +import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager; import org.apache.commons.beanutils.PropertyUtils; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -51,6 +55,7 @@ import com.yeshi.fanli.exception.dynamic.ActivityUserException; import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException; import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; +import com.yeshi.fanli.exception.share.ShareGoodsException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.activity.ActivityUserService; @@ -67,6 +72,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; @@ -111,6 +117,9 @@ @Resource private ShareGoodsService shareGoodsService; + + @Resource + private TaoBaoLinkManager taoBaoLinkManager; @Resource private ConvertLinkManager convertLinkManager; @@ -291,7 +300,7 @@ /** * 鍒犻櫎鍥剧墖 * - * @param record + * @param picture * @throws Exception */ private void removePicture(String picture) throws Exception { @@ -302,7 +311,7 @@ @Override public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum, - String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { + String picUrls, SystemEnum system, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { if (StringUtil.isNullOrEmpty(pid)) { throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); } @@ -538,8 +547,8 @@ String commentText = ""; if (addComment) { if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0"); - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0",null); + String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsType == Constant.SOURCE_TYPE_JD) { String couponUrl = null; @@ -550,7 +559,7 @@ String materialId = "https://item.jd.com/" + goodsId + ".html"; String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", "1"); - String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); + String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system); if (jumpLink == null) { throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�"); } @@ -560,7 +569,7 @@ if (jumpLink == null) { throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�"); } - String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); + String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system); commentText = template.replace("[閾炬帴]", jumpLink); } @@ -601,11 +610,11 @@ return commentText; } - private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception { + private String createTokenAndLink(GoodsDetailVO goodsDetailVO,SystemEnum system) throws Exception { String commentText = ""; if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0"); - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0",null); + String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { String couponUrl = null; @@ -618,12 +627,12 @@ String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html"; String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", "1"); - String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); + String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system); commentText = template.replace("[閾炬帴]", jumpLink); } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) { String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsDetailVO.getGoodsId()), PinDuoDuoApiUtil.PID_SHARE + "", "1"); - String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); + String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system); commentText = template.replace("[閾炬帴]", jumpLink); } @@ -860,7 +869,7 @@ } @Override - public void saveGoodsComment(String id, int kind, List<CommentInfo> comments) + public void saveGoodsComment(String id, int kind, List<CommentInfo> comments,SystemEnum system) throws GoodsEvaluateException, Exception { if (comments == null || comments.size() == 0) { throw new GoodsEvaluateException(1, "鍐呭涓嶈兘涓虹┖"); @@ -893,7 +902,7 @@ String content = commentInfo.getContent(); if (StringUtil.isNullOrEmpty(content)) { if (i == 0 && kind == 1) { - content = createTokenAndLink(goods); + content = createTokenAndLink(goods,system); } else { continue; } @@ -1433,6 +1442,13 @@ @Override + public List<GoodsEvaluate> queryValidZeroPoint(int start, int count) { + return goodsEvaluateDao.queryValidZeroPoint(start, count); + } + + + + @Override public void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException { GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid); if (goodsEvaluate == null) { @@ -1928,7 +1944,7 @@ @Override public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment, - Date startTime) throws GoodsEvaluateException { + Date startTime,SystemEnum system) throws GoodsEvaluateException { if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) { throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); } @@ -2009,8 +2025,9 @@ commentInfo.setContent(comment); commentInfo.setType(""); } else { + goodsBrief.setCouponLink(null); String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); + String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); if (!goodsVO.isHasCoupon()) { commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); @@ -2063,34 +2080,19 @@ goodsEvaluateDao.save(goodsEvaluate); } + @Override - public void addGoodsEvaluate2(String goodsId, List<String> imgs, ActivityUser user, String title, String comment) throws GoodsEvaluateException { - if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) { + public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title,SystemEnum system) throws GoodsEvaluateException { + if (goodsBrief == null || user == null || StringUtil.isNullOrEmpty(title)) { throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖"); } - Date limitDate = DateUtil.reduceDay(new Date(), 7); - List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId, limitDate); + Long goodsId = goodsBrief.getAuctionId(); + List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId + "", limitDate); if (evaluateList != null && evaluateList.size() > 0) throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); - - TaoBaoGoodsBrief goodsBrief = null; - try { - goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); - } catch (TaobaoGoodsDownException e) { - throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); - } - - if (goodsBrief == null) { - throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�"); - } - - BigDecimal couponAmount = goodsBrief.getCouponAmount(); - if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) { - throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�"); - } if (imgs == null) { imgs = new ArrayList<>(); @@ -2137,27 +2139,33 @@ i++; } + + // 鐢熸垚鍙d护 + String token = null; + try { + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1",null); + token = taoBaoLink.getTaoToken(); + } catch (TaoBaoConvertLinkException e) { + e.printStackTrace(); + throw new GoodsEvaluateException(1, "杞摼澶辫触"); + } + + + String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); + 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 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()); - } + commentInfo.setContent(commentText); + commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); List<CommentInfo> commentsNew = new ArrayList<>(); commentsNew.add(commentInfo); @@ -2175,19 +2183,48 @@ lineNum = 3; } } - + + int result = 0; + int zeroPoint = 0; + // 鈽呮繁澶滃ぇ绂忓埄锛氬厛鎶㈠埜锛�0鐐瑰噯鏃朵笅鍗曗槄 + // 鍚繖绉嶆枃鏈殑瀹氫簬姣忔櫄10鐐瑰湪鍔ㄦ��-鍙戝湀 闆嗕腑鍙戯紝姣忔櫄10鐐瑰湪缇ゅ彂鍗曚腑鍙彂涓�鏉°�� + Date startTime = new Date(); + if (!StringUtil.isNullOrEmpty(title)) { + String value = configService.getValue(ConfigKeyEnum.evaluateZeroKey.getKey(),system); + if (!StringUtil.isNullOrEmpty(value)) { + List<String> asList = Arrays.asList(value.split(",")); + if (asList != null && asList.size() > 0) { + boolean zero = false; + for (String zerokey: asList) { + if(title.contains(zerokey)) { + zero = true; + break; + } + } + + if (zero) { + result = 1; + zeroPoint = 1; + startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(startTime) + " 22:00"); + } + } + } + } + + GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", "")); goodsEvaluate.setUser(user); goodsEvaluate.setTitle(getDescNew(title)); goodsEvaluate.setState(1); + goodsEvaluate.setZeroPoint(zeroPoint); goodsEvaluate.setDynamicType(1); goodsEvaluate.setType(EvaluateEnum.single); goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000); goodsEvaluate.setShareNumReal(0); goodsEvaluate.setWeight(0.0); - goodsEvaluate.setStartTime(new Date()); - goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date())); + goodsEvaluate.setStartTime(startTime); + goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, startTime)); goodsEvaluate.setPublishTime(new Date()); goodsEvaluate.setCreateTime(new Date()); goodsEvaluate.setUpdateTime(new Date()); @@ -2196,10 +2233,11 @@ goodsEvaluate.setImgList(imgList); goodsEvaluate.setComments(commentsNew); goodsEvaluateDao.save(goodsEvaluate); + return result; } @Override - public void addGoodsEvaluateByDaTaoKe() { + public void addGoodsEvaluateByDaTaoKe(SystemEnum system) { List<Long> listId = null; List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist(); if (listExist != null && listExist.size() > 0) { @@ -2222,7 +2260,7 @@ } for (int i = 0; i < list.size(); i++) { - boolean cerateGoods = addByDaTaoKeGoods(list.get(i)); + boolean cerateGoods = addByDaTaoKeGoods(list.get(i),system); if (cerateGoods) { break; } @@ -2231,7 +2269,7 @@ @Override - public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe) { + public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe,SystemEnum system) { try { Date limitDate = DateUtil.reduceDay(new Date(), 7); @@ -2350,7 +2388,7 @@ String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief); - String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); + String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system); String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); if (!goodsVO.isHasCoupon()) { commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); @@ -2367,12 +2405,12 @@ commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); String text2 = ""; - String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey()); + String evaluateEmojis = configService.getValue(ConfigKeyEnum.evaluateEmojis.getKey(),system); if (!StringUtil.isNullOrEmpty(evaluateEmojis)) { text2 = evaluateEmojis + "\n"; } - String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey()); + String evaluateText = configService.getValue(ConfigKeyEnum.evaluateText.getKey(),system); if (!StringUtil.isNullOrEmpty(evaluateText)) { text2 += evaluateText; } @@ -2617,7 +2655,7 @@ } @CacheEvict(value = "dynamicCache", allEntries = true) - private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) { + public void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) { for (GoodsEvaluate goodsEvaluate : list) { // 鍟嗗搧涓嬫灦 -- Gitblit v1.8.0