From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 22 一月 2019 15:58:24 +0800 Subject: [PATCH] 邀请码添加返回状态 --- fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java | 165 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 111 insertions(+), 54 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java index 7152196..a617897 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.taobao.TbImgUtil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -29,6 +30,8 @@ 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.ShareGoodsException; +import com.yeshi.fanli.exception.share.UserShareGoodsRecordException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.config.SystemConfigService; @@ -42,10 +45,12 @@ import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.service.inter.user.ScanHistoryService; import com.yeshi.fanli.service.inter.user.TBPidService; +import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService; import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.ThreadUtil; import com.yeshi.fanli.util.Utils; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @@ -98,6 +103,9 @@ @Resource private TaoBaoUnionConfigService taoBaoUnionConfigService; + + @Resource + private UserShareGoodsGroupService userShareGoodsGroupService; /** * @@ -198,9 +206,7 @@ JSONObject validData = null; Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - Map<String, String> convertMap = hongBaoManageService.convertMap(); - String proportion = convertMap.get("hongbao_goods_proportion"); - String fcRate = convertMap.get("hongbao_fc_ratio"); + BigDecimal proportion = hongBaoManageService.getFanLiRate(); Map<Long, List<RecommendSectionGoods>> map = recommendSectionGoodsService.getAllSectionGoodsMap(); for (int i = 0; i < size; i++) { @@ -224,7 +230,7 @@ JSONObject obj = JSONObject.fromObject(gson2.toJson(rss)); String json = gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra( gson2.fromJson(obj.optJSONObject("taoBaoGoodsBrief").toString(), TaoBaoGoodsBrief.class), - proportion, fcRate, "")); + proportion.toString(), "")); obj.put("taoBaoGoodsBrief", json); array.add(obj); } @@ -262,78 +268,113 @@ out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼爄d")); return; } - - List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_SHARE_GOODS); - UserShareGoodsHistory shareHistory = null; - String pid = configList.get(0).getDefaultPid(); if (!StringUtil.isNullOrEmpty(uid)) { - try { - uid = AESUtil.decrypt(uid, Constant.UIDAESKEY); - TBPid tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_SHARE_GOODS); - if (tbPid != null) - pid = tbPid.getPid(); - - // 鏌ヨ璇ID,UID,鍟嗗搧ID涓嬫槸鍚︽湁杩欎釜鍟嗗搧鐨勪俊鎭� - // 鍒ゆ柇杩欎釜浜у搧鏄惁浠嶢PP涓垎浜�屾潵 - try { - shareHistory = shareGoodsService.getShareGoodsHistoryDetail(Long.parseLong(uid), - Long.parseLong(id)); - } catch (Exception e) { - - } - - } catch (Exception e) { - - } + uid = AESUtil.decrypt(uid, Constant.UIDAESKEY); } TaoBaoGoodsBrief goods = null; - try { + String token = null; + if (!StringUtil.isNullOrEmpty(uid)) { + // 鏌ヨ鏄惁鏈夊垎浜褰� + UserShareGoodsHistory shareHistory = null; + try { + shareHistory = shareGoodsService.getShareGoodsHistoryDetail(Long.parseLong(uid), Long.parseLong(id)); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (ShareGoodsException e) { + e.printStackTrace(); + } + + if (shareHistory != null) {// 鏈夊垎浜褰� + token = shareHistory.getTkCode(); + goods = redisManager.getTaoBaoGoodsTemp(Long.parseLong(id)); + if (goods == null) + try { + goods = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id)); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + + } else {// 娌℃湁鍒嗕韩璁板綍锛岄渶瑕佺洿鎺ュ垎浜� + List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService + .getConfigByTypeCache(PidUser.TYPE_SHARE_GOODS); + String pid = null; + TBPid tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_SHARE_GOODS); + if (tbPid != null) + pid = tbPid.getPid(); + else { + pid = configList.get(0).getDefaultPid(); + } + + // 鑾峰彇 + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAdzoneId(pid.split("_")[3]); + app.setAppKey(configList.get(0).getAppKey()); + app.setAppSecret(configList.get(0).getAppSecret()); + app.setPid(pid); + try { + goods = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id), app); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + if (goods != null) { + String url = goods.getAuctionUrl(); + if (!StringUtil.isNullOrEmpty(goods.getCouponLink())) { + url = goods.getCouponLink(); + } + token = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), url); + } + } + + } else { + List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService + .getConfigByTypeCache(PidUser.TYPE_SHARE_GOODS); + String pid = configList.get(0).getDefaultPid(); TaoKeAppInfo app = new TaoKeAppInfo(); app.setAdzoneId(pid.split("_")[3]); app.setAppKey(configList.get(0).getAppKey()); app.setAppSecret(configList.get(0).getAppSecret()); app.setPid(pid); - goods = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id), app); - } catch (NumberFormatException e) { - e.printStackTrace(); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); + try { + goods = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id), app); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + if (goods != null) { + String url = goods.getAuctionUrl(); + if (!StringUtil.isNullOrEmpty(goods.getCouponLink())) { + url = goods.getCouponLink(); + } + token = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), url); + } } + if (goods == null) { out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鍟嗗搧淇℃伅鑾峰彇澶辫触"))); return; } - // 鍒稿悗浠� - BigDecimal afterCouponPrice = TaoBaoUtil.getAfterUseCouplePrice(goods); - TaoBaoLink link = null; - - if (shareHistory != null) { - link = new TaoBaoLink(); - link.setTaoToken(shareHistory.getTkCode()); - } else { - link = new TaoBaoLink(); - try { - String url = goods.getCouponLink(); - if (StringUtil.isNullOrEmpty(url)) - url = goods.getAuctionUrl(); - String tbk = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), url); - link.setTaoToken(tbk); - } catch (Exception e) { - link = null; - } - } - if (link == null) { - out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("娣樺彛浠ょ敓鎴愬け璐�"))); + if (StringUtil.isNullOrEmpty(token)) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鍙d护鐢熸垚澶辫触"))); return; } + + // 鍒稿悗浠� + BigDecimal afterCouponPrice = TaoBaoUtil.getAfterUseCouplePrice(goods); + TaoBaoLink link = new TaoBaoLink(); + link.setTaoToken(token); JSONObject data = new JSONObject(); data.put("title", goods.getTitle()); if (goods.getImgList() == null) goods.setImgList(new ArrayList<>()); - goods.getImgList().add(0, goods.getPictUrl()); + goods.getImgList().add(0, TbImgUtil.getTBSizeImg(goods.getPictUrl(), 300)); data.put("imgs", goods.getImgList()); data.put("quanPrice", afterCouponPrice); data.put("zkPrice", goods.getZkPrice()); @@ -343,6 +384,22 @@ data.put("reservePrice", goods.getReservePrice()); data.put("shopType", goods.getUserType() == 1 ? 2 : 1); out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); + + final String tempUid = uid; + ThreadUtil.run(new Runnable() { + + @Override + public void run() { + try { + if (!StringUtil.isNullOrEmpty(tempUid)) + userShareGoodsGroupService.updateBrowseRecord(Long.parseLong(tempUid), Long.parseLong(id), 1); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (UserShareGoodsRecordException e) { + e.printStackTrace(); + } + } + }); return; } } -- Gitblit v1.8.0