From 6783b45620c1812c67f7d848586949b70b5bf973 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 16 四月 2020 15:27:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 138 ++++++++++++++++++++++++++++++++++------------
1 files changed, 102 insertions(+), 36 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..b467a7b 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,8 +42,8 @@
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;
@@ -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,15 @@
@Resource
private ConvertLinkManager convertLinkManager;
-
+
@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;// 鎺ㄨ崘
@@ -247,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));
@@ -600,7 +606,7 @@
try {
int type = 1;
- if (cid == TYPE_FAQUAN){
+ if (cid == TYPE_FAQUAN) {
type = 1;
} else if (cid == TYPE_SUCAI) {
type = 2;
@@ -611,7 +617,7 @@
if (list == null) {
list = new ArrayList<>();
}
-
+
GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
gsonBuilder.registerTypeAdapter(ImgEnum.class, new JsonSerializer<ImgEnum>() {
@Override
@@ -620,6 +626,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 +693,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 +727,7 @@
out.print(JsonUtil.loadFalseResult(1, "鏌ヨ淇℃伅澶辫触"));
LogHelper.errorDetailInfo(e);
}
-
+
}
/**
@@ -797,16 +817,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 +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);
}
@@ -828,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);
}
@@ -841,10 +864,13 @@
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());
+ } else if (!StringUtil.isNullOrEmpty(imgInfo.getUrl())) {
+ list.add(imgInfo.getUrl());
}
}
}
@@ -858,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) {
@@ -875,8 +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;
@@ -885,8 +919,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.taobaoShareQrcodeText.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 +942,13 @@
}
FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode,
- goodsVO);
+ mainPic, goodsVO);
if (uploadResult != null) {
return uploadResult.getUrl();
}
return null;
}
-
/**
* 璇勮澶嶅埗
*
@@ -960,26 +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;
}
}
}
- try {
- text = convertLinkManager.convertLinkFromText(text, uid, true);
- } catch (Exception e) {
- e.printStackTrace();
- out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
- return;
+ 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;
+ }
+ }
+
+ // 鏇挎崲浠锋牸
+ 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));
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() { // 娣诲姞姣忔棩缁熻
+ // TODO
+ // dailyCountMomentsService.addCopyComment();
+ }
+ });
}
}
--
Gitblit v1.8.0