From 6414d11724795daec088f622e517d5df59a53e83 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期四, 23 四月 2020 01:54:53 +0800
Subject: [PATCH] 团队分红来源订单与用户映射相关服务实现
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 107 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 82 insertions(+), 25 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 3255708..7daa906 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,12 +42,13 @@
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;
@@ -60,6 +63,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;
@@ -131,6 +135,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;// 鎺ㄨ崘
@@ -245,9 +255,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));
@@ -362,12 +371,7 @@
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 (special.getStartTime() != null && special.getEndTime() != null) {
if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
list.remove(i--);
} else// 璁剧疆鍊掕鏃�
@@ -620,6 +624,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) {
@@ -799,7 +813,7 @@
// 鍗曞搧
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();
@@ -809,7 +823,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);
}
@@ -821,7 +835,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);
}
@@ -831,7 +846,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);
}
@@ -849,6 +865,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());
}
}
}
@@ -862,6 +880,13 @@
if (type == 3) {
shareCount++;
goodsEvaluateService.addShareNum(id);
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() { // 娣诲姞姣忔棩缁熻
+ dailyCountMomentsService.addShareClick();
+ }
+ });
}
if (list.size() == 0) {
@@ -879,7 +904,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;
@@ -888,8 +914,8 @@
} catch (ShareGoodsException e) {
e.printStackTrace();
}
- jumpLink = ShareControllerV2.getERCodeContentNew(
- configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()), taoBaoLink.getGoods(),
+ 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());
@@ -911,7 +937,7 @@
}
FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode,
- goodsVO);
+ mainPic, goodsVO);
if (uploadResult != null) {
return uploadResult.getUrl();
}
@@ -963,26 +989,57 @@
}
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() { // 娣诲姞姣忔棩缁熻
+ dailyCountMomentsService.addCopyComment();
+ }
+ });
}
}
--
Gitblit v1.8.0