From b2699e4e0c66125254156fb54705e569094db499 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 09 三月 2019 16:15:22 +0800
Subject: [PATCH] 订单爬取规则修改
---
fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsController.java | 84 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 78 insertions(+), 6 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsController.java
index 9062543..1dba1d3 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsController.java
@@ -7,20 +7,29 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.TBPid;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoLink;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.TBPidService;
+import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
-
-import org.yeshi.utils.JsonUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONObject;
@@ -40,6 +49,12 @@
@Resource
private MonitorService monitorService;
+ @Resource
+ private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+ @Resource
+ private UserInfoService userInfoService;
+
/**
* 鑾峰彇娣樺疂鐨勫垎浜摼鎺�
*
@@ -57,28 +72,84 @@
return;
}
+ UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+ if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+ out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+ return;
+ }
+
if (auctionId == null || auctionId <= 0) {
out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧ID涓嶈兘涓虹┖"));
return;
}
JSONObject data = new JSONObject();
- data.put("native", true);
+ boolean isNative = false;
+ String pid = null;
+ boolean specialConvert = false;
+
+ String specialId = null;
+ // 鏌ヨ鐢ㄦ埛ID鏄惁缁戝畾浜嗕細鍛樿繍钀D
+ UserExtraTaoBaoInfo userInfo = userExtraTaoBaoInfoService.getByUid(uid);
+ if (userInfo != null && !StringUtil.isNullOrEmpty(userInfo.getSpecialId()) && userInfo.getSpecialValid() != null
+ && userInfo.getSpecialValid() == true) {
+ specialId = userInfo.getSpecialId();
+ // 宸茬粡缁戝畾
+ try {
+ TaoBaoGoodsBrief goods = TaoKeApiUtil.getSimpleGoodsInfo(auctionId);
+ if (goods.getMaterialLibType() != null && goods.getMaterialLibType() == 1) {
+ isNative = true;
+ specialConvert = true;
+ } else
+ isNative = false;
+ } catch (TaobaoGoodsDownException e) {
+ out.print(JsonUtil.loadFalseResult(3, "鍟嗗搧宸蹭笅鏋�"));
+ return;
+ } catch (Exception e) {
+ try {
+ LogHelper.errorDetailInfo(e, "鑾峰彇鍟嗗搧绠�鐗堣鎯呭嚭閿�", auctionId + "");
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+
+ pid = Constant.TAOBAO_SPECIAL_PID_DEFAULT;
+
+ } else {// 灏氭湭缁戝畾
+ isNative = true;
+ }
+
+ data.put("native", isNative);
try {
int pidType = PidUser.TYPE_FANLI_ANDROID;
if (acceptData.getPlatform().equalsIgnoreCase("ios"))
pidType = PidUser.TYPE_FANLI_IOS;
- TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForBuy(uid, auctionId, pidType);
+
+ TaoBaoLink taoBaoLink = null;
+ if (!StringUtil.isNullOrEmpty(specialId) && specialConvert) {
+ taoBaoLink = shareGoodsService.getTaoBaoLinkForBuyWithSpecial(uid, specialId, auctionId);
+ } else {
+ if (!specialConvert && !isNative) {
+ if (pidType == PidUser.TYPE_FANLI_ANDROID)
+ taoBaoLink = shareGoodsService.getTaoBaoLink(uid, auctionId,
+ tbPidService.getAndroidDefault().getPid());
+ else
+ taoBaoLink = shareGoodsService.getTaoBaoLink(uid, auctionId,
+ tbPidService.getIOSDefault().getPid());
+ } else
+ taoBaoLink = shareGoodsService.getTaoBaoLinkForBuy(uid, auctionId, pidType);
+ }
+
JSONObject link = new JSONObject();
link.put("clickUrl", taoBaoLink.getClickUrl());
link.put("couponUrl", taoBaoLink.getCouponLink());
data.put("type", 1);
data.put("link", link);
- // TODO 娣诲姞jumpType锛坔5,native,auto锛�
out.print(JsonUtil.loadTrueResult(data));
} catch (Exception e) {
+ isNative = false;
try {
monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, 0, "璐拱娣樺疂鍟嗗搧杞摼鍑洪敊"));
} catch (Exception e1) {
@@ -92,6 +163,8 @@
tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_FANLI_IOS);
}
+ data.put("native", isNative);
+
if (tbPid != null) {
String siteId = tbPid.getPid().split("_")[2];
String adzoneId = tbPid.getPid().split("_")[3];
@@ -99,7 +172,6 @@
ClientTBPid clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
data.put("type", 2);
data.put("tbPidInfo", clientTBPid);
- // TODO 娣诲姞jumpType锛坔5,native,auto锛�
out.print(JsonUtil.loadTrueResult(data));
} else {
out.print(JsonUtil.loadFalseResult(1, "璇锋眰澶辫触"));
--
Gitblit v1.8.0