From cdcbed9af813b2a02cdc01eefa24db8bec6b51a9 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期三, 27 三月 2019 12:17:33 +0800 Subject: [PATCH] 主分类 + 子分类 DAO改造 --- fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsController.java | 129 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 125 insertions(+), 4 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 ea87a05..cedf338 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,19 +72,75 @@ 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()); @@ -78,6 +149,7 @@ out.print(JsonUtil.loadTrueResult(data)); } catch (Exception e) { + isNative = false; try { monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, 0, "璐拱娣樺疂鍟嗗搧杞摼鍑洪敊")); } catch (Exception e1) { @@ -90,6 +162,8 @@ } else { tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_FANLI_IOS); } + + data.put("native", isNative); if (tbPid != null) { String siteId = tbPid.getPid().split("_")[2]; @@ -106,4 +180,51 @@ } + /** + * 鏄惁鍦ㄥ弬涓庢帹骞� + */ + + /** + * 鏄惁鍦ㄥ弬涓庢帹骞� + * + * @param goodsId + * -鍟嗗搧ID + * @param goodsType + * -TB/JD + * @param out + */ + @RequestMapping(value = "isGoodsExtend") + public void isGoodsExtend(AcceptData acceptData,String goodsId, String goodsType, PrintWriter out) { + if (StringUtil.isNullOrEmpty(goodsId)) { + out.print(JsonUtil.loadFalseResult(1, "鏈弬涓庢帹骞�")); + return; + } + if (StringUtil.isNullOrEmpty(goodsType)) { + out.print(JsonUtil.loadFalseResult(2, "缂哄皯goodsType")); + return; + } + if ("TB".equalsIgnoreCase(goodsType)) { + TaoBaoGoodsBrief goods = null; + try { + goods = TaoKeApiUtil.getSimpleGoodsInfo(Long.parseLong(goodsId)); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + + JSONObject data = new JSONObject(); + + if (goods == null) { + data.put("extend", false); + data.put("url", "https://h5.m.taobao.com/awp/core/detail.htm?id=" + goodsId); + } else { + data.put("extend", true); + } + out.print(JsonUtil.loadTrueResult(data)); + } else { + out.print(JsonUtil.loadFalseResult(3, "鏆備笉鏀寔鍏朵粬鍟嗗搧绫诲瀷")); + } + } + } -- Gitblit v1.8.0