From f862a844ea7e212f8cc0622b858308e2b91dca2e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 04 七月 2020 16:35:50 +0800
Subject: [PATCH] 后台管理相关Controller注入系统
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 401 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 302 insertions(+), 99 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 d8abe36..db30b9f 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
@@ -1,24 +1,35 @@
package com.yeshi.fanli.controller.client.v2;
+import java.io.IOException;
+import java.io.InputStream;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
+import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
import javax.annotation.Resource;
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
+import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
+import com.yeshi.fanli.util.*;
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;
+import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.QRCodeUtil;
import org.yeshi.utils.entity.FileUploadResult;
+import org.yeshi.utils.tencentcloud.COSManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -64,16 +75,14 @@
import com.yeshi.fanli.service.inter.user.QrCodeService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.cloud.UserCloudService;
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;
import com.yeshi.fanli.util.jd.JDApiUtil;
import com.yeshi.fanli.util.jd.JDUtil;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.vo.dynamic.ArticleVO;
@@ -96,10 +105,7 @@
public class DynamicControllerV2 {
@Resource
- private HongBaoManageService hongBaoManageService;
-
- @Resource
- private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
+ private TaoBaoLinkManager taoBaoLinkManager;
@Resource
private JumpDetailV2Service jumpDetailV2Service;
@@ -144,11 +150,12 @@
@Resource
private DailyCountMomentsService dailyCountMomentsService;
-
+
@Resource
private CommonShareInfoService commonShareInfoService;
-
-
+
+ @Resource
+ private UserCloudService userCloudService;
@Resource(name = "taskExecutor")
private TaskExecutor executor;
@@ -215,7 +222,6 @@
* 鏌ヨ椤堕儴鍒嗙被
*
* @param acceptData
- * @param page
* @param cid
* @param out
*/
@@ -267,7 +273,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_SUCAI));
} else if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
// 2.0.6杩斿洖鐑攢+娲诲姩+鎺ㄨ崘+瀛﹂櫌+閭�璇�
list.add(map.get(TYPE_REXIAO));
@@ -371,8 +377,8 @@
listKey.add("special_channel_pdd");
}
- List<SpecialVO> list = specialService.listByPlaceKeyHasLabel((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE,
- listKey, platformCode, Integer.parseInt(acceptData.getVersion()));
+ List<SpecialVO> list = specialService.listByPlaceKeyHasLabel((page - 1) * Constant.PAGE_SIZE,
+ Constant.PAGE_SIZE, listKey, platformCode, Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
long time = System.currentTimeMillis();
@@ -382,7 +388,7 @@
if (special.getState() == 1L) {
continue;
}
-
+
// 鏄惁娲诲姩宸茶繃鏈�
if (special.getStartTime() != null && special.getEndTime() != null) {
if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
@@ -392,9 +398,7 @@
special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
}
}
-
-
-
+
// 璁剧疆鏍囩
List<SpecialLabel> listLabels = special.getListLabels();
if (listLabels != null && !listLabels.isEmpty()) {
@@ -404,11 +408,11 @@
}
special.setLabels(labels);
}
-
+
}
long count = specialService.countByPlaceKeyList(listKey, platformCode,
- Integer.parseInt(acceptData.getVersion()));
+ Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
Gson gson = gsonBuilder.create();
@@ -533,13 +537,13 @@
JSONObject data = new JSONObject();
if (page == 1 && !search) {
List<BannerVO> banners = swiperPictureService.getByBannerCardAndVersion("article_banners",
- acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+ acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
if (banners == null)
banners = new ArrayList<>();
data.put("banners", gson.toJson(banners));
List<SpecialVO> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "article_specials",
- acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+ acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
if (listSpecial == null)
listSpecial = new ArrayList<>();
@@ -562,8 +566,7 @@
* 鏂囩珷鎼滅储
*
* @param acceptData
- * @param page
- * @param key
+ * @param id
* @param out
*/
@RequestMapping(value = "readArticle", method = RequestMethod.POST)
@@ -593,14 +596,12 @@
* 鏂囩珷鎼滅储
*
* @param acceptData
- * @param page
- * @param key
* @param out
*/
@RequestMapping(value = "getArticleHot", method = RequestMethod.POST)
public void getArticleHot(AcceptData acceptData, PrintWriter out) {
JSONObject data = new JSONObject();
- data.put("words", configService.get(ConfigKeyEnum.articleHotWords.getKey()));
+ data.put("words", configService.getValue(ConfigKeyEnum.articleHotWords.getKey(), SystemInfoUtil.getSystem(acceptData)));
out.print(JsonUtil.loadTrueResult(data));
}
@@ -614,7 +615,7 @@
* @param out
*/
@RequestMapping(value = "getDynamicList", method = RequestMethod.POST)
- public void getDynamicListNew(AcceptData acceptData, Integer page, Long cid, String subId, PrintWriter out) {
+ public void getDynamicListNew(AcceptData acceptData, Integer page, Long cid, String subId, Long uid, PrintWriter out) {
try {
int type = 1;
if (cid == TYPE_FAQUAN) {
@@ -625,17 +626,22 @@
List<GoodsEvaluate> listNew = new ArrayList<GoodsEvaluate>();
List<GoodsEvaluate> list = goodsEvaluateService.queryMaterialsCache((page - 1) * Constant.PAGE_SIZE,
- Constant.PAGE_SIZE, type);
+ Constant.PAGE_SIZE, type,acceptData.getSystem());
if (!VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
listNew.addAll(list);
} else if (list.size() > 0) { // 娲诲姩鍥剧墖涓嶅厑璁歌烦杞�
- for (GoodsEvaluate goodsEvaluate : list) {
- if (goodsEvaluate.getType() != EvaluateEnum.activity) {
- listNew.add(goodsEvaluate);
- continue;
+
+ // 浜戝彂鍗曟槸鍚﹀紑鍚�
+ boolean cloudOpen = configService.isRobotCloudOpen(ConfigKeyEnum.robotCloudOpenCircle.getKey(),acceptData.getPlatform(), acceptData.getVersion(),SystemInfoUtil.getSystem(acceptData));
+ if (!cloudOpen && uid != null) {
+ List<String> testUsers = configService.getTestUsers(SystemInfoUtil.getSystem(acceptData));
+ if (testUsers != null && testUsers.contains(uid+"")) {
+ cloudOpen = true;
}
-
+ }
+
+ for (GoodsEvaluate goodsEvaluate : list) {
GoodsEvaluate evaluateNew = new GoodsEvaluate();
try {
PropertyUtils.copyProperties(evaluateNew, goodsEvaluate);
@@ -643,10 +649,26 @@
e.printStackTrace();
continue;
}
+
+ EvaluateEnum evaluateEnum = evaluateNew.getType();
+ // 鍗曞搧 娲诲姩鍙互涓�閿簯鍙戝崟
+ if (evaluateEnum == EvaluateEnum.activity || evaluateEnum == EvaluateEnum.single) {
+ evaluateNew.setCloud(cloudOpen);
+ }
+
+ if (evaluateEnum != EvaluateEnum.activity) {
+ listNew.add(evaluateNew);
+ continue;
+ }
+
+
// 璺宠浆杩囨浮椤�
- String jumpLink = configService.get(ConfigKeyEnum.activityDetailLink.getKey()) + "?type=%s&id=%s";
- jumpLink = String.format(jumpLink, "circle", evaluateNew.getId());
- evaluateNew.setJumpLink(jumpLink);
+ // String jumpLink =
+ // configService.get(ConfigKeyEnum.activityDetailLink.getKey())
+ // + "?type=%s&id=%s";
+ // jumpLink = String.format(jumpLink, "circle",
+ // evaluateNew.getId());
+ // evaluateNew.setJumpLink(jumpLink);
// 鍥剧墖鏁伴噺
if (evaluateNew.getImgList() != null && evaluateNew.getImgList().size() > 0) {
@@ -753,7 +775,7 @@
}
});
Gson gson = gsonBuilder.create();
- long count = goodsEvaluateService.countValidMaterials(type);
+ long count = goodsEvaluateService.countValidMaterials(type,acceptData.getSystem());
JSONArray jsonArray = new JSONArray();
@@ -803,8 +825,8 @@
* @param out
*/
@RequestMapping(value = "evaluateShare", method = RequestMethod.POST)
- public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, Long goodsId, Integer goodsType,
- PrintWriter out) {
+ public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, String goodsId,
+ Integer goodsType, PrintWriter out) {
try {
if (uid == null) {
out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
@@ -816,7 +838,7 @@
return;
}
- if (type == 1 && (goodsId == null || goodsType == null)) {
+ if (type == 1 && (StringUtil.isNullOrEmpty(goodsId) || goodsType == null)) {
out.print(JsonUtil.loadFalseResult("鍟嗗搧鍙傛暟涓嶈兘涓虹┖"));
return;
}
@@ -888,7 +910,7 @@
continue;
}
- String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl());
+ String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl(),SystemInfoUtil.getSystem(acceptData));
if (!StringUtil.isNullOrEmpty(jumpLink)) {
list.add(jumpLink);
}
@@ -898,10 +920,10 @@
if (type == 1) {
for (ImgInfo imgInfo : imgs) {
if (imgInfo.getGoodsVO() != null)
- if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue()
+ if (imgInfo.getGoodsVO().getGoodsId().equalsIgnoreCase(goodsId)
&& imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) {
String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode,
- imgInfo.getUrl());
+ imgInfo.getUrl(),SystemInfoUtil.getSystem(acceptData));
if (!StringUtil.isNullOrEmpty(jumpLink)) {
list.add(jumpLink);
}
@@ -912,7 +934,7 @@
for (ImgInfo imgInfo : imgs) {
if (imgInfo.getGoodsVO() != null) {
String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode,
- imgInfo.getUrl());
+ imgInfo.getUrl(),SystemInfoUtil.getSystem(acceptData));
if (!StringUtil.isNullOrEmpty(jumpLink)) {
list.add(jumpLink);
}
@@ -970,20 +992,21 @@
}
private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode,
- String mainPic) {
+ String mainPic, SystemEnum system) {
String jumpLink = null;
if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
TaoBaoLink taoBaoLink = null;
try {
- taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), goodsVO.getGoodsId(), relationId);
- } catch (ShareGoodsException e) {
+ taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(user.getId(), Long.parseLong(goodsVO.getGoodsId()),
+ relationId,null);
+ } catch (TaoBaoConvertLinkException e) {
e.printStackTrace();
}
jumpLink = ShareControllerV2.getERCodeContentNew(
- configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), taoBaoLink.getGoods(),
+ configService.getValue(ConfigKeyEnum.taobaoShareQrcodeText.getKey(),system), taoBaoLink.getGoods(),
TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
} else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
- JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId());
+ JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsVO.getGoodsId()));
if (jdGoods == null) {
return null;
}
@@ -997,8 +1020,8 @@
jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
user.getId() + "");
} else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
- jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsVO.getGoodsId(), PinDuoDuoApiUtil.PID_SHARE + "",
- user.getId() + "");
+ jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsVO.getGoodsId()),
+ PinDuoDuoApiUtil.PID_SHARE + "", user.getId() + "");
}
FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode,
@@ -1008,8 +1031,6 @@
}
return null;
}
-
-
/**
* 璇勮澶嶅埗-H5
@@ -1094,7 +1115,7 @@
} 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");
+ newText = 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();
@@ -1108,10 +1129,7 @@
}
});
}
-
-
-
-
+
/**
* 璇勮澶嶅埗-涓撻
*
@@ -1127,7 +1145,7 @@
}
CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(id, CommonShareInfoEnum.special.name());
- if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) {
+ if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) {
out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
return;
}
@@ -1155,7 +1173,7 @@
}
String text = shareInfo.getComment();
- String newText = text;
+ String newText = text;
if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) {
try {
newText = convertLinkManager.convertLinkFromText(text, uid, true);
@@ -1175,13 +1193,10 @@
data.put("text", newText);
out.print(JsonUtil.loadTrueResult(data));
}
-
-
-
-
@RequestMapping(value = "getActivityDetail")
- public void getActivityDetail(String callback, AcceptData acceptData, Long uid, String type, String id, PrintWriter out) {
+ public void getActivityDetail(String callback, AcceptData acceptData, Long uid, String type, String id,
+ PrintWriter out) {
if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
return;
@@ -1190,6 +1205,9 @@
String title = "";
String comment = "";
String params = "";
+ String desc = "";
+ Date startTime = null;
+ Date endTime = null;
JumpDetailV2 jumpDetail = null;
List<String> imgs = new ArrayList<>();
if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩
@@ -1204,7 +1222,7 @@
if (comments != null && comments.size() > 0) {
comment = comments.get(0).getContent();
}
-
+
String jumpLink = null;
if (!StringUtil.isNullOrEmpty(evaluate.getJumpLink())) {
jumpLink = evaluate.getJumpLink();
@@ -1213,25 +1231,26 @@
List<ImgInfo> imgList = evaluate.getImgList();
if (imgList != null && imgList.size() > 0) {
for (ImgInfo imgInfo : imgList) {
- if (!StringUtil.isNullOrEmpty(imgInfo.getUrl())
+ if (!StringUtil.isNullOrEmpty(imgInfo.getUrl())
&& (imgInfo.getType() == ImgEnum.img || imgInfo.getType() == ImgEnum.activity)) {
imgs.add(imgInfo.getUrl());
}
-
+
if (imgInfo.getType() == ImgEnum.img || imgInfo.getType() == ImgEnum.activity) {
if (StringUtil.isNullOrEmpty(jumpLink) && !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
- jumpLink = imgInfo.getActivityUrl();
+ jumpLink = imgInfo.getActivityUrl();
}
}
}
}
-
+
int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
- jumpDetail = jumpDetailV2Service.getByTypeCache("web", platformCode, Integer.parseInt(acceptData.getVersion()));
+ jumpDetail = jumpDetailV2Service.getByTypeCache("web", platformCode,
+ Integer.parseInt(acceptData.getVersion()));
JSONObject inner = new JSONObject();
inner.put("url", jumpLink);
params = inner.toString();
- } else {
+ } else {
long pid = Long.parseLong(id);
if (CommonShareInfoEnum.special.name().equalsIgnoreCase(type)) {
Special special = specialService.selectByPrimaryKey(pid);
@@ -1239,12 +1258,18 @@
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦"));
return;
}
-
+
params = special.getParams();
jumpDetail = special.getJumpDetail();
if (!StringUtil.isNullOrEmpty(special.getPicture())) {
imgs.add(special.getPicture());
}
+
+ title = special.getName();
+
+ desc = special.getRemark();
+ startTime = special.getStartTime();
+ endTime = special.getEndTime();
} else if (CommonShareInfoEnum.banner.name().equalsIgnoreCase(type)) {
SwiperPicture swiper = swiperPictureService.selectByPrimaryKey(pid);
if (swiper == null) {
@@ -1256,6 +1281,11 @@
if (!StringUtil.isNullOrEmpty(swiper.getSrc())) {
imgs.add(swiper.getSrc());
}
+
+ title = swiper.getTitle();
+ desc = swiper.getDesc();
+ startTime = swiper.getStartTime();
+ endTime = swiper.getEndTime();
}
CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type);
if (shareInfo != null && !StringUtil.isNullOrEmpty(shareInfo.getComment())) {
@@ -1263,17 +1293,30 @@
}
}
+ if (!StringUtil.isNullOrEmpty(comment)) { // 鏇挎崲娣樺疂瀹樻柟娲诲姩
+ List<String> activityIdList = convertLinkManager.getTaoBaoOfficialActivityId(comment);
+ for (String st : activityIdList)
+ comment = comment.replace(st, "");
+ }
+
JSONObject data = new JSONObject();
data.put("title", title);
+ data.put("desc", desc);
data.put("comment", comment);
data.put("params", params);
data.put("jumpDetail", jumpDetail);
data.put("imgs", imgs);
+ if (startTime != null) {
+ data.put("startTime", TimeUtil.getGernalTime(startTime.getTime(), "yyyy.MM.dd"));
+ }
+
+ if (endTime != null) {
+ data.put("endTime", TimeUtil.getGernalTime(endTime.getTime(), "yyyy.MM.dd"));
+ }
+
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
}
-
-
/**
* 璇勮澶嶅埗-涓撻
*
@@ -1282,18 +1325,18 @@
* @param out
*/
@RequestMapping(value = "copyShareComment")
- public void copyShareComment(String callback, AcceptData acceptData, Long uid, String id,
- String type, PrintWriter out) {
+ public void copyShareComment(String callback, AcceptData acceptData, Long uid, String id, String type,
+ PrintWriter out) {
if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
return;
}
-
+
if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩
copyActivityComment(callback, acceptData, uid, id, out);
return;
}
-
+
long pid = Long.parseLong(id);
CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type);
if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) {
@@ -1308,7 +1351,8 @@
}
if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+ JsonUtil.printMode(out, callback,
+ JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
return;
}
@@ -1324,18 +1368,18 @@
}
String text = shareInfo.getComment();
- String newText = text;
+ String newText = text;
if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) {
try {
newText = convertLinkManager.convertLinkFromText(text, uid, true);
} catch (ConvertLinkExceptionException e) {
if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
return;
}
} catch (Exception e) {
LogHelper.errorDetailInfo(e);
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
return;
}
}
@@ -1344,34 +1388,101 @@
data.put("text", newText);
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
}
-
+
/**
- * 璇勮澶嶅埗
+ * 娲诲姩鍒嗕韩缁樺浘
+ * @Title: createActivityShareImg
+ * @Description:
+ * @param type
+ * @param id
+ * @param erCodeContent
+ * @return
+ * String 杩斿洖绫诲瀷
+ * @throws
+ */
+ private String createActivityShareImg(String type, String id, String erCodeContent) {
+
+ String title = "";
+ String desc = "";
+ String img = "";
+ if ("circle".equalsIgnoreCase(type)) {
+
+ } else if ("banner".equalsIgnoreCase(type)) {
+ SwiperPicture picture = swiperPictureService.selectByPrimaryKey(Long.parseLong(id));
+ title = picture.getTitle();
+ desc = picture.getDesc();
+ img = picture.getSrc();
+ } else if ("special".equalsIgnoreCase(type)) {
+ Special special = specialService.selectByPrimaryKey(Long.parseLong(id));
+ title = special.getName();
+ desc = special.getRemark();
+ img = special.getPicture();
+ }
+
+ try {
+ InputStream erCodeInputStream = null;
+ erCodeInputStream = QRCodeUtil.getInstance(250).encode(erCodeContent);
+ int[] size = new int[2];
+ try {
+ size = ImageUtil.getImgWidthAndHeight(img);
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ InputStream resultInputStream = ImageUtil.drawActivityShareImg(HttpUtil.getAsInputStream(img),
+ (float) size[0] / size[1], title, desc, erCodeInputStream);
+ if (resultInputStream != null) {
+ String filePath = FilePathEnum.activityShare.getPath() + UUID.randomUUID().toString().replace("-", "")
+ + ".png";
+ FileUploadResult result = COSManager.getInstance().uploadFile(resultInputStream, filePath);
+ if (result != null)
+ return result.getUrl();
+ }
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+
+ return null;
+ }
+
+ /**
+ * 璇勮澶嶅埗-涓撻
*
* @param acceptData
* @param id
* @param out
*/
- private void copyActivityComment(String callback, AcceptData acceptData, Long uid, String id, PrintWriter out) {
- if (StringUtil.isNullOrEmpty(id)) {
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("id涓嶈兘涓虹┖"));
+ @RequestMapping(value = "getActivityShareImg")
+ public void getActivityShareImg(String callback, AcceptData acceptData, Long uid, String id, String type,
+ PrintWriter out) {
+ if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
return;
}
- GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id);
- if (goodsEvaluate == null) {
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
+ if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩
+ // copyActivityComment(callback, acceptData, uid, id, out);
+ // TODO 鍒嗕韩鍙戝湀鐨勫浘
+ return;
+ }
+
+ long pid = Long.parseLong(id);
+ CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type);
+ if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
return;
}
UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
if (user == null) {
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
return;
}
if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+ JsonUtil.printMode(out, callback,
+ JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
return;
}
@@ -1382,7 +1493,98 @@
relationId = taoBaoInfo.getRelationId();
if (StringUtil.isNullOrEmpty(relationId)) {
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿"));
+ return;
+ }
+
+ String text = shareInfo.getComment();
+ String newText = text;
+ String imgUrl = null;
+ if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) {
+ try {
+ String erCodeContent = "";
+ newText = convertLinkManager.convertLinkFromText(text, uid, true);
+ // 鑾峰彇鍙d护
+ List<String> tokenList = TaoBaoUtil.getTokenListFromTextWithKuoHao(newText);
+ if (tokenList != null && tokenList.size() > 0) {
+ // 鏋勯�犲垎浜摼鎺�
+ erCodeContent = ShareControllerV2.getTaoBaoActiivtyERCodeContentNew(
+ configService.getValue(ConfigKeyEnum.taobaoShareQrcodeText.getKey(),SystemInfoUtil.getSystem(acceptData)), tokenList.get(0));
+ } else {
+ // 鑾峰彇閾炬帴
+ List<String> urlList = JDUtil.getJDShortLinksFromText(newText);
+ if (urlList != null && urlList.size() > 0) {
+ erCodeContent = urlList.get(0);
+ } else {
+ urlList = PinDuoDuoUtil.getPDDShortLinksFromText(newText);
+ if (urlList != null && urlList.size() > 0) {
+ erCodeContent = urlList.get(0);
+ }
+ }
+ }
+
+ imgUrl = createActivityShareImg(type, id, erCodeContent);
+ } catch (ConvertLinkExceptionException e) {
+ if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+ return;
+ }
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+ return;
+ }
+ }
+
+ if (StringUtil.isNullOrEmpty(imgUrl)) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�"));
+ } else {
+ JSONObject data = new JSONObject();
+ data.put("text", newText);
+ data.put("img", imgUrl);
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+ }
+ }
+
+ /**
+ * 璇勮澶嶅埗
+ *
+ * @param acceptData
+ * @param id
+ * @param out
+ */
+ private void copyActivityComment(String callback, AcceptData acceptData, Long uid, String id, PrintWriter out) {
+ if (StringUtil.isNullOrEmpty(id)) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("id涓嶈兘涓虹┖"));
+ return;
+ }
+
+ GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id);
+ if (goodsEvaluate == null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
+ return;
+ }
+
+ UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+ if (user == null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+ JsonUtil.printMode(out, callback,
+ 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)) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿"));
return;
}
@@ -1401,18 +1603,18 @@
newText = convertLinkManager.convertLinkFromText(text, uid, true);
} catch (ConvertLinkExceptionException e) {
if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
return;
}
} catch (Exception e) {
LogHelper.errorDetailInfo(e);
- JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
return;
}
}
JSONObject data = new JSONObject();
data.put("text", newText);
- JsonUtil.printMode(out, callback,JsonUtil.loadTrueResult(data));
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
executor.execute(new Runnable() {
@Override
@@ -1421,4 +1623,5 @@
}
});
}
+
}
--
Gitblit v1.8.0