From 880238957a973ecd9676237672276b0e99d31115 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 29 六月 2020 13:55:28 +0800
Subject: [PATCH] 免单
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java | 305 +++++++++++++++++++++++++++++++++++++-------------
1 files changed, 227 insertions(+), 78 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
index c76cf2b..5cd11b7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -1,17 +1,23 @@
package com.yeshi.fanli.controller.client.v2;
+import java.io.InputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
import javax.annotation.Resource;
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.encrypt.DESUtil;
+import org.yeshi.utils.entity.FileUploadResult;
+import org.yeshi.utils.tencentcloud.COSManager;
+import com.yeshi.fanli.dto.taobao.api.TaoKeOfficialActivityConvertResultDTO;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
import com.yeshi.fanli.entity.bus.homemodule.FloatAD.FloatADTypeEnum;
@@ -36,6 +42,8 @@
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.FilePathEnum;
+import com.yeshi.fanli.util.ImageUtil;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
@@ -43,7 +51,11 @@
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.jd.JDUtil;
+import com.yeshi.fanli.util.suning.SuningUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.util.vipshop.VipShopUtil;
+import com.yeshi.fanli.vo.elme.ElemeConvertInfoResultVO;
import com.yeshi.fanli.vo.homemodule.FloatImgDetailVO;
import net.sf.json.JSONObject;
@@ -153,8 +165,8 @@
} else {// 鑰佷汉
data.put("userTimeType", 1);
}
- data.put("hotFuctionLink",
- configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, Integer.parseInt(acceptData.getVersion())));
+ data.put("hotFuctionLink", configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform,
+ Integer.parseInt(acceptData.getVersion())));
out.print(JsonUtil.loadTrueResult(data));
}
@@ -169,20 +181,22 @@
if (uid != null && uid == 0L)
uid = null;
+ String platform = acceptData.getPlatform();
+ String version = acceptData.getVersion();
+
// 娲诲姩寮规
List<FloatAD> listAD = new ArrayList<FloatAD>();
List<FloatImgDetailVO> listVO = new ArrayList<FloatImgDetailVO>();
-
- List<FloatAD> list = floatADService.getValidByPosition(FloatAD.POSITION_INDEX);
+ List<FloatAD> list = floatADService.getValidFloatADCache(FloatAD.POSITION_INDEX, null, platform,
+ Integer.parseInt(version));
if (list != null && !list.isEmpty())
listAD.addAll(list);
for (int i = 0; i < listAD.size(); i++) {
FloatAD floatAD = listAD.get(i);
FloatADTypeEnum typeEnum = floatAD.getTypeEnum();
- if (typeEnum == FloatADTypeEnum.newUserRedPack
- && (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())
- || !userTaoLiJinNewbiesService.verifyHasReward(uid, acceptData.getDevice()))) {
+ if (typeEnum == FloatADTypeEnum.newUserRedPack && (!VersionUtil.greaterThan_2_0_5(platform, version)
+ || !userTaoLiJinNewbiesService.verifyHasReward(uid, acceptData.getDevice()))) {
listAD.remove(i);
i--;
@@ -230,9 +244,8 @@
}
// 鏄惁鏄剧ず鐑棬鍔熻兘鎸夐挳
- String platform = acceptData.getPlatform();
data.put("hotFuctionLink",
- configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, Integer.parseInt(acceptData.getVersion())));
+ configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, Integer.parseInt(version)));
if (StringUtil.isNullOrEmpty(callback))
out.print(JsonUtil.loadTrueResult(data));
else
@@ -259,7 +272,8 @@
}
// 鏄惁闇�瑕佽喘鐗╁煄杞摼
- boolean convert = "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoCartConvert.getKey())) ? false : true;
+ boolean convert = "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoCartConvert.getKey())) ? false
+ : true;
if (!"cart".equalsIgnoreCase(position) && !convert) {
out.print(JsonUtil.loadFalseResult(""));
@@ -332,6 +346,18 @@
data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
+ } else if (url != null && (url.contains(".vip.com"))) {// 鍞搧浼�
+ String goodsId = VipShopUtil.parseGoodsIdByUrl(url);
+ if (StringUtil.isNullOrEmpty(goodsId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
+ data.put("goodsDetail", true);
+ else
+ data.put("goodsDetail", false);
+ } else if (url != null && (url.contains(".suning.com"))) {// 鑻忓畞
+ String goodsId = SuningUtil.parseGoodsIdByUrl(url);
+ if (StringUtil.isNullOrEmpty(goodsId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
+ data.put("goodsDetail", true);
+ else
+ data.put("goodsDetail", false);
} else if (url != null && ((url.contains("yangkeduo.com") && !url.contains("yangkeduo.com/goods.html?")
&& !url.contains("yangkeduo.com/duo_coupon_landing.html?"))
|| (url.startsWith("https://p.pinduoduo.com/")))) {
@@ -381,69 +407,6 @@
out.print(JsonUtil.loadTrueResult(data));
}
- @RequestMapping(value = "getUserConfig", method = RequestMethod.POST)
- public void getUserConfig(AcceptData acceptData, PrintWriter out) {
- try {
- // 鐢ㄦ埛鍗忚閾炬帴
- String serviceProtocol = configService.get(ConfigKeyEnum.serviceProtocolLink.getKey());
- // 闅愮鏉℃閾炬帴
- String privacyProtocol = configService.get(ConfigKeyEnum.privacyProtocolLink.getKey());
- JSONObject data = new JSONObject();
- data.put("serviceProtocolLink", serviceProtocol);
- data.put("privacyProtocolLink", privacyProtocol);
- // 璐墿杞﹁烦杞柟寮�(鍖呭惈jumpDetail涓巔arams)
- JSONObject source = JSONObject.fromObject(configService.get(ConfigKeyEnum.taobaoCartJumpDetail.getKey()));
- data.put("taoBaoCart", source);
- out.print(JsonUtil.loadTrueResult(data));
- } catch (Exception e) {
- out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
- e.printStackTrace();
- }
-
- }
-
- /**
- * 璁㈠崟瑙f瀽閰嶇疆
- *
- * @param acceptData
- * @param out
- */
- @RequestMapping(value = "getOrderParseConfig", method = RequestMethod.POST)
- public void getOrderParseConfig(AcceptData acceptData, int type, PrintWriter out) {
-
- switch (type) {
- case Constant.SOURCE_TYPE_TAOBAO:
- if ("0".equalsIgnoreCase(configService.get(ConfigKeyEnum.autoFindTaobaoOrder.getKey())))
- out.print(JsonUtil.loadFalseResult(1, "鏆備笉鏀寔"));
- else {
- String orderJS = configService.get(ConfigKeyEnum.taobaoOrderParseJS.getKey());
- JSONObject data = new JSONObject();
- try {
- data.put("orderJS", DESUtil.encode(orderJS, StringUtil.getBase64String("YeShiFANLI889*+"),
- StringUtil.getBase64String("*M#34f?,")));
- data.put("orderUrl",
- DESUtil.encode("https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm",
- StringUtil.getBase64String("YeShiFANLI889*+"),
- StringUtil.getBase64String("*M#34f?,")));
- } catch (Exception e) {
- e.printStackTrace();
- }
- out.print(JsonUtil.loadTrueResult(data));
- }
- break;
-
- case Constant.SOURCE_TYPE_JD: {
-
- }
- break;
-
- case Constant.SOURCE_TYPE_PDD: {
-
- }
- break;
- }
- }
-
/**
* 鑾峰彇璁㈠崟閰嶇疆
*
@@ -455,7 +418,8 @@
public void getOrderConfig(AcceptData acceptData, PrintWriter out) {
JSONObject data = new JSONObject();
// 娴嬭瘯
- data.put("showTaoBaoOrder", "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoOrder.getKey()).trim()) ? false : true);
+ data.put("showTaoBaoOrder",
+ "0".equalsIgnoreCase(configService.get(ConfigKeyEnum.showTaobaoOrder.getKey()).trim()) ? false : true);
data.put("taoBaoOrderUrl", "https://main.m.taobao.com/olist/index.html");
out.print(JsonUtil.loadTrueResult(data));
}
@@ -506,8 +470,10 @@
String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "");
String elmeLink = redisManager.getCommonString(key);
if (StringUtil.isNullOrEmpty(elmeLink)) {
- elmeLink = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3],
- "1571715733668", userInfoExtra.getRelationId());
+ TaoKeOfficialActivityConvertResultDTO dto = TaoKeApiUtil.officialActivityConvert(
+ TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], "1571715733668", userInfoExtra.getRelationId());
+ if (dto != null)
+ elmeLink = dto.getShort_click_url();
if (!StringUtil.isNullOrEmpty(elmeLink)) {
redisManager.cacheCommonString(key, elmeLink, 60 * 60);// 缂撳瓨1涓皬鏃�
}
@@ -533,6 +499,169 @@
}
/**
+ *
+ * @Title: getElemeLinkNew
+ * @Description:
+ * @param acceptData
+ * @param uid
+ * @param activityId 娲诲姩ID
+ * @param share -鏄惁涓哄垎浜�
+ * @param callback
+ * @param out
+ * void 杩斿洖绫诲瀷
+ * @throws
+ */
+ @RequestMapping(value = "getElemeLinkNew")
+ public void getElemeLinkNew(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg,
+ String callback, PrintWriter out) {
+
+ UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
+ if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
+ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
+ return;
+ }
+ String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "-" + activityId + "-" + share);
+ String elmeResult = redisManager.getCommonString(key);
+ JSONObject data = new JSONObject();
+ TaoKeOfficialActivityConvertResultDTO dto = null;
+ if (StringUtil.isNullOrEmpty(elmeResult)) {
+ if (share) {
+ dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3],
+ activityId, userInfoExtra.getRelationId());
+ } else {
+ dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], activityId,
+ userInfoExtra.getRelationId());
+ }
+
+ if (dto != null) {
+ if (share) {// 鐢熸垚鍙d护
+ String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url());
+ dto.setToken(TaoBaoUtil.filterTaoToken(token));
+ }
+ redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+ }
+ } else {
+ dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class);
+
+ if (share && StringUtil.isNullOrEmpty(dto.getToken())) {
+ // 淇濆瓨鍙d护
+ String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url());
+ dto.setToken(TaoBaoUtil.filterTaoToken(token));
+ redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+ }
+
+ }
+
+ ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getShort_click_url());
+ if (share && shareImg) {
+ InputStream elmeShareImg = ImageUtil.drawSimpleImage(
+ this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646,
+ HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908);
+
+ if (elmeShareImg != null) {
+ String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-"
+ + UUID.randomUUID().toString().replace("-", "") + ".png";
+ FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath);
+ if (uploadResult != null)
+ info.setQrCodeImg(uploadResult.getUrl());
+ }
+
+ if (info.getQrCodeImg() == null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�"));
+ return;
+ }
+
+ }
+
+ data.put("info", info);
+
+ ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
+ share ? TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT : TaoBaoConstant.TAOBAO_ELEME_PID, null,
+ TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3]);
+ clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]);
+ data.put("taoKeParams", clientTBPid1);
+ if (StringUtil.isNullOrEmpty(callback))
+ out.print(JsonUtil.loadTrueResult(data));
+ else
+ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+ }
+
+ @RequestMapping(value = "getKouBeiLink")
+ public void getKouBeiLink(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg,
+ String callback, PrintWriter out) {
+
+ UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
+ if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
+ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
+ return;
+ }
+ String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.kouBeiLink, uid + "-" + activityId + "-" + share);
+ String elmeResult = redisManager.getCommonString(key);
+ JSONObject data = new JSONObject();
+ TaoKeOfficialActivityConvertResultDTO dto = null;
+ if (StringUtil.isNullOrEmpty(elmeResult)) {
+ if (share) {
+ dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3],
+ activityId, userInfoExtra.getRelationId());
+ } else {
+ dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3], activityId,
+ userInfoExtra.getRelationId());
+ }
+
+ if (dto != null) {
+ if (share) {// 鐢熸垚鍙d护
+ String token = TaoKeApiUtil.getTKToken("http://", "鍙g", dto.getClick_url());
+ dto.setToken(TaoBaoUtil.filterTaoToken(token));
+ }
+ redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+ }
+ } else {
+ dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class);
+
+ if (share && StringUtil.isNullOrEmpty(dto.getToken())) {
+ // 淇濆瓨鍙d护
+ String token = TaoKeApiUtil.getTKToken("http://", "鍙g", dto.getClick_url());
+ dto.setToken(TaoBaoUtil.filterTaoToken(token));
+ redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+ }
+
+ }
+
+ ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getClick_url());
+ if (share && shareImg) {
+ InputStream elmeShareImg = ImageUtil.drawSimpleImage(
+ this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646,
+ HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908);
+
+ if (elmeShareImg != null) {
+ String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-"
+ + UUID.randomUUID().toString().replace("-", "") + ".png";
+ FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath);
+ if (uploadResult != null)
+ info.setQrCodeImg(uploadResult.getUrl());
+ }
+
+ if (info.getQrCodeImg() == null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�"));
+ return;
+ }
+
+ }
+
+ data.put("info", info);
+
+ ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
+ share ? TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT : TaoBaoConstant.TAOBAO_KOUBEI_PID, null,
+ TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3]);
+ clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]);
+ data.put("taoKeParams", clientTBPid1);
+ if (StringUtil.isNullOrEmpty(callback))
+ out.print(JsonUtil.loadTrueResult(data));
+ else
+ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+ }
+
+ /**
* 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴
*
* @param acceptData
@@ -543,8 +672,28 @@
public void userProtocolListen(AcceptData acceptData, Long uid, int type, PrintWriter out) {
LogHelper.userProtocolListen(String.format("%s#%s#%s", acceptData.getDevice(), uid, type));
out.print(JsonUtil.loadTrueResult(""));
-
-
+ }
+
+ /**
+ * 鏄惁鏄剧ず骞垮憡
+ * @Title: showAd
+ * @Description:
+ * @param acceptData
+ * @param uid
+ * @param out
+ * void 杩斿洖绫诲瀷
+ * @throws
+ */
+ @RequestMapping(value = "getShowAd")
+ public void showAd(AcceptData acceptData, Long uid, PrintWriter out) {
+ String value = configService.get(ConfigKeyEnum.showSplashAd.getKey());
+ JSONObject data = new JSONObject();
+ if ("0".equalsIgnoreCase(value.trim())) {
+ data.put("show", false);
+ } else {
+ data.put("show", true);
+ }
+ out.print(JsonUtil.loadTrueResult(data));
}
}
--
Gitblit v1.8.0