From 8a4bd3e7b3a05564a7b164413d02763734386de3 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 04 九月 2019 09:28:19 +0800
Subject: [PATCH] 发布时间 改成 72小时有效
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java | 153 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 143 insertions(+), 10 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java
index 55ea116..2e70da5 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java
@@ -12,25 +12,36 @@
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.goods.recommend.RecommendGoodsDeleteHistory;
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.TLJBuyGoods;
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.entity.taobao.TaoKeAppInfo;
+import com.yeshi.fanli.exception.share.ShareGoodsException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.exception.tlj.TaoLiJinCreateException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
+import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService;
+import com.yeshi.fanli.service.inter.integral.IntegralGetService;
import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
+import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoBuyRelationMapService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
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.TaoBaoConstant;
+import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -60,9 +71,61 @@
@Resource
private TaoBaoBuyRelationMapService taoBaoBuyRelationMapService;
-
+
@Resource
private BusinessEmergent110Service businessEmergent110Service;
+
+ @Resource
+ private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private UserTaoLiJinRecordService userTaoLiJinRecordService;
+
+ @Resource
+ private TLJBuyGoodsService tljBuyGoodsService;
+
+ @Resource
+ private IntegralGetService integralGetService;
+
+ private void doTaoLiJinBuy(AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) {
+ JSONObject data = new JSONObject();
+ TaoBaoLink taoBaoLink = null;
+ try {
+ // 鏍规嵁鏃ユ湡涓庡晢鍝両D鏌ヨ
+ TLJBuyGoods tljBuyGoods = tljBuyGoodsService.selectByAuctionIdAndDay(auctionId,
+ TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd"));
+ if (tljBuyGoods == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧涓嶅瓨鍦�"));
+ return;
+ }
+ String appKey = tljBuyGoods.getAppKey();
+ TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppKeyCache(appKey);
+ if (config == null) {
+ out.print(JsonUtil.loadFalseResult(2, "鐢熸垚鎺ㄥ箍閾炬帴澶辫触"));
+ return;
+ }
+ TaoKeAppInfo app = new TaoKeAppInfo(config.getAppKey(), config.getAppSecret(), config.getDefaultPid());
+ taoBaoLink = shareGoodsService.getTaoLiJinLinkForBuyWithOutFanLi(uid, auctionId, app);
+ } catch (TaoLiJinCreateException e1) {
+ out.print(JsonUtil.loadFalseResult(e1.getCode(), "娣樼ぜ閲戠孩鍖呭垱寤哄け璐�"));
+ return;
+ } catch (ShareGoodsException e) {
+ out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage()));
+ return;
+ }
+ data.put("native", true);
+ JSONObject link = new JSONObject();
+ link.put("clickUrl", taoBaoLink.getClickUrl());
+ link.put("couponUrl", taoBaoLink.getCouponLink());
+ data.put("type", 1);
+ data.put("link", link);
+ out.print(JsonUtil.loadTrueResult(data));
+
+ integralGetService.addTaoLiJinBuy(uid, auctionId);
+ }
/**
* 鑾峰彇娣樺疂鐨勫垎浜摼鎺�
@@ -74,8 +137,8 @@
* @param out
*/
@RequestMapping(value = "gettaobaolink")
- public void getTaoBaoLink(AcceptData acceptData, Long uid, Long auctionId, String from, HttpServletRequest request,
- PrintWriter out) {
+ public void getTaoBaoLink(AcceptData acceptData, Long uid, Long auctionId, String from, String source,
+ HttpServletRequest request, PrintWriter out) {
if (uid == null || uid <= 0) {
out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
return;
@@ -105,6 +168,11 @@
} catch (Exception e1) {
e1.printStackTrace();
}
+ }
+
+ if ("taolijin_buy".equalsIgnoreCase(source)) {
+ doTaoLiJinBuy(acceptData, uid, auctionId, out);
+ return;
}
JSONObject data = new JSONObject();
@@ -145,10 +213,26 @@
pidType = PidUser.TYPE_FANLI_IOS;
try {
TaoBaoLink taoBaoLink = null;
+
// 鏄繑鍒╁晢鍝佸簱鐨勫晢鍝�
if (specialConvert) {
if (!StringUtil.isNullOrEmpty(specialId)) {
- taoBaoLink = shareGoodsService.getTaoBaoLinkForBuyWithSpecial(uid, specialId, auctionId);
+ if (source != null && "taolijin".equals(source)) {
+ boolean isNewUser = userInfoExtraService.isNewUser(uid);
+ if (isNewUser) {
+ // 鍒ゅ畾涓鸿�佺敤鎴凤細
+ // 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜��
+ long countRecord = userTaoLiJinRecordService.countRecordByUid(uid);
+ if (countRecord == 0) {
+ taoBaoLink = shareGoodsService.getTaoLiJinLinkForBuy(uid, specialId, auctionId, null);
+ }
+ }
+ }
+
+ if (taoBaoLink == null) {
+ taoBaoLink = shareGoodsService.getTaoBaoLinkForBuyWithSpecial(uid, specialId, auctionId);
+ }
+
data.put("native", true);
} else {
if (!specialConvert && !isNative) {
@@ -170,8 +254,22 @@
LogHelper.errorDetailInfo(e, "uid:" + uid, null);
}
if (!StringUtil.isNullOrEmpty(relationId)) {//
- taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId, relationId,
- TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
+ if (source != null && "taolijin".equals(source)) {
+ boolean isNewUser = userInfoExtraService.isNewUser(uid);
+ if (isNewUser) {
+ // 鍒ゅ畾涓鸿�佺敤鎴凤細
+ // 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜��
+ long countRecord = userTaoLiJinRecordService.countRecordByUid(uid);
+ if (countRecord == 0) {
+ taoBaoLink = shareGoodsService.getTaoLiJinLinkForBuy(uid, specialId, auctionId,
+ TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
+ }
+ }
+ } else {
+ taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId, relationId,
+ TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
+ }
+
data.put("native", true);
} else {
if (pidType == PidUser.TYPE_FANLI_ANDROID)
@@ -191,7 +289,13 @@
data.put("link", link);
out.print(JsonUtil.loadTrueResult(data));
+ // 鑾峰緱閲戝竵
+ integralGetService.addCouponRebate(uid);
+
} catch (Exception e) {
+
+ LogHelper.errorDetailInfo(e);
+
isNative = false;
try {
monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, 0, "璐拱娣樺疂鍟嗗搧杞摼鍑洪敊"));
@@ -227,7 +331,6 @@
data.put("type", 1);
data.put("link", link);
data.put("native", true);
-
} catch (Exception e1) {
String siteId = tbPid.getPid().split("_")[2];
String adzoneId = tbPid.getPid().split("_")[3];
@@ -237,15 +340,14 @@
data.put("tbPidInfo", clientTBPid);
data.put("native", true);
}
-
+
out.print(JsonUtil.loadTrueResult(data));
} else {
out.print(JsonUtil.loadFalseResult(1, "璇锋眰澶辫触"));
}
-
+
businessEmergent110Service.buyTaoBaoGoodsError(StringUtil.Md5(auctionId + ""));
}
-
}
/**
@@ -295,4 +397,35 @@
}
}
+ /**
+ * 鍒犻櫎鎺ㄨ崘鍟嗗搧
+ *
+ * @param acceptData
+ * @param goodsId
+ * @param source
+ * @param uid
+ * @param reason
+ * @param out
+ */
+ @RequestMapping(value = "deleteRecommendGoods")
+ public void deleteRecommendGoods(AcceptData acceptData, Long goodsId, Integer source, Long uid, String reason,
+ PrintWriter out) {
+ if (goodsId == null) {
+ out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼犲晢鍝�"));
+ return;
+ }
+
+ RecommendGoodsDeleteHistory history = new RecommendGoodsDeleteHistory();
+ history.setDevice(acceptData.getDevice());
+ history.setReason(reason);
+ history.setUid(uid);
+ history.setGoodsSource(source == null ? Constant.SOURCE_TYPE_TAOBAO : source);
+ history.setGoodsId(goodsId);
+ recommendGoodsDeleteHistoryService.addRecommendGoodsDeleteHistory(history);
+ out.print(JsonUtil.loadTrueResult(""));
+
+ // 鑾峰緱閲戝竵
+ integralGetService.addCloseRecommendGoods(uid);
+ }
+
}
--
Gitblit v1.8.0