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/client/RecommendController.java | 131 +++++++++++++++++++------------------------ 1 files changed, 58 insertions(+), 73 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java index 02218ce..ed25d0c 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java @@ -1,10 +1,12 @@ package com.yeshi.fanli.controller.client; import java.io.PrintWriter; +import java.lang.reflect.Type; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; +import java.util.Date; import java.util.List; import java.util.Map; @@ -14,6 +16,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.BigDecimalUtil; import org.yeshi.utils.IPUtil; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.NumberUtil; @@ -21,6 +24,10 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.Special; @@ -160,8 +167,6 @@ @Resource private SystemConfigService systemConfigService; - - @Resource private CollectionGoodsV2Service collectionGoodsV2Service; @@ -306,7 +311,7 @@ @RequestMapping(value = "getHonestList") public void getHonestList(AcceptData acceptData, PrintWriter out) { System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages()); - List<Honest> honestList =null; + List<Honest> honestList = null; List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID); if ((Integer.parseInt(acceptData.getVersion()) >= 20 && "android".equalsIgnoreCase(acceptData.getPlatform())) || ("ios".equalsIgnoreCase(acceptData.getPlatform()) @@ -704,8 +709,18 @@ data.put("tbPidInfo", clientTBPid); + JSONObject taobaoJson = JSONObject.fromObject(gson.toJson(taoBaoGoodsBriefExtra)); + if (taoBaoGoodsBriefExtra.getImgList() != null) + taoBaoGoodsBriefExtra.getImgList().add(0, taoBaoGoodsBriefExtra.getPictUrl()); + taobaoJson.put("imgList", taoBaoGoodsBriefExtra.getImgList()); + taobaoJson.put("saleCount", taoBaoGoodsBriefExtra.getSalesCount());// 閿�閲忥紙鍜宻alesCount涓�鑷达紝姝ゅ澶勭悊鍏煎锛� + if (taoBaoGoodsBriefExtra.getTaoBaoQuanInfo() != null) + taobaoJson.put("coupon", true); + else + taobaoJson.put("coupon", false); + // taoBaoGoodsBriefExtra.setAuctionUrl(null); - data.put("taobao", gson.toJson(taoBaoGoodsBriefExtra)); + data.put("taobao", taobaoJson); String info = configService.get("detail_prompt"); data.put("info", info); String onlyInfo = configService.get("only_info"); @@ -1289,14 +1304,30 @@ JSONObject data = new JSONObject(); data.put("count", count); JSONArray array = new JSONArray(); - Gson gson = JsonUtil.getApiCommonGson(); + + GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()); + gsonBuilder.excludeFieldsWithoutExposeAnnotation(); + gsonBuilder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() { + @Override + public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + return new JsonPrimitive(value.getTime() + ""); + } + } + }); + + Gson gson = gsonBuilder.create(); + if (list != null) { - Map<String, String> map = hongBaoManageService.convertMap(); BigDecimal proportion = manageService.getFanLiRate(); for (ScanHistoryV2 sh : list) { TaoBaoGoodsBrief goods = TaoBaoUtil.convert(sh.getCommonGoods()); goods.setId(sh.getId()); - array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), ""))); + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), ""); + extra.setCreatetime(sh.getCreateTime()); + array.add(gson.toJson(extra)); } } data.put("data", array); @@ -1355,16 +1386,18 @@ /** * 闃叉璇锋眰棰戠巼杩囬珮 + * */ - String key = "linkParse-" + acceptData.getDevice() + "-" + id; + if (Constant.IS_OUTNET) { + String key = "linkParse-" + acceptData.getDevice() + "-" + id; - String value = redisManager.getCommonString(key); - if (!StringUtil.isNullOrEmpty(value)) { - out.print(JsonUtil.loadFalseResult(11, "璇锋眰棰戠巼闄愬埗")); - return; + String value = redisManager.getCommonString(key); + if (!StringUtil.isNullOrEmpty(value)) { + out.print(JsonUtil.loadFalseResult(11, "璇锋眰棰戠巼闄愬埗")); + return; + } + redisManager.cacheCommonString(key, "1", 5);// 5s闂撮殧 } - redisManager.cacheCommonString(key, "1", 5);// 5s闂撮殧 - TaoBaoGoodsBrief goods = null; try { goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(id)); @@ -1796,7 +1829,7 @@ // 鍟嗗搧涓嬫灦 ThreadUtil.run(new Runnable() { public void run() { - taoBaoGoodsUpdateService.deleteTaoBaoGoods(Long.parseLong(id)); + taoBaoGoodsUpdateService.offlineTaoBaoGoods(Long.parseLong(id)); } }); @@ -1823,7 +1856,11 @@ } catch (NumberFormatException e) { e.printStackTrace(); } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); + ThreadUtil.run(new Runnable() { + public void run() { + taoBaoGoodsUpdateService.offlineTaoBaoGoods(Long.parseLong(id)); + } + }); } } @@ -1864,7 +1901,7 @@ List<String> finalImgList = new ArrayList<>(); for (String img : tb.getImgList()) { - finalImgList.add(img); + finalImgList.add(TbImgUtil.getTBSizeImg(img, 600)); } JSONObject goods = new JSONObject(); @@ -1988,6 +2025,7 @@ data.put("goods", goods); data.put("shareUsers", listShareUser); data.put("couponUsers", listCouponUser); + data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id); out.print(JsonUtil.loadTrueResult(data)); @@ -2072,62 +2110,9 @@ } List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getRelationGoodsRecommend(id, 10); - - // 閲嶆柊鍋氭帹鑽� - if (goodsList == null || goodsList.size() == 0) { - - goodsList = new ArrayList<>(); - - TaoBaoGoodsBrief goods = null; - - try { - goods = redisManager.getTaoBaoGoodsBrief(id); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } - - if (goods == null) { - // 浠庢垜浠殑鍟嗗搧搴撴悳绱� - CommonGoods cgoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(id, - CommonGoods.GOODS_TYPE_TB); - // 鍟嗗搧鏈夋湰鍦扮紦瀛� - if (cgoods != null) { - // 鎸夊悕瀛楁悳绱㈠晢鍝� - SearchFilter sf = new SearchFilter(); - sf.setKey(cgoods.getTitle().substring(0, cgoods.getTitle().length() / 2)); - - TaoBaoSearchResult result = TaoBaoUtil.search(sf); - - if (result != null && result.getTaoBaoGoodsBriefs() != null - && result.getTaoBaoGoodsBriefs().size() > 0) { - - for (TaoBaoGoodsBrief gds : result.getTaoBaoGoodsBriefs()) { - if (goodsList.size() == 10) { - break; - } - goodsList.add(gds); - } - } - } - } - - // 闇�瑕佸彟鍋氭帹鑽� - if (goodsList.size() < 2) { - try { - List<RecommendSectionGoods> list = recommendSectionGoodsService.getSectionGoods(10); - if (list != null) { - for (int i = 0; i < list.size(); i++) { - if (i == 10) { - break; - } - goodsList.add(list.get(i).getTaoBaoGoodsBrief()); - } - } - } catch (Exception e2) { - e2.printStackTrace(); - } - - } + // 鍒濆鍖� + if (goodsList == null) { + goodsList = new ArrayList<TaoBaoGoodsBrief>(); } BigDecimal proportion = manageService.getFanLiRate(); -- Gitblit v1.8.0