From 6f73e6a6a8c1e5fbdc9bdf51e356a074318ce17a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 17 十二月 2019 19:18:53 +0800
Subject: [PATCH] 订单维权记录完善
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java | 100 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 85 insertions(+), 15 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
index d2fff1a..46c8c13 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
@@ -32,6 +32,7 @@
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinRecord;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.goods.ShareGoodsTextTemplate;
import com.yeshi.fanli.entity.jd.JDGoods;
@@ -67,6 +68,7 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
+import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
@@ -156,21 +158,29 @@
private UserTaoLiJinRecordService userTaoLiJinRecordService;
/**
- * 鑾峰彇娣樺疂鐨勫垎浜摼鎺�
*
* @param acceptData
* @param uid
* -鐢ㄦ埛ID
- * @param auctionId-鍟嗗搧ID
+ * @param goodsId-鍟嗗搧ID
+ * @param source
+ * @param totalNum
+ * @param goodsType
+ * @param needGoods
+ * -鏄惁闇�瑕佸晢鍝佷俊鎭�
+ * @param request
* @param out
*/
@RequestMapping(value = "createShareInfo")
public void createShareInfo(AcceptData acceptData, Long uid, Long goodsId, String source, Integer totalNum,
- Integer goodsType, HttpServletRequest request, PrintWriter out) {
+ Integer goodsType, Boolean needGoods, HttpServletRequest request, PrintWriter out) {
if (uid == null || uid <= 0) {
out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
return;
}
+
+ if (needGoods == null)
+ needGoods = false;
try {
// 鏃ュ織璁板綍
String info = String.format("type=share&uid=%s&goodsId=%s&source=%s&goodsType=%s", uid, goodsId, source,
@@ -192,19 +202,19 @@
// 娣樺疂
if (goodsType == null || goodsType == Constant.SOURCE_TYPE_TAOBAO) {
- createTaoBaoShare(acceptData, uid, goodsId, totalNum, source, request, out);
+ createTaoBaoShare(acceptData, uid, goodsId, totalNum, source, needGoods, request, out);
return;
}
// 浜笢
if (goodsType == Constant.SOURCE_TYPE_JD) {
- createJDShare(acceptData, uid, goodsId, source, out);
+ createJDShare(acceptData, uid, goodsId, source, needGoods, out);
return;
}
// 鎷煎澶�
if (goodsType == Constant.SOURCE_TYPE_PDD) {
- createPDDShare(acceptData, uid, goodsId, source, out);
+ createPDDShare(acceptData, uid, goodsId, source, needGoods, out);
return;
}
}
@@ -236,9 +246,20 @@
* @param out
*/
public void createTaoBaoShare(AcceptData acceptData, Long uid, Long goodsId, Integer totalNum, String source,
- HttpServletRequest request, PrintWriter out) {
+ Boolean needGoods, HttpServletRequest request, PrintWriter out) {
+ if (needGoods == null)
+ needGoods = false;
UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByUid(uid);
+ UserInfoExtra userExtraInfo = userInfoExtraService.getUserInfoExtra(uid);
+ String inviteCode = null;
+ if (userExtraInfo != null) {
+ if (!StringUtil.isNullOrEmpty(userExtraInfo.getInviteCodeVip())) {
+ inviteCode = userExtraInfo.getInviteCodeVip();
+ } else {
+ inviteCode = userExtraInfo.getInviteCode();
+ }
+ }
String relationId = null;
if (extraInfo != null && extraInfo.getRelationId() != null && extraInfo.getRelationValid() != null
&& extraInfo.getRelationValid() == true)
@@ -258,7 +279,16 @@
try {
ShareInfoVO shareInfo = new ShareInfoVO();
+ // 娴嬭瘯
+
TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, goodsId, relationId);
+
+ if (taoBaoLink != null && taoBaoLink.getGoods() != null && needGoods) {
+ ConfigParamsDTO dto = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(),
+ hongBaoManageService.getShareRate(), Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+ GoodsDetailVO goodsInfo = GoodsDetailVOFactory.convertTaoBao(taoBaoLink.getGoods(), dto);
+ shareInfo.setGoodsInfo(goodsInfo);
+ }
String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
@@ -273,6 +303,26 @@
shareInfo.setToken(TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
shareInfo.setRule(configService.get("share_single_goods_rule"));
shareInfo.setPictUrl(TbImgUtil.getTBSizeImg(taoBaoLink.getGoods().getPictUrl(), 500));
+
+ String commentTextStr = configService.get("share_single_goods_comment_text");
+ List<String> commentTexts = new ArrayList<>();
+ if (!StringUtil.isNullOrEmpty(commentTextStr)) {
+ JSONArray array = JSONArray.fromObject(commentTextStr);
+ for (int i = 0; i < array.size(); i++) {
+ if (StringUtil.isNullOrEmpty(inviteCode)) {
+ if (array.optString(i).contains("[閭�璇风爜]")) {
+ continue;
+ }
+ }
+ if (StringUtil.isNullOrEmpty(inviteCode))
+ commentTexts.add(array.optString(i).replace("[涓嬭浇閾炬帴]", Constant.YINGYONGBAO_LINK)
+ .replace("[娣樺彛浠", shareInfo.getToken()));
+ else
+ commentTexts.add(array.optString(i).replace("[涓嬭浇閾炬帴]", Constant.YINGYONGBAO_LINK)
+ .replace("[閭�璇风爜]", inviteCode).replace("[娣樺彛浠", shareInfo.getToken()));
+ }
+ }
+ shareInfo.setCommentTexts(commentTexts);
String shareText = "";
// 鏃犲埜
@@ -310,7 +360,11 @@
}
shareInfo.setDescText(descText);
// 娴嬭瘯
- shareInfo.setClickUrl(getERCodeContent(taoBaoLink.getGoods(), shareInfo.getToken()));
+ // 2.0.2涔嬪墠
+ if (!VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion()))
+ shareInfo.setClickUrl(getERCodeContent(taoBaoLink.getGoods(), shareInfo.getToken()));
+
+ shareInfo.setWxErCode(getERCodeContent(taoBaoLink.getGoods(), shareInfo.getToken()));
// 鎻愮ず鍥炬枃鍐呭
String imgs = configService.get("goods_share_notify_imgs");
@@ -566,7 +620,8 @@
* @param request
* @param out
*/
- public void createJDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
+ public void createJDShare(AcceptData acceptData, Long uid, Long goodsId, String source, boolean needGoods,
+ PrintWriter out) {
JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
if (jdGoods == null) {
out.print(JsonUtil.loadFalseResult(1, "璇ュ晢鍝佸凡涓嬫灦"));
@@ -580,17 +635,24 @@
// goodsId + "");
String couponUrl = null;
- JDCouponInfo couponInfo = jdGoods.getCouponInfo();
+ JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
if (couponInfo != null) {
couponUrl = couponInfo.getLink();
}
String materialId = "https://item.jd.com/" + goodsId + ".html";
- String jumpLink = JDApiUtil.convertShortLink(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid + "");
+ String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
+ uid + "");
ShareInfoVO shareInfo = new ShareInfoVO();
shareInfo.setClickUrl(jumpLink);
+ shareInfo.setWxErCode(jumpLink);
shareInfo.setRule(configService.get("share_rule_link_jd"));
shareInfo.setPictUrl(jdGoods.getPicUrl());
+ shareInfo.setCommentTexts(new ArrayList<>());
+
+ if (needGoods)
+ shareInfo.setGoodsInfo(GoodsDetailVOFactory.convertJDGoods(jdGoods, new ConfigParamsDTO(
+ hongBaoManageService.getFanLiRate(), hongBaoManageService.getShareRate(), Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate())));
String shareText = "";
boolean hasCoupon = false;
@@ -682,7 +744,8 @@
* @param source
* @param out
*/
- public void createPDDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
+ public void createPDDShare(AcceptData acceptData, Long uid, Long goodsId, String source, boolean needGoods,
+ PrintWriter out) {
PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
if (goods == null) {
out.print(JsonUtil.loadFalseResult(1, "璇ュ晢鍝佸凡涓嬫灦"));
@@ -699,8 +762,14 @@
ShareInfoVO shareInfo = new ShareInfoVO();
shareInfo.setClickUrl(jumpLink);
+ shareInfo.setWxErCode(jumpLink);
+ shareInfo.setCommentTexts(new ArrayList<>());
shareInfo.setRule(configService.get("share_rule_link_pdd"));
shareInfo.setPictUrl(goods.getGoodsImageUrl());
+ if (needGoods) {
+ shareInfo.setGoodsInfo(GoodsDetailVOFactory.convertPDDGoods(goods, new ConfigParamsDTO(
+ hongBaoManageService.getFanLiRate(), hongBaoManageService.getShareRate(), Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate())));
+ }
String template = "";
boolean hasCoupon = false;
@@ -979,12 +1048,13 @@
}
String couponUrl = null;
- JDCouponInfo couponInfo = goods.getCouponInfo();
+ JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(goods);
if (couponInfo != null) {
couponUrl = couponInfo.getLink();
}
String materialId = "https://item.jd.com/" + goodsId + ".html";
- String shortLink = JDApiUtil.convertShortLink(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid + "");
+ String shortLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
+ uid + "");
String content = shareGoodsTextTemplateService.createContentByTemplateJD(template, uid, goods, shortLink,
hasCoupon);
@@ -1349,7 +1419,7 @@
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
- ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
--
Gitblit v1.8.0