From c9cbdfa41d645d42eeaa7e06d550d4ef8ac328e7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期五, 03 一月 2020 12:15:08 +0800 Subject: [PATCH] redis关键词 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java | 725 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 478 insertions(+), 247 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java index b110e19..f99a46c 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java @@ -41,6 +41,7 @@ import com.yeshi.fanli.entity.bus.user.Order; import com.yeshi.fanli.entity.bus.user.ShamUser; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserMoneyExtra; import com.yeshi.fanli.entity.common.ImageInfo; import com.yeshi.fanli.entity.common.JumpDetail; import com.yeshi.fanli.entity.common.JumpDetailV2; @@ -52,6 +53,7 @@ import com.yeshi.fanli.entity.taobao.ClientTBPid; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.SearchFilter; +import com.yeshi.fanli.entity.taobao.TLJBuyGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; @@ -80,18 +82,27 @@ import com.yeshi.fanli.service.inter.goods.SuperRecommendSpecialService; import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; +import com.yeshi.fanli.service.inter.goods.recommend.HomeRecommendGoodsService; +import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService; +import com.yeshi.fanli.service.inter.homemodule.DeviceSexService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; import com.yeshi.fanli.service.inter.homemodule.SuperSpecialService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; +import com.yeshi.fanli.service.inter.money.UserMoneyExtraService; import com.yeshi.fanli.service.inter.monitor.MonitorService; import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; +import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; +import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; +import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; +import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService; import com.yeshi.fanli.service.inter.user.ShamUserService; import com.yeshi.fanli.service.inter.user.TBPidService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; @@ -99,17 +110,23 @@ 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.MoneyBigDecimalUtil; +import com.yeshi.fanli.util.RedisKeyEnum; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.ThreadUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; +import com.yeshi.fanli.util.taobao.TaoLiJinUtil; +import com.yeshi.fanli.vo.goods.taobao.TLJBuyHongBaoVO; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; +import com.yeshi.fanli.vo.tlj.SpreadHongBao; import com.yeshi.fanli.vo.user.UserSettingsVO; import net.sf.json.JSONArray; @@ -223,6 +240,33 @@ @Resource private TaoBaoShopService taoBaoShopService; + + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + + @Resource + private UserMoneyExtraService userMoneyExtraService; + + @Resource + private UserTaoLiJinOriginService userTaoLiJinOriginService; + + @Resource + private ConfigTaoLiJinService configTaoLiJinService; + + @Resource + private DeviceSexService deviceSexService; + + @Resource + private UserTaoLiJinRecordService userTaoLiJinRecordService; + + @Resource + private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService; + + @Resource + private HomeRecommendGoodsService homeRecommendGoodsService; + + @Resource + private TLJBuyGoodsService tljBuyGoodsService; @RequestMapping(value = "getHonestList") public void getHonestList(AcceptData acceptData, PrintWriter out) { @@ -571,7 +615,7 @@ // 鑾峰彇娣樺鍙傛暟 ClientTBPid clientTBPid = null; - if (simpleGoods.getMaterialLibType() != null && simpleGoods.getMaterialLibType() == 1) { + if (TaoBaoUtil.isSpecialGoods(simpleGoods.getMaterialLibType())) { String pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT; clientTBPid = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, pid.split("_")[2], pid.split("_")[3]); @@ -618,7 +662,7 @@ taoBaoGoodsBriefExtra.setAuctionUrl(tb.getAuctionUrl()); if (uid != null && !"".equals(uid.trim())) { CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(Long.parseLong(uid), - Long.parseLong(id)); + Long.parseLong(id), Constant.SOURCE_TYPE_TAOBAO); data.put("collection", collectionGoods != null ? true : false); } @@ -878,7 +922,7 @@ // 鍒ゆ柇鏀惰棌 if (!StringUtil.isNullOrEmpty(uid)) { CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(Long.parseLong(uid), - Long.parseLong(id)); + Long.parseLong(id), Constant.SOURCE_TYPE_TAOBAO); data.put("collected", collectionGoods != null ? true : false); } else data.put("collected", false); @@ -1030,7 +1074,7 @@ return; } - List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getRelationGoodsRecommend(id, 6); + List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(id, 6); if (goodsList == null) goodsList = new ArrayList<>(); @@ -1145,6 +1189,7 @@ // 鑾峰彇娴忚璁板綍 @RequestMapping(value = "getscanhistory", method = RequestMethod.POST) public void getScanHistory(AcceptData acceptData, String uid, int page, PrintWriter out) { + if (page < 0) { out.print(JsonUtil.loadFalseResult(1, "page涓嶅皬浜�0")); return; @@ -1156,49 +1201,61 @@ out.print(JsonUtil.loadFalseResult(1, "涓嶅瓨鍦ㄨ绯荤粺")); return; } - List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid( - StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), page, 20); - long count = scanHistoryV2Service.getCountByDeviceOrUid( - StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice()); - JSONObject data = new JSONObject(); - data.put("count", count); - JSONArray array = new JSONArray(); + try { - 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() + ""); + List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid( + StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), page, 20, + Constant.SOURCE_TYPE_TAOBAO); + long count = scanHistoryV2Service.getCountByDeviceOrUid( + StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), + Constant.SOURCE_TYPE_TAOBAO); + + JSONObject data = new JSONObject(); + data.put("count", count); + JSONArray array = new JSONArray(); + + 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) { + BigDecimal proportion = manageService.getFanLiRate(); + for (ScanHistoryV2 sh : list) { + TaoBaoGoodsBrief goods = TaoBaoUtil.convert(sh.getCommonGoods()); + goods.setId(sh.getId()); + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), ""); + extra.setCreatetime(sh.getCreateTime()); + array.add(gson.toJson(extra)); } } - }); - - Gson gson = gsonBuilder.create(); - - if (list != null) { - BigDecimal proportion = manageService.getFanLiRate(); - for (ScanHistoryV2 sh : list) { - TaoBaoGoodsBrief goods = TaoBaoUtil.convert(sh.getCommonGoods()); - goods.setId(sh.getId()); - TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), ""); - extra.setCreatetime(sh.getCreateTime()); - array.add(gson.toJson(extra)); - } + data.put("data", array); + out.print(JsonUtil.loadTrueResult(data)); + return; + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + JSONObject data = new JSONObject(); + data.put("data", new JSONArray()); + data.put("count", 0); + out.print(JsonUtil.loadTrueResult(data)); } - data.put("data", array); - out.print(JsonUtil.loadTrueResult(data)); - return; + } @RequestMapping(value = "deletescanhistory", method = RequestMethod.POST) public void deleteScanHistory(AcceptData acceptData, String type, String uid, String ids, PrintWriter out) { BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(), acceptData.getPackages()); - if (sys == null) { out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); return; @@ -1248,16 +1305,15 @@ * 闃叉璇锋眰棰戠巼杩囬珮 * */ - 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; - } - redisManager.cacheCommonString(key, "1", 5);// 5s闂撮殧 + // if (Constant.IS_OUTNET) { + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaolinkParse, acceptData.getDevice() + "-" + id); + String value = redisManager.getCommonString(key); + if (!StringUtil.isNullOrEmpty(value)) { + out.print(JsonUtil.loadFalseResult(11, "璇锋眰棰戠巼闄愬埗")); + return; } + redisManager.cacheCommonString(key, "1", 5);// 5s闂撮殧 + // } TaoBaoGoodsBrief goods = null; try { goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(id)); @@ -1291,7 +1347,67 @@ HttpServletRequest request, PrintWriter out) { int pageSize = Constant.PAGE_SIZE; JSONArray array = new JSONArray(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create(); + if (VersionUtil.greaterThan_1_5_70(acceptData.getPlatform(), acceptData.getVersion())) { + List<TaoBaoGoodsBrief> goodsList = homeRecommendGoodsService.listGoodsByPage(null, acceptData.getDevice(), + imei, idfa, page); + + if (page < 4) {// 鍓嶄笁椤靛姞鍏ユ洿鏂� + try { + taoBaoGoodsUpdateService.addUpdateQueueAsync(goodsList); + } catch (Exception e) { + } + } + + BigDecimal rate = hongBaoManageService.getFanLiRate(); + for (TaoBaoGoodsBrief goods : goodsList) { + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null); + if (page < 3) + extra.setRecommend(true); + + try { + array.add(gson.toJson(extra)); + } catch (Exception e) { + e.printStackTrace(); + System.out.println(new Gson().toJson(goods)); + } + } + + if (page == 1) { + List<TLJBuyGoods> list = null; + try { + list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice()); + } catch (Exception e) { + } + if (list != null && list.size() > 0) + for (int i = list.size() - 1; i >= 0; i--) { + TLJBuyGoods goods = list.get(i); + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods.getGoods(), + TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE + "", null); + String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(), + TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE); + TLJBuyHongBaoVO vo = new TLJBuyHongBaoVO(); + vo.setLeft(goods.getLeftHongBaoCount()); + vo.setMoney(hongBao); + vo.setTagName("浠樻绔嬪噺 " + hongBao); + vo.setTip(""); + vo.setTotal(goods.getTotalHongBaoCount()); + extra.setTljBuyHongBao(vo); + extra.setPictureTag(new ClientTextStyleVO("绔嬪噺TOP" + (i + 1), "#E5005C", "#FCE431", null)); + extra.setRecommend(true); + extra.setSpreadMoney(vo.getTagName()); + array.add(0, gson.toJson(extra)); + } + } + + JSONObject data = new JSONObject(); + data.put("data", array); + data.put("count", 1000); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + // 浠庢帹鑽愭潵 if (page <= 1) { array.clear(); @@ -1303,14 +1419,33 @@ if (result != null && result.getTaoBaoGoodsBriefs() != null) { // 绛涢�� - List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); + List<TaoBaoGoodsBriefExtra> goodsList = new ArrayList<>(); - for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) { - if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null - && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0 - && goods.getBiz30day() > 1000 && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) - goodsList.add(goods); + List<TaoBaoGoodsBrief> gList = recommendGoodsDeleteHistoryService + .filterGoods(acceptData.getDevice(), result.getTaoBaoGoodsBriefs()); + + // filter + try { + + gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList); + } catch (Exception e) { } + + // 璁惧鎺ㄨ崘 + if (gList != null) + for (TaoBaoGoodsBrief goods : gList) { + if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null + && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0 + && goods.getBiz30day() > 1000 + && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) { + + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, + proportion.toString(), ""); + + extra.setRecommend(true); + goodsList.add(extra); + } + } try { monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, (int) (java.lang.System.currentTimeMillis() - startTime), "鎺ㄨ崘鏁伴噺:" + goodsList.size())); @@ -1320,8 +1455,8 @@ Collections.shuffle(goodsList); goodsList = goodsList.size() > 20 ? goodsList.subList(0, 20) : goodsList; - for (TaoBaoGoodsBrief goods : goodsList) { - array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), ""))); + for (TaoBaoGoodsBriefExtra goods : goodsList) { + array.add(gson.toJson(goods)); } } else { try { @@ -1460,7 +1595,8 @@ if (!StringUtil.isNullOrEmpty(specialCard)) { try { - listswiper = swiperPictureService.getByBannerCard(swiperCard); + listswiper = swiperPictureService.getByBannerCardAndVersion(swiperCard, acceptData.getPlatform(), + Integer.parseInt(acceptData.getVersion())); if (listswiper == null) { listswiper = new ArrayList<SwiperPicture>(); @@ -1573,11 +1709,14 @@ @RequestMapping(value = "getRecommendIndex") public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) { try { + // 鑾峰彇璁惧瀹氫箟鎬у埆 + int deviceSex = deviceSexService.getDeviceSex(acceptData.getDevice()); + // 1銆佷笓棰樻ā鍧� - JSONObject root = specialService.listCacheSpecialToIndex(acceptData); + JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex); // 2銆侀《閮ㄨ疆鎾浘 - List<SwiperPicture> topPicList = getSwiperByCard("index_top"); + List<SwiperPicture> topPicList = getSwiperByCard("index_top", acceptData); if (topPicList == null) { topPicList = new ArrayList<SwiperPicture>(); } @@ -1589,7 +1728,7 @@ && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) { // 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥� } else { - invitePicList = getSwiperByCard("index_invite"); + invitePicList = getSwiperByCard("index_invite", acceptData); } if (invitePicList == null) { @@ -1602,8 +1741,8 @@ if ("ios".equalsIgnoreCase(platform)) { root.put("htmlLink", configService.get("index_html_link_ios")); } - - root.put("spikeGoods", getSpikeGoodsContent(acceptData)); + + root.put("spikeGoods", getSpikeGoodsContent(acceptData)); out.print(JsonUtil.loadTrueResult(root)); } catch (Exception e) { @@ -1630,15 +1769,16 @@ return null; } - List<SwiperPicture> invitePicList = getSwiperByCard("index_invite"); + List<SwiperPicture> invitePicList = getSwiperByCard("index_invite", acceptData); return invitePicList; } - public List<SwiperPicture> getSwiperByCard(String card) { + public List<SwiperPicture> getSwiperByCard(String card, AcceptData acceptData) { List<SwiperPicture> swiperList = null; try { - swiperList = swiperPictureService.getByBannerCard(card); + swiperList = swiperPictureService.getByBannerCardAndVersion(card, acceptData.getPlatform(), + Integer.parseInt(acceptData.getVersion())); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); @@ -1687,8 +1827,8 @@ nextTime.set(Calendar.MILLISECOND, 0); JSONArray array = null; - String timekey = "spikeGoods_hour"; - String cachekey = "spikeGoodsList"; + String timekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsHour,acceptData.getPlatform() +"-"+acceptData.getVersion()); + String cachekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsList,acceptData.getPlatform() +"-"+acceptData.getVersion()); String timeValue = redisManager.getCommonString(timekey); if (timeValue == null || !timeValue.equals(hour + "")) { @@ -1699,7 +1839,7 @@ array = JSONArray.fromObject(cacheValue); } } - + JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web"); if (array == null) { array = new JSONArray(); @@ -1714,30 +1854,41 @@ } /* 閬嶅巻鍒楄〃鏁版嵁 */ - for (QualityFactory qualityFactory : listGoods) { + for (QualityFactory qualityFactory : listGoods) { TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief(); if (taoBaoGoodsBrief == null) { continue; } - array.add(gson + JSONObject goods = new JSONObject(); + goods.put("goods", gson .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); + goods.put("jumpDetail", jumpDetail); + JSONObject params = new JSONObject(); + params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId()); + goods.put("params", params); + + // 1.5.4鍙婁互鍚庤繑鍥� + if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) { + array.add(goods); + } else { + array.add(goods.optJSONObject("goods")); + } } // 缂撳瓨鍗婁釜灏忔椂 redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30); } Long endTime = nextTime.getTimeInMillis() - java.lang.System.currentTimeMillis(); - + JSONObject root = new JSONObject(); root.put("time", nextTime.getTimeInMillis()); - root.put("endTime", endTime > 0? endTime : 0); + root.put("endTime", endTime > 0 ? endTime : 0); root.put("listgoods", array); - - + JSONObject params = new JSONObject(); params.put("url", configService.get("spike_goods_link")); - JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web"); + root.put("params", params); root.put("jumpDetail", jumpDetail); @@ -1767,13 +1918,9 @@ * @param out */ @RequestMapping(value = "getgoodsinfo", method = RequestMethod.POST) - public void getGoodsInfo(AcceptData acceptData, String id, String uid, String from, PrintWriter out) { + public void getGoodsInfo(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) { - if ("0".equalsIgnoreCase(uid)) { - uid = ""; - } - - if (StringUtil.isNullOrEmpty(id)) { + if (id == null) { out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼爄d")); return; } @@ -1817,14 +1964,14 @@ if (!convertInServer) { try { - goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(Long.parseLong(id)); + goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(id); if (goods == null) { TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(TaoBaoConstant.TAOBAO_COMMON_APPKEY); app.setAppSecret(TaoBaoConstant.TAOBAO_COMMON_APPSECRET); app.setPid(TaoBaoConstant.TAOBAO_COMMON_PID); app.setAdzoneId(TaoBaoConstant.TAOBAO_COMMON_PID.split("_")[3]); - goods = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id), app); + goods = TaoKeApiUtil.searchGoodsDetail(id, app); final TaoBaoGoodsBrief finalGoods = goods; if (goods != null) { ThreadUtil.run(new Runnable() { @@ -1839,7 +1986,7 @@ // 鍟嗗搧涓嬫灦 ThreadUtil.run(new Runnable() { public void run() { - taoBaoGoodsUpdateService.offlineTaoBaoGoods(Long.parseLong(id)); + taoBaoGoodsUpdateService.offlineTaoBaoGoods(id); } }); @@ -1856,7 +2003,7 @@ app.setPid(clientPid); try { - goods = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id), app); + goods = TaoKeApiUtil.searchGoodsDetail(id, app); if (goods != null) { ticket.put("clickUrl", goods.getAuctionUrl()); // 娴嬭瘯浣跨敤 @@ -1878,7 +2025,7 @@ } catch (TaobaoGoodsDownException e) { ThreadUtil.run(new Runnable() { public void run() { - taoBaoGoodsUpdateService.offlineTaoBaoGoods(Long.parseLong(id)); + taoBaoGoodsUpdateService.offlineTaoBaoGoods(id); } }); } @@ -1924,19 +2071,24 @@ if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite())) finalImgList.add(0, tb.getPictUrlWhite()); + // 澶ф窐瀹㈠晢鍝佽繃婊� + try { + goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } JSONObject goodsJson = new JSONObject(); goodsJson.put("auctionId", tb.getAuctionId()); goodsJson.put("imgList", finalImgList); goodsJson.put("title", tb.getTitle()); goodsJson.put("userType", tb.getUserType() == 1 ? 2 : 1); goodsJson.put("price", tb.getReservePrice().toString()); - goodsJson.put("zkPrice", tb.getZkPrice().toString()); + goodsJson.put("zkPrice", MoneyBigDecimalUtil.getWithNoZera(tb.getZkPrice()).toString()); - // 30澶╅攢閲� goodsJson.put("saleCount", TaoBaoUtil.getSaleCount(tb.getBiz30day())); goodsJson.put("salesCount", TaoBaoUtil.getSaleCount(tb.getBiz30day())); - + // 鍒嗕韩璧� BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb); data.put("shareMoney", "楼" + shareMoney); @@ -1947,11 +2099,11 @@ } // 鍒ゆ柇鏀惰棌 - if (StringUtil.isNullOrEmpty(uid)) { + if (uid == null) { data.put("collected", false); } else { - CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(Long.parseLong(uid), - Long.parseLong(id)); + CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id, + Constant.SOURCE_TYPE_TAOBAO); data.put("collected", collectionGoods != null ? true : false); } @@ -1977,10 +2129,12 @@ String hongBao = null; // 鑾峰彇鍒镐俊鎭� - if (!StringUtil.isNullOrEmpty(tb.getCouponInfo())) { + if (!StringUtil.isNullOrEmpty(tb.getCouponInfo()) && tb.getCouponAmount() != null + && tb.getCouponAmount().compareTo(new BigDecimal(0)) > 0 && tb.getCouponEffectiveStartTime() != null + && tb.getCouponEffectiveEndTime() != null) { BigDecimal quanPrice = TaoBaoUtil.getAfterUseCouplePrice(tb); JSONObject couponInfo = new JSONObject(); - couponInfo.put("couponPrice", quanPrice.toString()); + couponInfo.put("couponPrice", MoneyBigDecimalUtil.getWithNoZera(quanPrice).toString()); if (from != null && from.equals("miandan")) { // 鍏嶅崟鍟嗗搧 @@ -1988,14 +2142,16 @@ } String token = ""; - if (!StringUtil.isNullOrEmpty(tb.getCouponLink())) { + if (!StringUtil.isNullOrEmpty(tb.getCouponLink()) + && VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) { token = redisManager.getCommonTaoToken(tb.getAuctionId()); if (StringUtil.isNullOrEmpty(token)) { token = TaoKeApiUtil.getTKToken(tb.getPictUrl(), tb.getTitle(), tb.getCouponLink()); redisManager.saveCommonTaoToken(tb.getAuctionId(), token); } } - tb.setCouponLinkTaoToken(token); + if (!VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) + tb.setCouponLinkTaoToken(token); // 鏈嶅姟绔浆閾� // if (convertInServer && @@ -2007,11 +2163,15 @@ // tb.getAuctionId() + "")); // } - couponInfo.put("couponAmount", NumberUtil.subZeroAndDot(tb.getCouponAmount().toString())); + couponInfo.put("couponAmount", MoneyBigDecimalUtil.getWithNoZera(tb.getCouponAmount()).toString()); couponInfo.put("couponTime", "浣跨敤鏈熼檺锛�" + tb.getCouponEffectiveStartTime().replace("-", ".") + "-" + tb.getCouponEffectiveEndTime().replace("-", ".")); // 鍒哥殑鍙d护 - couponInfo.put("couponToken", token); + + if (VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) + couponInfo.put("couponToken", ""); + else + couponInfo.put("couponToken", token); goodsJson.put("couponInfo", couponInfo); if (tb.getBiz30day() >= 1000) { @@ -2023,6 +2183,8 @@ // 绾㈠寘 if (hongBao == null) { BigDecimal proportion = manageService.getFanLiRate(); + if ("taolijin".equalsIgnoreCase(from)) + proportion = manageService.getTLJShareRate(System.currentTimeMillis()); hongBao = TaoBaoUtil.getGoodsHongBaoInfo(tb, proportion); } goodsJson.put("hongBao", hongBao); @@ -2056,17 +2218,15 @@ } else { tbShopInfo.setUserType("0"); } - + String shopLink = tbShopInfo.getShopUrl(); if (StringUtil.isNullOrEmpty(shopLink)) { tbShopInfo.setShopUrl(TaoBaoUtil.getShopLink(tbShopInfo.getUserId())); } } - - // 搴楅摵 - if (("android".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) >= 40) - || ("ios".equalsIgnoreCase(acceptData.getPlatform()) - && Integer.parseInt(acceptData.getVersion()) >= 49)) { + + // 搴楅摵1.5.4鍙婁互鍚庣増鏈� + if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) { TaoBaoShop shop = taoBaoShopService.getTaoBaoShop(goods.getAuctionId(), goods.getSellerId()); if (shop != null) { String shopLink = shop.getShopLink(); @@ -2079,27 +2239,23 @@ goodsJson.put("shopInfo", tbShopInfo); } - goodsJson.put("fanliValid",true);// 鏄惁鏈夎繑鍒� - // 鍒嗕韩璺緞 String shareUrl = String.format("%s?id=" + tb.getAuctionId(), Constant.systemCommonConfig.getAppShareInfoUrl()); // 鏄惁鍔犲叆閫夊搧搴擄細 0鏈姞鍏� 1 宸插姞鍏� boolean storageState = false; - if (uid != null && uid.trim().length() > 0) { - storageState = userGoodsStorageService.isExistStorage(Long.parseLong(uid), Long.parseLong(id)); + if (uid != null) { + storageState = userGoodsStorageService.isExistStorage(uid, id, Constant.SOURCE_TYPE_TAOBAO); } data.put("storageState", storageState); data.put("shareUrl", shareUrl); - - data.put("goods", goodsJson); data.put("shareUsers", listShareUser); data.put("couponUsers", listCouponUser); data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id); - - data.put("noRebateHelpLink", configService.get("no_rebate_help_link")); - + + String noRebateHelpLink = null; + // 鍟嗗搧閾炬帴 String h5Url = String.format("http://%s%s?id=%s&appType=flq", configService.getH5Host(), Constant.systemCommonConfig.getShareGoodsPagePath(), tb.getAuctionId() + ""); @@ -2107,6 +2263,117 @@ data.put("h5Url", HttpUtil.getShortLink(h5Url)); } catch (Exception e) { data.put("h5Url", h5Url); + } + + // 鏄惁鏈夎繑鍒� + boolean fanliValid = true; + // 璧勯噾绫诲瀷 1-杩� 2-濂� + int moneyType = 1; + + // 鎺ㄥ箍绾㈠寘 + if (from != null && from.equals("taolijin")) { + // 璁$畻鎺ㄥ箍绾㈠寘 + String warningRate = configTaoLiJinService.getValueByKey("warning_value", null); + BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, goods); + + // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1 + if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) { + out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�")); + return; + } + + // 鏄惁涓烘柊鐢ㄦ埛 + boolean isNewUser = userInfoExtraService.isNewUser(uid); + if (isNewUser) { + // 鍒ゅ畾涓鸿�佺敤鎴凤細 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜�� + long countRecord = userTaoLiJinRecordService.countRecordByUid(uid); + if (countRecord > 0) { + isNewUser = false; + } + } + + SpreadHongBao spreadHongBao = new SpreadHongBao(); + if (isNewUser) { + spreadHongBao.setMoney("1"); + } else { + spreadHongBao.setMoney(spreadMoney.toString()); + + moneyType = 2; + fanliValid = false; + ClientTextStyleVO textStyleVO1 = new ClientTextStyleVO(); + textStyleVO1.setContent("鍒嗕韩"); + textStyleVO1.setColor("#666666"); + ClientTextStyleVO textStyleVO2 = new ClientTextStyleVO(); + textStyleVO2.setContent("璧氬閲�"); + textStyleVO2.setColor("#F14242"); + ClientTextStyleVO textStyleVO3 = new ClientTextStyleVO(); + textStyleVO3.setContent("锛屽ソ鍙�"); + textStyleVO3.setColor("#666666"); + ClientTextStyleVO textStyleVO4 = new ClientTextStyleVO(); + textStyleVO4.setContent("棰嗙孩鍖咃紒"); + textStyleVO4.setColor("#F14242"); + + List<ClientTextStyleVO> listText = new ArrayList<ClientTextStyleVO>(); + listText.add(textStyleVO1); + listText.add(textStyleVO2); + listText.add(textStyleVO3); + listText.add(textStyleVO4); + + data.put("listTip", listText); + } + spreadHongBao.setTip("褰撴棩棰嗗彇锛屽綋鏃ュ唴浣跨敤锛岃繃鏈熷け鏁�"); + goodsJson.put("spreadHongBao", spreadHongBao); + + // 鐢ㄦ埛鍓╀綑鍙互娣樼ぜ閲戦獙璇� + UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid); + if (userMoneyExtra == null || userMoneyExtra.getTlj() == null) { + data.put("userHongbao", new BigDecimal(0).setScale(2).toString()); + } else { + data.put("userHongbao", userMoneyExtra.getTlj().setScale(2).toString()); + } + + noRebateHelpLink = configTaoLiJinService.getValueByKey("share_goods_help_link", null); + + if (Constant.IS_TEST) { + fanliValid = true; + goodsJson.put("shareValid", false); + JSONObject tljNum = new JSONObject(); + tljNum.put("percent", "80"); + tljNum.put("num", "8825"); + goodsJson.put("tljNum", tljNum); + } + + } else if (from != null && from.equals("taolijin_buy")) { + noRebateHelpLink = configService.get("zigoulijian_nofanli_help"); + // 鏌ヨ鍒嗕韩搴� + TLJBuyGoods buyGoods = tljBuyGoodsService.selectByAuctionIdAndDay(goods.getAuctionId(), + TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd")); + if (buyGoods == null) { + out.print(JsonUtil.loadFalseResult(2, "鑷喘绔嬪噺绾㈠寘杩囨湡")); + return; + } + + fanliValid = true; + goodsJson.put("shareValid", false); + String tljHongBao = TaoBaoUtil.getGoodsHongBaoMoney(goods, new BigDecimal(70)).toString(); + TLJBuyHongBaoVO vo = new TLJBuyHongBaoVO(); + vo.setLeft(buyGoods.getLeftHongBaoCount()); + vo.setMoney(tljHongBao); + vo.setTagName("浠樻绔嬪噺 楼" + tljHongBao); + vo.setTip("褰撴棩棰嗗彇锛屽綋鏃ュ唴浣跨敤锛岃繃鏈熷け鏁�"); + vo.setTotal(buyGoods.getTotalHongBaoCount()); + goodsJson.put("tljBuyHongBao", vo); + moneyType = 2; + } + + goodsJson.put("moneyType", moneyType); + goodsJson.put("fanliValid", fanliValid); + data.put("goods", goodsJson); + + if (!StringUtil.isNullOrEmpty(noRebateHelpLink)) { + data.put("noRebateHelpLink", noRebateHelpLink); + } else { + data.put("noRebateHelpLink", configService.get("no_rebate_help_link")); } // 鍙栨秷鍒嗕韩娲诲姩 @@ -2129,15 +2396,12 @@ out.print(JsonUtil.loadTrueResult(data)); - final String tempUid = uid; final TaoBaoGoodsBrief goodsInfo = tb; ThreadUtil.run(new Runnable() { public void run() { // 娣诲姞娴忚璁板綍 try { - scanHistoryV2Service.addScanHistory( - StringUtil.isNullOrEmpty(tempUid) ? null : Long.parseLong(tempUid), acceptData.getDevice(), - goodsInfo); + scanHistoryV2Service.addScanHistory(uid, acceptData.getDevice(), goodsInfo); } catch (Exception e) { e.printStackTrace(); } @@ -2203,119 +2467,83 @@ @RequestMapping(value = "getgoodsderivation", method = RequestMethod.POST) public void getRecommendGoods(AcceptData acceptData, long id, PrintWriter out) { - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); - if (system == null) { - out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); - return; - } - - List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getRelationGoodsRecommend(id, 10); - // 鍒濆鍖� - if (goodsList == null) { - goodsList = new ArrayList<TaoBaoGoodsBrief>(); - } - - BigDecimal proportion = manageService.getFanLiRate(); - - List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>(); - - TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); - app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - app.setAdzoneId(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]); - app.setPid(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT); - - List<Long> ids = new ArrayList<>(); - for (TaoBaoGoodsBrief goods : goodsList) - ids.add(goods.getAuctionId()); - try { - goodsList = TaoKeApiUtil.getBatchGoodsInfo(ids); - } catch (TaoKeApiException e1) { - e1.printStackTrace(); - } catch (TaobaoGoodsDownException e1) { - e1.printStackTrace(); + + List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(id, 10); + // 鍒濆鍖� + if (goodsList == null) { + goodsList = new ArrayList<TaoBaoGoodsBrief>(); + } + + BigDecimal proportion = manageService.getFanLiRate(); + + List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>(); + + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); + app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); + app.setAdzoneId(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]); + app.setPid(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT); + + List<Long> ids = new ArrayList<>(); + for (TaoBaoGoodsBrief goods : goodsList) + ids.add(goods.getAuctionId()); + + try { + goodsList = TaoKeApiUtil.getBatchGoodsInfo(ids); + } catch (TaoKeApiException e1) { + e1.printStackTrace(); + } catch (TaobaoGoodsDownException e1) { + e1.printStackTrace(); + } + + if (goodsList != null && goodsList.size() > 0) + goodsList.parallelStream().forEach(goods -> { + if (goods != null) { + // 鑾峰彇璇︽儏 + TaoBaoGoodsBrief taoBaoGoodsBrief = null; + try { + taoBaoGoodsBrief = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goods.getAuctionId()); + } catch (Exception e) { + e.printStackTrace(); + } + + if (taoBaoGoodsBrief == null) { + TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app); + goods.setCouponInfo(newGoods.getCouponInfo()); + goods.setCouponLink(newGoods.getCouponLink()); + goods.setTkRate(newGoods.getTkRate()); + taoBaoGoodsBrief = goods; + } + + if (taoBaoGoodsBrief != null) { + listExtra.add( + TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "")); + } + } + }); + + List<TaoBaoGoodsBrief> listQuality = new ArrayList<TaoBaoGoodsBrief>(); + + // 鍙栧伓鏁颁釜鏁版嵁 + if (listExtra.size() % 2 != 0) { + listExtra.remove(listExtra.size() - 1); + } + + if (listQuality.size() % 2 != 0) { + listQuality.remove(listQuality.size() - 1); + } + + JSONObject data = new JSONObject(); + data.put("listQuality", JsonUtil.getApiCommonGson().toJson(listExtra)); + data.put("listGuess", JsonUtil.getApiCommonGson().toJson(listQuality)); + out.print(JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JSONObject data = new JSONObject(); + data.put("listQuality", new JSONArray()); + data.put("listGuess", new JSONArray()); + out.print(JsonUtil.loadTrueResult(data)); } - - if (goodsList != null) - goodsList.parallelStream().forEach(goods -> { - - // 鑾峰彇璇︽儏 - TaoBaoGoodsBrief taoBaoGoodsBrief = null; - try { - taoBaoGoodsBrief = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goods.getAuctionId()); - } catch (Exception e) { - e.printStackTrace(); - } - - if (taoBaoGoodsBrief == null) { - TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app); - goods.setCouponInfo(newGoods.getCouponInfo()); - goods.setCouponLink(newGoods.getCouponLink()); - goods.setTkRate(newGoods.getTkRate()); - taoBaoGoodsBrief = goods; - } - - if (taoBaoGoodsBrief != null) { - listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "")); - } - - }); - - List<TaoBaoGoodsBrief> listQuality = new ArrayList<TaoBaoGoodsBrief>(); - // 鍒犻櫎鎺ㄨ崘 - // - // try { - // List<QualityFactory> listRecommend = - // qualityGoodsService.recommendByAuctionId(id); - // - // if (listRecommend != null && listRecommend.size() > 1) { - // for (QualityFactory quality : listRecommend) { - // - // TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief(); - // if (taoBaoGoodsBrief == null) { - // continue; - // } - // - // int biz30day = taoBaoGoodsBrief.getBiz30day(); - // if (biz30day >= 10000) { - // double sales = biz30day; - // String salesCountMidea = String.format("%.1f", sales / 10000); - // taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); - // } else { - // taoBaoGoodsBrief.setSalesCount(biz30day + ""); - // } - // - // // 鏀瑰彉鍥剧墖灏哄 - // String pictUrl = taoBaoGoodsBrief.getPictUrl(); - // if (!StringUtil.isNullOrEmpty(pictUrl) && - // !pictUrl.contains("320x320")) { - // taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl)); - // } - // - // listQuality.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, - // proportion.toString(), null)); - // } - // } - // } catch (Exception e2) { - // e2.printStackTrace(); - // } - - // 鍙栧伓鏁颁釜鏁版嵁 - if (listExtra.size() % 2 != 0) { - listExtra.remove(listExtra.size() - 1); - } - - if (listQuality.size() % 2 != 0) { - listQuality.remove(listQuality.size() - 1); - } - - JSONObject data = new JSONObject(); - data.put("listQuality", JsonUtil.getApiCommonGson().toJson(listExtra)); - data.put("listGuess", JsonUtil.getApiCommonGson().toJson(listQuality)); - - out.print(JsonUtil.loadTrueResult(data)); } /** @@ -2325,32 +2553,35 @@ * @param out */ @RequestMapping(value = "getSpecialActivities") - public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out) { + public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out, String callback) { + List<Special> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "special_activities", + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion())); - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); - if (system == null) { - out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); - return; + List<Special> list = new ArrayList<Special>(); + if (listSpecial != null) { + list.addAll(listSpecial); } - try { - // 涓撻娲诲姩 - String specialCard = "special_activities"; + for (int i = 0; i < list.size(); i++) { + Special special = list.get(i); - List<Special> listSpecial = specialService.listPageBySystemAndCard(0, Integer.MAX_VALUE, specialCard, - system.getId()); - - if (listSpecial == null) { - listSpecial = new ArrayList<Special>(); + JumpDetailV2 jumpDetail = special.getJumpDetail(); + if (jumpDetail != null) { + jumpDetail.setNeedLogin(special.isJumpLogin()); + special.setJumpDetail(jumpDetail); } - JSONObject root = new JSONObject(); - root.put("special", JsonUtil.getApiCommonGson().toJson(listSpecial)); - out.print(JsonUtil.loadTrueResult(root)); - - } catch (Exception e) { - e.printStackTrace(); + String name = special.getName(); + if (StringUtil.isNullOrEmpty(name)) { + continue; + } } + + JSONObject root = new JSONObject(); + root.put("special", JsonUtil.getApiCommonGson().toJson(list)); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadTrueResult(root)); + else + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(root)); } } -- Gitblit v1.8.0