From 11c098089f8c4714188e91032e5a19e8fe94bf96 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 22 八月 2019 09:26:52 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java | 211 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 138 insertions(+), 73 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
index 6eded12..283bdb3 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -41,6 +41,7 @@
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.pdd.PDDGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
@@ -72,13 +73,13 @@
@Resource
private RedisManager redisManager;
-
+
@Resource
private HomeRecommendGoodsService homeRecommendGoodsService;
-
+
@Resource
private ConfigService configService;
-
+
@Resource
private MonitorService monitorService;
@@ -90,26 +91,28 @@
@Resource
private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
-
+
@Resource
private JumpDetailV2Service jumpDetailV2Service;
-
+
@Resource
private DeviceSexService deviceSexService;
-
+
@Resource
private SpecialService specialService;
@Resource
private SwiperPictureService swiperPictureService;
-
+
@Resource
private JDGoodsService jdGoodsService;
-
+
@Resource
private PDDGoodsService pddGoodsService;
-
-
+
+ @Resource
+ private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
+
/**
* 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3)
*
@@ -126,10 +129,16 @@
JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex);
// 2銆侀《閮ㄨ疆鎾浘
- List<SwiperPicture> topPicList = swiperPictureService.getByBannerCard("index_top");
- if (topPicList == null) {
- topPicList = new ArrayList<SwiperPicture>();
+ List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("index_top");
+ List<SwiperPicture> topPicList = new ArrayList<>();
+ if (oldtopPicList != null && oldtopPicList.size() > 0)
+ topPicList.addAll(oldtopPicList);
+ if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+ SwiperPicture notifyReName = swiperPictureService.selectByPrimaryKey(162L);
+ if (notifyReName != null)
+ topPicList.add(0, notifyReName);
}
+
root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
// 3銆侀個璇锋湁濂�
@@ -153,6 +162,8 @@
}
root.put("spikeGoods", getSpikeGoodsContent(acceptData));
+ if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
+ root.put("scoreExchange", getScoreExchangeInfo(acceptData));
out.print(JsonUtil.loadTrueResult(root));
} catch (Exception e) {
@@ -164,9 +175,7 @@
}
}
}
-
-
/**
* 闄愭椂绉掓潃 1.5.3
*
@@ -178,8 +187,6 @@
JSONObject root = getSpikeGoodsContent(acceptData);
out.print(JsonUtil.loadTrueResult(root));
}
-
-
private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
// 涓嬩竴娆″�掕鏃剁殑鏃堕棿
@@ -236,7 +243,7 @@
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
-
+
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
@@ -253,11 +260,12 @@
if (taoBaoGoodsBrief == null) {
continue;
}
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate);
-
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
+ shareRate);
+
JSONObject params = new JSONObject();
params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
-
+
JSONObject goods = new JSONObject();
goods.put("goods", gson.toJson(detailVO));
goods.put("params", params);
@@ -277,53 +285,101 @@
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("listgoods", array);
-
- JSONObject params = new JSONObject();
- params.put("url", configService.get("spike_goods_link"));
-
- root.put("params", params);
- root.put("jumpDetail", jumpDetail);
+ if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
+ root.put("time", nextTime.getTimeInMillis());
+ root.put("endTime", endTime > 0 ? endTime : 0);
+ JSONArray imgArray = new JSONArray();
+ if (array != null)
+ for (int i = 0; i < array.size(); i++) {
+ imgArray.add(array.optJSONObject(i).optJSONObject("goods").optString("picUrl"));
+ }
+ root.put("imgList", imgArray);
+ JSONObject params = new JSONObject();
+ params.put("url", configService.get("spike_goods_link"));
+ root.put("params", params);
+ root.put("jumpDetail", jumpDetail);
+ root.put("name", "闄愭椂绉掓潃");
+ root.put("desc", "鏁寸偣鏇存柊锛屽ソ鐗╂姠璐�");
+ } else {
+ root.put("time", nextTime.getTimeInMillis());
+ root.put("endTime", endTime > 0 ? endTime : 0);
+ root.put("listgoods", array);
+ JSONObject params = new JSONObject();
+ params.put("url", configService.get("spike_goods_link"));
+ root.put("params", params);
+ root.put("jumpDetail", jumpDetail);
+ }
return root;
}
-
-
-
+
+ /**
+ * 閲戝竵鍏戞崲淇℃伅
+ *
+ * @param acceptData
+ * @return
+ */
+ private JSONObject getScoreExchangeInfo(AcceptData acceptData) {
+
+ JSONObject root = new JSONObject();
+ JSONArray array = new JSONArray();
+ array.add(
+ "http://img.flqapp.com/resource/integral/integral_home_icon_2.png");
+ array.add(
+ "http://img.flqapp.com/resource/integral/integral_home_icon_1.png");
+ root.put("imgList", array);
+ JSONObject params = new JSONObject();
+ params.put("balanceMore", true);
+ root.put("params", params);
+ root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("integralExchange",
+ Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+
+ root.put("name", "閲戝竵鍏戞崲");
+ root.put("desc", "姣忔棩绛惧埌锛屾儕鍠滀笉鍋�");
+ root.put("tagImg", "http://img.flqapp.com/resource/score_exchange_tag.png");
+ return root;
+ }
+
/**
* 棣栭〉搴曢儴鍟嗗搧鎺ㄨ崘
+ *
* @param acceptData
* @param out
*/
@RequestMapping(value = "getGoodList")
- public void getGoodList(AcceptData acceptData, Integer goodsType, Integer page, HttpServletRequest request, PrintWriter out) {
-
+ public void getGoodList(AcceptData acceptData, Integer goodsType, Integer page, HttpServletRequest request,
+ PrintWriter out) {
+
if (goodsType == null || page == null) {
out.print(JsonUtil.loadFalseResult("鍙傛暟淇℃伅涓嶆甯�"));
return;
}
-
- if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
- taoBaoGuessUserLikeByDevice(acceptData, page, request, out);
- return;
+
+ try {
+ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
+ taoBaoGuessUserLikeByDevice(acceptData, page, request, out);
+ return;
+ }
+
+ if (goodsType == Constant.SOURCE_TYPE_JD) {
+ getIndexJDGoods(acceptData, page, out);
+ return;
+ }
+
+ if (goodsType == Constant.SOURCE_TYPE_PDD) {
+ getIndexPDDGoods(acceptData, page, out);
+ return;
+ }
+ out.print(JsonUtil.loadFalseResult("鍟嗗搧绫诲瀷閿欒"));
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ JSONObject data = new JSONObject();
+ data.put("list", new JSONArray());
+ data.put("count", 0);
+ out.print(JsonUtil.loadTrueResult(data));
}
-
- if (goodsType == Constant.SOURCE_TYPE_JD) {
- getIndexJDGoods(acceptData, page, out);
- return;
- }
-
- if (goodsType == Constant.SOURCE_TYPE_PDD) {
- getIndexPDDGoods(acceptData, page, out);
- return;
- }
- out.print(JsonUtil.loadFalseResult("鍟嗗搧绫诲瀷閿欒"));
}
-
-
-
+
/**
* 鏍规嵁璁惧淇℃伅鑾峰彇鐚滀綘鍠滄鐨勫唴瀹�
*
@@ -333,16 +389,24 @@
* @param idfa
* -IOS鐨刬dfa骞垮憡鏍囪瘑淇℃伅
*/
- public void taoBaoGuessUserLikeByDevice(AcceptData acceptData, int page, HttpServletRequest request, PrintWriter out) {
+ public void taoBaoGuessUserLikeByDevice(AcceptData acceptData, int page, HttpServletRequest request,
+ PrintWriter out) {
int pageSize = Constant.PAGE_SIZE;
JSONArray array = new JSONArray();
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
-
+
String idfa = acceptData.getIdfa();
String imei = acceptData.getImei();
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 fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
@@ -364,20 +428,22 @@
for (int i = list.size() - 1; i >= 0; i--) {
TLJBuyGoods goods = list.get(i);
BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), null, rateBuy, rateBuy);
-
- String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
-
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), null, rateBuy,
+ rateBuy);
+
+ String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),
+ TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
+
ReduceHongBao reduceHongBao = new ReduceHongBao();
reduceHongBao.setLeft(goods.getLeftHongBaoCount());
reduceHongBao.setMoney(hongBao);
reduceHongBao.setName("浠樻绔嬪噺 ");
reduceHongBao.setTip("");
reduceHongBao.setTotal(goods.getTotalHongBaoCount());
-
+
OtherInfo otherInfo = new OtherInfo();
otherInfo.setReduceHongBao(reduceHongBao);
-
+
detailVO.setOtherInfo(otherInfo);
detailVO.setPictureTag(new ClientTextStyleVO("绔嬪噺TOP" + (i + 1), "#E5005C", "#FCE431", null));
detailVO.setRecommend(true);
@@ -417,20 +483,21 @@
if (gList != null) {
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
-
+
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())) {
-
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate, shareRate);
+
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate,
+ shareRate);
detailVO.setRecommend(true);
goodsList.add(detailVO);
}
}
}
-
+
try {
monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0,
(int) (java.lang.System.currentTimeMillis() - startTime), "鎺ㄨ崘鏁伴噺:" + goodsList.size()));
@@ -467,12 +534,10 @@
data.put("count", 1000);
out.print(JsonUtil.loadTrueResult(data));
}
-
-
-
-
+
/**
* 浜笢棣栭〉鍟嗗搧
+ *
* @param acceptData
* @param page
* @param out
@@ -506,15 +571,15 @@
out.print(JsonUtil.loadTrueResult(data));
}
-
/**
- * 鐖嗘鎺掕鍟嗗搧-瀹炴椂鐑攢姒�
+ * 鐖嗘鎺掕鍟嗗搧-瀹炴椂鐑攢姒�
+ *
* @param acceptData
* @param page
* @param out
*/
private void getIndexPDDGoods(AcceptData acceptData, int page, PrintWriter out) {
- PDDGoodsResult result = pddGoodsService.getIndexPDDGoods(page);
+ PDDGoodsResult result = pddGoodsService.getTopGoodsList(page, 1);
int count = 0;
JSONArray array = new JSONArray();
if (result != null) {
@@ -537,5 +602,5 @@
data.put("count", count);
out.print(JsonUtil.loadTrueResult(data));
}
-
+
}
--
Gitblit v1.8.0