From 0922bfdb56bc30125d6fc8e13c50cdda7cd9dc72 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 09 九月 2019 18:59:52 +0800
Subject: [PATCH] 提现自动绑定修改
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java | 315 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 211 insertions(+), 104 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..70cf105 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
@@ -21,12 +21,12 @@
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
-import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -41,20 +41,25 @@
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.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
+import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
+import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.goods.OtherInfo;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
+import com.yeshi.fanli.vo.search.SearchKeyVO;
import com.yeshi.fanli.vo.tlj.ReduceHongBao;
import net.sf.json.JSONArray;
@@ -72,13 +77,13 @@
@Resource
private RedisManager redisManager;
-
+
@Resource
private HomeRecommendGoodsService homeRecommendGoodsService;
-
+
@Resource
private ConfigService configService;
-
+
@Resource
private MonitorService monitorService;
@@ -90,26 +95,31 @@
@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;
+
+ @Resource
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
/**
* 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3)
*
@@ -126,10 +136,11 @@
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);
+
root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
// 3銆侀個璇锋湁濂�
@@ -153,7 +164,10 @@
}
root.put("spikeGoods", getSpikeGoodsContent(acceptData));
+ if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
+ root.put("scoreExchange", getScoreExchangeInfo(acceptData));
+ root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
out.print(JsonUtil.loadTrueResult(root));
} catch (Exception e) {
out.print(JsonUtil.loadFalseResult(1, "鑾峰彇鏁版嵁澶辫触"));
@@ -164,9 +178,7 @@
}
}
}
-
-
/**
* 闄愭椂绉掓潃 1.5.3
*
@@ -178,48 +190,35 @@
JSONObject root = getSpikeGoodsContent(acceptData);
out.print(JsonUtil.loadTrueResult(root));
}
-
-
private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
- // 涓嬩竴娆″�掕鏃剁殑鏃堕棿
- int type = qualityFlashSaleService.getNowType() + 1;
- int hour = 0;
- switch (type) {
- case 1:
- hour = 0;
- break;
- case 2:
- hour = 9;
- break;
- case 3:
- hour = 12;
- break;
- case 4:
- hour = 14;
- break;
- case 5:
- hour = 16;
- break;
- case 6:
- hour = 20;
- break;
- case 7:
- hour = 22;
- break;
- default:
- break;
+ List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime();
+ long nowTime = System.currentTimeMillis();
+ int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
+ String timeStr = null;
+ int nextPos = 0;
+ for (int i = 0; i < dtoList.size() - 1; i++) {
+ if (dateNum >= Integer.parseInt(dtoList.get(i)) && dateNum < Integer.parseInt(dtoList.get(i + 1))) {
+ timeStr = dtoList.get(i);
+ nextPos = i + 1;
+ break;
+ }
}
+ if (timeStr == null)
+ timeStr = dtoList.get(dtoList.size() - 1);
- Calendar nextTime = Calendar.getInstance();
- nextTime.set(Calendar.HOUR_OF_DAY, hour);
- nextTime.set(Calendar.MINUTE, 0);
- nextTime.set(Calendar.SECOND, 0);
- nextTime.set(Calendar.MILLISECOND, 0);
+ long nextTime = nowTime + 1000 * 60 * 60L;// 榛樿涓�1灏忔椂
+ if (nextPos < dtoList.size()) {
+ nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos),
+ "yyyyMMddHH");
+ }
JSONArray array = null;
String timekey = String.format("spikeGoods_hour_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
String cachekey = String.format("spikeGoodsList_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
+ Calendar nowCalendar = Calendar.getInstance();
+ nowCalendar.setTimeInMillis(nowTime);
+ int hour = nowCalendar.get(Calendar.HOUR_OF_DAY);
String timeValue = redisManager.getCommonString(timekey);
if (timeValue == null || !timeValue.equals(hour + "")) {
@@ -230,34 +229,39 @@
array = JSONArray.fromObject(cacheValue);
}
}
+
JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
if (array == null) {
array = new JSONArray();
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
-
+
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
// 缂撳瓨涓笉瀛樺湪
- List<QualityFactory> listGoods = qualityGoodsService.listFlashSaleRandGoods();
+ List<DaTaoKeDetailV2> listGoods = daTaoKeGoodsDetailV2Service.getDingDongQiangData(timeStr);
if (listGoods == null) {
- listGoods = new ArrayList<QualityFactory>();
+ listGoods = new ArrayList<>();
}
+
+ if (listGoods != null && listGoods.size() > 3)
+ listGoods = listGoods.subList(0, 3);
/* 閬嶅巻鍒楄〃鏁版嵁 */
- for (QualityFactory qualityFactory : listGoods) {
- TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
+ for (DaTaoKeDetailV2 detail : listGoods) {
+ TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail);
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);
@@ -274,56 +278,150 @@
// 缂撳瓨鍗婁釜灏忔椂
redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30);
}
- Long endTime = nextTime.getTimeInMillis() - java.lang.System.currentTimeMillis();
+
+ // 鑾峰彇浠婂ぉ鐨勬暟鎹�
+
+ Long endTime = nextTime - nowTime;
JSONObject root = new JSONObject();
- root.put("time", nextTime.getTimeInMillis());
+
+ if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
+ root.put("time", nextTime);
+ 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);
+ 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);
+ }
+
+ root.put("time", nextTime);
root.put("endTime", endTime > 0 ? endTime : 0);
root.put("listgoods", array);
+ 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("url", configService.get("spike_goods_link"));
-
+ params.put("balanceMore", true);
root.put("params", params);
- root.put("jumpDetail", jumpDetail);
+ 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
+ * @return
+ */
+ private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) {
+ JSONArray array = new JSONArray();
+ String keys = configService.get("search_discovery_keys");
+ if (!StringUtil.isNullOrEmpty(keys)) {
+ JSONArray arrayKeys = JSONArray.fromObject(keys);
+ for (int i = 0; i < arrayKeys.size(); i++) {
+ String name = arrayKeys.get(i).toString();
+ JSONObject params = new JSONObject();
+ params.put("searchKey", name);
+
+ SearchKeyVO keyVO = new SearchKeyVO();
+ keyVO.setName(name);
+ keyVO.setParams(params.toString());
+ array.add(keyVO);
+ }
+ }
+
+ JSONObject params = new JSONObject();
+ params.put("url", configService.get("search_discovery_h5_link"));
+
+ JSONObject root = new JSONObject();
+ root.put("picture", "http://img.flqapp.com/resource/home_search_found.png");
+ root.put("params", params);
+ root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web",
+ Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+
+ root.put("jumpResult", jumpDetailV2Service.getByTypeCache("search_goods_result",
+ Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+ root.put("keyList", array);
+ 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 +431,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 +470,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 +525,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 +576,10 @@
data.put("count", 1000);
out.print(JsonUtil.loadTrueResult(data));
}
-
-
-
-
+
/**
* 浜笢棣栭〉鍟嗗搧
+ *
* @param acceptData
* @param page
* @param out
@@ -506,15 +613,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 +644,5 @@
data.put("count", count);
out.print(JsonUtil.loadTrueResult(data));
}
-
+
}
--
Gitblit v1.8.0