From 2ec42a5aacea35d2918f0e17f07685cf5b4d25c8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 12 五月 2020 20:20:41 +0800 Subject: [PATCH] 包名引用路径更改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 214 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 173 insertions(+), 41 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java index 7a5328e..97e7398 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java @@ -12,6 +12,8 @@ import javax.annotation.Resource; +import org.apache.commons.beanutils.PropertyUtils; +import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -28,6 +30,7 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.homemodule.Special; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; @@ -41,18 +44,19 @@ import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.system.ConfigKeyEnum; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoLink; import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; import com.yeshi.fanli.exception.share.ShareGoodsException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.count.DailyCountMomentsService; import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService; import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService; import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; +import com.yeshi.fanli.service.inter.homemodule.SpecialExtraService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; @@ -62,6 +66,7 @@ import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.cache.JDGoodsCacheUtil; @@ -72,6 +77,7 @@ import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.vo.dynamic.ArticleVO; import com.yeshi.fanli.vo.goods.GoodsDetailVO; +import com.yeshi.fanli.vo.homemodule.SpecialVO; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import net.sf.json.JSONArray; @@ -133,6 +139,17 @@ @Resource private ShareGoodsService shareGoodsService; + + @Resource + private DailyCountMomentsService dailyCountMomentsService; + + @Resource + private SpecialExtraService specialExtraService; + + + + @Resource(name = "taskExecutor") + private TaskExecutor executor; private final static long TYPE_REXIAO = 1;// 鐑攢 private final static long TYPE_TUIJIAN = 2;// 鎺ㄨ崘 @@ -358,34 +375,48 @@ long time = System.currentTimeMillis(); // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑 + List<SpecialVO> listVo = new ArrayList<SpecialVO>(); for (int i = 0; i < list.size(); i++) { Special special = list.get(i); if (special.getState() == 1L) { - list.remove(i--); - } else { - if (special.getStartTime() != null && special.getEndTime() != null) - special.setTimeTask(true); - else - special.setTimeTask(false); - - if (special.isTimeTask()) { - if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { - list.remove(i--); - } else// 璁剧疆鍊掕鏃� - { - special.setCountDownTime((special.getEndTime().getTime() - time) / 1000); - } - } - - List<SpecialLabel> listLabels = special.getListLabels(); - if (listLabels != null && !listLabels.isEmpty()) { - List<ClientTextStyleVO> labels = new ArrayList<>(); - for (SpecialLabel specialLabel : listLabels) { - labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor())); - } - special.setLabels(labels); + continue; + } + + // 鏄惁娲诲姩宸茶繃鏈� + if (special.getStartTime() != null && special.getEndTime() != null) { + if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { + continue; + } else { + special.setCountDownTime((special.getEndTime().getTime() - time) / 1000); } } + + SpecialVO specialVO = new SpecialVO(); + try { + PropertyUtils.copyProperties(specialVO, special); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + // 璁剧疆鏍囩 + List<SpecialLabel> listLabels = specialVO.getListLabels(); + if (listLabels != null && !listLabels.isEmpty()) { + List<ClientTextStyleVO> labels = new ArrayList<>(); + for (SpecialLabel specialLabel : listLabels) { + labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor())); + } + specialVO.setLabels(labels); + } + + // 璇勮淇℃伅 + if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) { + SpecialExtra extra = specialExtraService.selectByPrimaryKey(specialVO.getId()); + if (extra != null && !StringUtil.isNullOrEmpty(extra.getComment())) { + specialVO.setComment(extra.getComment()); + } + } + listVo.add(specialVO); } long count = specialService.countByPlaceKeyList(listKey, platformCode, @@ -395,7 +426,7 @@ Gson gson = gsonBuilder.create(); JSONObject data = new JSONObject(); data.put("count", count); - data.put("list", gson.toJson(list)); + data.put("list", gson.toJson(listVo)); out.print(JsonUtil.loadTrueResult(data)); } @@ -628,8 +659,7 @@ return new JsonPrimitive(""); } else { // 淇濈暀2浣嶅皬鏁� - value = value.setScale(2); - return new JsonPrimitive(value.toString()); + return new JsonPrimitive(MoneyBigDecimalUtil.getWithNoZera(value) + ""); } } }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { @@ -821,7 +851,7 @@ continue; } - String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode); + String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl()); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } @@ -833,7 +863,8 @@ if (imgInfo.getGoodsVO() != null) if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue() && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) { - String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); + String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode, + imgInfo.getUrl()); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } @@ -843,7 +874,8 @@ } else if (type == 2 || type == 3) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getGoodsVO() != null) { - String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); + String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode, + imgInfo.getUrl()); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } @@ -861,6 +893,8 @@ else if (imgInfo.getType() == ImgEnum.activity) if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { list.add(imgInfo.getActivityPic()); + } else if (!StringUtil.isNullOrEmpty(imgInfo.getUrl())) { + list.add(imgInfo.getUrl()); } } } @@ -874,6 +908,13 @@ if (type == 3) { shareCount++; goodsEvaluateService.addShareNum(id); + + executor.execute(new Runnable() { + @Override + public void run() { // 娣诲姞姣忔棩缁熻 + dailyCountMomentsService.addShareClick(); + } + }); } if (list.size() == 0) { @@ -891,7 +932,8 @@ } } - private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode) { + private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode, + String mainPic) { String jumpLink = null; if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { TaoBaoLink taoBaoLink = null; @@ -901,7 +943,7 @@ e.printStackTrace(); } jumpLink = ShareControllerV2.getERCodeContentNew( - configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()), taoBaoLink.getGoods(), + configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), taoBaoLink.getGoods(), TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId()); @@ -923,7 +965,7 @@ } FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode, - goodsVO); + mainPic, goodsVO); if (uploadResult != null) { return uploadResult.getUrl(); } @@ -975,32 +1017,122 @@ } String text = ""; + CommentInfo comment = null; List<CommentInfo> comments = goodsEvaluate.getComments(); if (comments != null) { for (CommentInfo commentInfo : comments) { if (cid.equals(commentInfo.getId())) { text = commentInfo.getContent(); + comment = commentInfo; + break; } } } - String newText = text; - try { - newText = convertLinkManager.convertLinkFromText(text, uid, true); - } catch (ConvertLinkExceptionException e) { - if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { + String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇� + if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) { + try { + newText = convertLinkManager.convertLinkFromText(text, uid, true); + } catch (ConvertLinkExceptionException e) { + if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); return; } - } catch (Exception e) { - e.printStackTrace(); - out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + } + + // 鏇挎崲浠锋牸 + if (goodsEvaluate.getType() == EvaluateEnum.single) { + GoodsDetailVO goods = goodsEvaluate.getGoods(); + newText = newText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice()) + ""); + if (!goods.isHasCoupon()) { + newText = newText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + newText = newText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); + } else { + newText = newText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goods.getCouponPrice()) + ""); + } + newText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + } + + JSONObject data = new JSONObject(); + data.put("text", newText); + out.print(JsonUtil.loadTrueResult(data)); + + executor.execute(new Runnable() { + @Override + public void run() { // 娣诲姞姣忔棩缁熻 + dailyCountMomentsService.addCopyComment(); + } + }); + } + + /** + * 璇勮澶嶅埗-涓撻 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "copySpecialComment", method = RequestMethod.POST) + public void copySpecialComment(AcceptData acceptData, Long uid, Long id, PrintWriter out) { + if (uid == null || id == null) { + out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); return; + } + + SpecialExtra extra = specialExtraService.selectByPrimaryKey(id); + if (extra == null || StringUtil.isNullOrEmpty(extra.getComment())) { + out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } + + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } + + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); + + if (StringUtil.isNullOrEmpty(relationId)) { + out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } + + String text = extra.getComment(); + String newText = text; + if (extra.getNeedSpin() != null && extra.getNeedSpin()) { + try { + newText = convertLinkManager.convertLinkFromText(text, uid, true); + } catch (ConvertLinkExceptionException e) { + if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } } JSONObject data = new JSONObject(); data.put("text", newText); out.print(JsonUtil.loadTrueResult(data)); } + } -- Gitblit v1.8.0