From 28f0aa9453ac157a9af5280833b0e265c57660a2 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 21 四月 2020 14:28:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java | 377 ++++++++++++++++++++++++++---------------------------
1 files changed, 188 insertions(+), 189 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 333ede6..95f49a4 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
@@ -49,6 +49,7 @@
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.goods.ScanHistoryV2;
import com.yeshi.fanli.entity.system.BusinessSystem;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemClientParams;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.entity.taobao.PidUser;
@@ -88,19 +89,19 @@
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.DaTaoKeGoodsDetailService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
-import com.yeshi.fanli.service.inter.tlj.DeviceTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
@@ -109,9 +110,9 @@
import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.service.inter.user.UserMoneyExtraService;
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;
@@ -242,7 +243,7 @@
private TaoBaoShopService taoBaoShopService;
@Resource
- private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
@Resource
private UserMoneyExtraService userMoneyExtraService;
@@ -252,9 +253,6 @@
@Resource
private ConfigTaoLiJinService configTaoLiJinService;
-
- @Resource
- private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService;
@Resource
private DeviceSexService deviceSexService;
@@ -618,7 +616,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]);
@@ -683,11 +681,11 @@
// taoBaoGoodsBriefExtra.setAuctionUrl(null);
data.put("taobao", taobaoJson);
- String info = configService.get("detail_prompt");
+ String info = configService.get(ConfigKeyEnum.detailPrompt.getKey());
data.put("info", info);
- String onlyInfo = configService.get("only_info");
+ String onlyInfo = configService.get(ConfigKeyEnum.onlyInfo.getKey());
data.put("only", onlyInfo);
- data.put("helpUrl", configService.get("old_goods_detail_help_url"));
+ data.put("helpUrl", configService.get(ConfigKeyEnum.oldGoodsDetailHelpUrl.getKey()));
int showType = taoBaoGoodsBriefExtra.getShowType();
String price = "";
@@ -702,7 +700,7 @@
data.put("shareTitle", taoBaoGoodsBriefExtra.getTitle());
data.put("shareContent", "楼" + price + "鍏�");
data.put("shareImg", taoBaoGoodsBriefExtra.getPictUrl());
- String html = configService.get("downAPP");
+ String html = configService.get(ConfigKeyEnum.downAPP.getKey());
data.put("downAPP", html);
String shareSinaContent = configService.get("shareSinaContent");
data.put("shareSina",
@@ -1077,7 +1075,7 @@
return;
}
- List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.getRelationGoodsRecommend(id, 6);
+ List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(id, 6);
if (goodsList == null)
goodsList = new ArrayList<>();
@@ -1190,9 +1188,9 @@
}
// 鑾峰彇娴忚璁板綍
- @RequestMapping(value = "getscanhistory", method = RequestMethod.POST)
- public void getScanHistory(AcceptData acceptData, String uid, int page, Integer goodsType, PrintWriter out) {
-
+ @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;
@@ -1204,45 +1202,55 @@
out.print(JsonUtil.loadFalseResult(1, "涓嶅瓨鍦ㄨ绯荤粺"));
return;
}
- List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid(
- StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), page, 20, goodsType);
- long count = scanHistoryV2Service.getCountByDeviceOrUid(
- StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), goodsType);
+ try {
+ 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();
+ 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() + "");
+ 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)
@@ -1299,8 +1307,7 @@
*
*/
// if (Constant.IS_OUTNET) {
- String key = "linkParse-" + acceptData.getDevice() + "-" + id;
-
+ String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaolinkParse, acceptData.getDevice() + "-" + id);
String value = redisManager.getCommonString(key);
if (!StringUtil.isNullOrEmpty(value)) {
out.print(JsonUtil.loadFalseResult(11, "璇锋眰棰戠巼闄愬埗"));
@@ -1341,10 +1348,18 @@
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) {
@@ -1361,7 +1376,11 @@
}
if (page == 1) {
- List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
+ 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);
@@ -1397,7 +1416,7 @@
if (!StringUtil.isNullOrEmpty(imei) || !StringUtil.isNullOrEmpty(idfa)) {
long startTime = java.lang.System.currentTimeMillis();
- TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa);
+ TaoBaoSearchResult result = TaoKeApiUtil.guessDeviceLike(page, 50, imei, idfa,"");
if (result != null && result.getTaoBaoGoodsBriefs() != null) {
// 绛涢��
@@ -1409,7 +1428,7 @@
// filter
try {
- gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList);
+ gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList);
} catch (Exception e) {
}
@@ -1577,7 +1596,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>();
@@ -1655,7 +1675,7 @@
JSONObject invite = new JSONObject();
JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("invite");
invite.put("jumpDetail", jumpDetail);
- invite.put("picture", configService.get("home_invite_banner"));
+ invite.put("picture", configService.get(ConfigKeyEnum.homeInviteBanner.getKey()));
if ("ios".equalsIgnoreCase(acceptData.getPlatform())
&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
@@ -1697,7 +1717,7 @@
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>();
}
@@ -1709,7 +1729,7 @@
&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
// 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
} else {
- invitePicList = getSwiperByCard("index_invite");
+ invitePicList = getSwiperByCard("index_invite", acceptData);
}
if (invitePicList == null) {
@@ -1720,7 +1740,7 @@
// 4銆両OS鐨勫簳閮ㄧ綉椤甸摼鎺�
String platform = acceptData.getPlatform();
if ("ios".equalsIgnoreCase(platform)) {
- root.put("htmlLink", configService.get("index_html_link_ios"));
+ root.put("htmlLink", configService.get(ConfigKeyEnum.indexHtmlLinkIos.getKey()));
}
root.put("spikeGoods", getSpikeGoodsContent(acceptData));
@@ -1750,15 +1770,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);
@@ -1807,8 +1828,8 @@
nextTime.set(Calendar.MILLISECOND, 0);
JSONArray array = null;
- String timekey = String.format("spikeGoods_hour-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
- String cachekey = String.format("spikeGoodsList-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
+ 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 + "")) {
@@ -1845,7 +1866,7 @@
.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());
+ params.put("url", configService.get(ConfigKeyEnum.spikeGoodsLink.getKey()) + "?id=" + taoBaoGoodsBrief.getAuctionId());
goods.put("params", params);
// 1.5.4鍙婁互鍚庤繑鍥�
@@ -1867,7 +1888,7 @@
root.put("listgoods", array);
JSONObject params = new JSONObject();
- params.put("url", configService.get("spike_goods_link"));
+ params.put("url", configService.get(ConfigKeyEnum.spikeGoodsLink.getKey()));
root.put("params", params);
root.put("jumpDetail", jumpDetail);
@@ -2053,7 +2074,7 @@
// 澶ф窐瀹㈠晢鍝佽繃婊�
try {
- goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
+ goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods);
} catch (Exception e) {
LogHelper.errorDetailInfo(e);
}
@@ -2082,7 +2103,8 @@
if (uid == null) {
data.put("collected", false);
} else {
- CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id, Constant.SOURCE_TYPE_TAOBAO);
+ CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id,
+ Constant.SOURCE_TYPE_TAOBAO);
data.put("collected", collectionGoods != null ? true : false);
}
@@ -2162,6 +2184,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);
@@ -2229,7 +2253,7 @@
data.put("shareUrl", shareUrl);
data.put("shareUsers", listShareUser);
data.put("couponUsers", listCouponUser);
- data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
+ data.put("detailWebUrl", "http://apph5.banliapp.com/apppage/goods_img.html?id=" + id);
String noRebateHelpLink = null;
@@ -2250,7 +2274,7 @@
// 鎺ㄥ箍绾㈠寘
if (from != null && from.equals("taolijin")) {
// 璁$畻鎺ㄥ箍绾㈠寘
- String warningRate = configTaoLiJinService.getValueByKey("warning_value");
+ String warningRate = configTaoLiJinService.getValueByKey("warning_value", null);
BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, goods);
// 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
@@ -2309,7 +2333,7 @@
data.put("userHongbao", userMoneyExtra.getTlj().setScale(2).toString());
}
- noRebateHelpLink = configTaoLiJinService.getValueByKey("share_goods_help_link");
+ noRebateHelpLink = configTaoLiJinService.getValueByKey("share_goods_help_link", null);
if (Constant.IS_TEST) {
fanliValid = true;
@@ -2321,7 +2345,7 @@
}
} else if (from != null && from.equals("taolijin_buy")) {
- noRebateHelpLink = configService.get("zigoulijian_nofanli_help");
+ noRebateHelpLink = configService.get(ConfigKeyEnum.zigoulijianNofanliHelp.getKey());
// 鏌ヨ鍒嗕韩搴�
TLJBuyGoods buyGoods = tljBuyGoodsService.selectByAuctionIdAndDay(goods.getAuctionId(),
TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd"));
@@ -2350,7 +2374,7 @@
if (!StringUtil.isNullOrEmpty(noRebateHelpLink)) {
data.put("noRebateHelpLink", noRebateHelpLink);
} else {
- data.put("noRebateHelpLink", configService.get("no_rebate_help_link"));
+ data.put("noRebateHelpLink", configService.get(ConfigKeyEnum.noRebateHelpLink.getKey()));
}
// 鍙栨秷鍒嗕韩娲诲姩
@@ -2444,82 +2468,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();
- }
- 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();
+ 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(), ""));
+ }
}
+ });
- if (taoBaoGoodsBrief == null) {
- TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app);
- goods.setCouponInfo(newGoods.getCouponInfo());
- goods.setCouponLink(newGoods.getCouponLink());
- goods.setTkRate(newGoods.getTkRate());
- taoBaoGoodsBrief = goods;
- }
+ List<TaoBaoGoodsBrief> listQuality = new ArrayList<TaoBaoGoodsBrief>();
- if (taoBaoGoodsBrief != null) {
- listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), ""));
- }
- }
- });
+ // 鍙栧伓鏁颁釜鏁版嵁
+ if (listExtra.size() % 2 != 0) {
+ listExtra.remove(listExtra.size() - 1);
+ }
- List<TaoBaoGoodsBrief> listQuality = new ArrayList<TaoBaoGoodsBrief>();
+ if (listQuality.size() % 2 != 0) {
+ listQuality.remove(listQuality.size() - 1);
+ }
- // 鍙栧伓鏁颁釜鏁版嵁
- if (listExtra.size() % 2 != 0) {
- listExtra.remove(listExtra.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 (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));
}
/**
@@ -2529,61 +2554,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 {
+ for (int i = 0; i < list.size(); i++) {
+ Special special = list.get(i);
- List<Special> list = new ArrayList<Special>();
- // 涓撻娲诲姩
- String specialCard = "special_activities";
-
- List<Special> listSpecial = specialService.listPageBySystemAndCard(0, Integer.MAX_VALUE, specialCard,
- system.getId());
-
- if (listSpecial != null) {
- list.addAll(listSpecial);
+ JumpDetailV2 jumpDetail = special.getJumpDetail();
+ if (jumpDetail != null) {
+ jumpDetail.setNeedLogin(special.isJumpLogin());
+ special.setJumpDetail(jumpDetail);
}
- for (int i = 0; i < list.size(); i++) {
- Special special = list.get(i);
-
- JumpDetailV2 jumpDetail = special.getJumpDetail();
- if (jumpDetail != null) {
- jumpDetail.setNeedLogin(special.isJumpLogin());
- special.setJumpDetail(jumpDetail);
- }
-
- String name = special.getName();
- if (StringUtil.isNullOrEmpty(name)) {
- continue;
- }
-
- // 鏄惁闇�瑕佸脊鍑烘
- if (name.equals("璐︽埛绛夌骇鐗规潈")) {
- if (!VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) {
- list.remove(i);
- i--;
- } else {
- if (uid != null) {
- special.setElastic(userTaoLiJinOriginService.hasRankHongBao(uid));
- }
- }
- }
+ String name = special.getName();
+ if (StringUtil.isNullOrEmpty(name)) {
+ continue;
}
+ }
- JSONObject root = new JSONObject();
- root.put("special", JsonUtil.getApiCommonGson().toJson(list));
+ JSONObject root = new JSONObject();
+ root.put("special", JsonUtil.getApiCommonGson().toJson(list));
+ if (StringUtil.isNullOrEmpty(callback))
out.print(JsonUtil.loadTrueResult(root));
-
- } catch (Exception e) {
- e.printStackTrace();
- }
+ else
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(root));
}
}
--
Gitblit v1.8.0