From c6b718c3cadf5e5fff4c2a47fd1247842439f8c7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 15 四月 2020 10:45:18 +0800 Subject: [PATCH] 团队消息 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 92 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 74 insertions(+), 18 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 a426347..be1839c 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 @@ -2,6 +2,7 @@ import java.io.PrintWriter; import java.lang.reflect.Type; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -11,6 +12,7 @@ import javax.annotation.Resource; +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; @@ -40,7 +42,6 @@ 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; @@ -61,6 +62,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; @@ -132,6 +134,12 @@ @Resource private ShareGoodsService shareGoodsService; + + // @Resource + // private DailyCountMomentsService dailyCountMomentsService; + + @Resource(name = "taskExecutor") + private TaskExecutor executor; private final static long TYPE_REXIAO = 1;// 鐑攢 private final static long TYPE_TUIJIAN = 2;// 鎺ㄨ崘 @@ -246,9 +254,8 @@ // 2.0.7杩斿洖鍙戝湀+娲诲姩+瀛﹂櫌+绱犳潗 list.add(map.get(TYPE_FAQUAN)); list.add(map.get(TYPE_HUODONG)); - // list.add(map.get(TYPE_XUEYUAN)); - list.add(map.get(TYPE_SUCAI)); - + list.add(map.get(TYPE_XUEYUAN)); + // list.add(map.get(TYPE_SUCAI)); } else if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) { // 2.0.6杩斿洖鐑攢+娲诲姩+鎺ㄨ崘+瀛﹂櫌+閭�璇� list.add(map.get(TYPE_REXIAO)); @@ -621,6 +628,16 @@ return new JsonPrimitive(value.getVlaue()); } } + }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + // 淇濈暀2浣嶅皬鏁� + return new JsonPrimitive(MoneyBigDecimalUtil.getWithNoZera(value) + ""); + } + } }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { @Override public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { @@ -810,7 +827,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); } @@ -822,7 +839,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); } @@ -832,7 +850,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); } @@ -850,6 +869,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()); } } } @@ -863,6 +884,14 @@ if (type == 3) { shareCount++; goodsEvaluateService.addShareNum(id); + + executor.execute(new Runnable() { + @Override + public void run() { // 娣诲姞姣忔棩缁熻 + // TODO + // dailyCountMomentsService.addShareClick(); + } + }); } if (list.size() == 0) { @@ -880,7 +909,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; @@ -912,7 +942,7 @@ } FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode, - goodsVO); + mainPic, goodsVO); if (uploadResult != null) { return uploadResult.getUrl(); } @@ -964,32 +994,58 @@ } 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("璇勮鐢熸垚澶辫触")); - return; + } + + // 鏇挎崲浠锋牸 + 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() { // 娣诲姞姣忔棩缁熻 + // TODO + // dailyCountMomentsService.addCopyComment(); + } + }); } } -- Gitblit v1.8.0