From 21a5d62894e6cca7d536ffcc1d63898ffaf16185 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 25 二月 2019 11:41:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsController.java | 42 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 36 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 c17c6f4..f10a0d6 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 @@ -11,6 +11,7 @@ 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; @@ -23,6 +24,7 @@ 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; @@ -49,6 +51,9 @@ @Resource private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + @Resource + private UserInfoService userInfoService; + /** * 鑾峰彇娣樺疂鐨勫垎浜摼鎺� * @@ -66,6 +71,12 @@ 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; @@ -74,17 +85,21 @@ JSONObject data = new JSONObject(); 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) { @@ -97,16 +112,28 @@ } else {// 灏氭湭缁戝畾 isNative = true; } - - data.put("native", isNative); - + 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()); @@ -115,6 +142,7 @@ out.print(JsonUtil.loadTrueResult(data)); } catch (Exception e) { + isNative = false; try { monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, 0, "璐拱娣樺疂鍟嗗搧杞摼鍑洪敊")); } catch (Exception e1) { @@ -128,6 +156,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]; -- Gitblit v1.8.0