From 88c7df1d5089d8e39f356a68eaccc18f308e190c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 24 三月 2020 12:10:07 +0800 Subject: [PATCH] Merge branch 'div' into div-1 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 97 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 66 insertions(+), 31 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 8c1f598..c859a73 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; @@ -42,6 +43,7 @@ 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; @@ -60,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; @@ -128,11 +131,9 @@ @Resource private ConvertLinkManager convertLinkManager; - + @Resource private ShareGoodsService shareGoodsService; - - private final static long TYPE_REXIAO = 1;// 鐑攢 private final static long TYPE_TUIJIAN = 2;// 鎺ㄨ崘 @@ -247,9 +248,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)); @@ -600,7 +600,7 @@ try { int type = 1; - if (cid == TYPE_FAQUAN){ + if (cid == TYPE_FAQUAN) { type = 1; } else if (cid == TYPE_SUCAI) { type = 2; @@ -611,7 +611,7 @@ if (list == null) { list = new ArrayList<>(); } - + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); gsonBuilder.registerTypeAdapter(ImgEnum.class, new JsonSerializer<ImgEnum>() { @Override @@ -620,6 +620,16 @@ return new JsonPrimitive(""); } else { 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>() { @@ -677,27 +687,31 @@ }); Gson gson = gsonBuilder.create(); long count = goodsEvaluateService.countValidMaterials(type); - + JSONArray jsonArray = new JSONArray(); - + String listStr = gson.toJson(list); JSONArray array = JSONArray.fromObject(listStr); - for (int i = 0; i< array.size() ; i++) { + for (int i = 0; i < array.size(); i++) { Object object = array.get(i); JSONObject json = JSONObject.fromObject(object); Object shareNum = json.get("shareNum"); if (shareNum != null) { int num = Integer.parseInt(shareNum.toString()); - if (num >= 10000) { + + if (num >= 100000000) { + double sales = num; + String salesCountMidea = String.format("%.1f", sales / 100000000); + json.put("shareNum", salesCountMidea + "浜�"); + } else if (num >= 10000) { double sales = num; String salesCountMidea = String.format("%.1f", sales / 10000); json.put("shareNum", salesCountMidea + "涓�"); - } + } } jsonArray.add(json); } - - + JSONObject data = new JSONObject(); data.put("count", count); data.put("list", jsonArray); @@ -707,7 +721,7 @@ out.print(JsonUtil.loadFalseResult(1, "鏌ヨ淇℃伅澶辫触")); LogHelper.errorDetailInfo(e); } - + } /** @@ -797,16 +811,17 @@ // 鍗曞搧 if (goodsEvaluate.getType() == EvaluateEnum.single) { for (ImgInfo imgInfo : imgs) { - if ( type == 3 && imgInfo.getType() == ImgEnum.video) + if (imgInfo.getType() == ImgEnum.video) continue; - + GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); if (goodsVO == null) { - list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); + list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() + : imgInfo.getUrlHD()); continue; } - String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode); + String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl()); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } @@ -818,7 +833,7 @@ 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); } @@ -828,7 +843,7 @@ } 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); } @@ -841,7 +856,8 @@ if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) continue; if (imgInfo.getType() == ImgEnum.img) - list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); + list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() + : imgInfo.getUrlHD()); else if (imgInfo.getType() == ImgEnum.activity) if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { list.add(imgInfo.getActivityPic()); @@ -875,8 +891,7 @@ } } - - 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; @@ -885,8 +900,9 @@ } catch (ShareGoodsException e) { e.printStackTrace(); } - jumpLink = ShareControllerV2.getERCodeContentNew(configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()), - taoBaoLink.getGoods(), TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); + jumpLink = ShareControllerV2.getERCodeContentNew( + configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()), taoBaoLink.getGoods(), + TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId()); if (jdGoods == null) { @@ -907,14 +923,13 @@ } FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode, - goodsVO); + mainPic, goodsVO); if (uploadResult != null) { return uploadResult.getUrl(); } return null; } - /** * 璇勮澶嶅埗 * @@ -969,16 +984,36 @@ } } + String newText = text; try { - text = convertLinkManager.convertLinkFromText(text, uid, true); + newText = convertLinkManager.convertLinkFromText(text, uid, true); + } catch (ConvertLinkExceptionException e) { + if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { + 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", text); + data.put("text", newText); out.print(JsonUtil.loadTrueResult(data)); } -- Gitblit v1.8.0