From d46dea27b6ec3e0fb32ec7d137699e9fc7d609b0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 12 十二月 2019 14:18:11 +0800
Subject: [PATCH] 订单补贴消息修改
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 216 insertions(+), 24 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 7623017..9832eee 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
@@ -12,15 +12,17 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
+import com.yeshi.fanli.dto.dataoke.DingDongTime;
import com.yeshi.fanli.dto.jd.JDSearchResult;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.homemodule.Special;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.jd.JDGoods;
@@ -31,16 +33,17 @@
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
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.SwiperPictureService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.jd.JDGoodsService;
import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
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;
@@ -60,6 +63,7 @@
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.goods.SpikeTimeVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.search.SearchKeyTOPVO;
import com.yeshi.fanli.vo.search.SearchKeyVO;
@@ -126,6 +130,9 @@
@Resource
private DaTaoKeGoodsService daTaoKeGoodsService;
+ @Resource
+ private HongBaoV2CountService hongBaoV2CountService;
+
/**
* 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3)
*
@@ -173,7 +180,7 @@
if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
root.put("scoreExchange", getScoreExchangeInfo(acceptData));
- if (VersionUtil.greaterThan_2_0_0(acceptData.getPlatform(), acceptData.getVersion()))
+ if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
out.print(JsonUtil.loadTrueResult(root));
@@ -200,24 +207,28 @@
}
private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
- List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime();
long nowTime = System.currentTimeMillis();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTimeInMillis(nowTime);
+ List<DingDongTime> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
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);
+ if (dateNum >= Integer.parseInt(dtoList.get(i).getTime())
+ && dateNum < Integer.parseInt(dtoList.get(i + 1).getTime())) {
+ timeStr = dtoList.get(i).getTime();
nextPos = i + 1;
break;
}
}
+
if (timeStr == null)
- timeStr = dtoList.get(dtoList.size() - 1);
+ timeStr = dtoList.get(dtoList.size() - 1).getTime();
long nextTime = nowTime + 1000 * 60 * 60L;// 榛樿涓�1灏忔椂
if (nextPos < dtoList.size()) {
- nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos),
+ nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(),
"yyyyMMddHH");
}
@@ -238,7 +249,13 @@
}
}
- JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
+ JumpDetailV2 jumpDetail = null;
+ if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
+ jumpDetail = jumpDetailV2Service.getByTypeCache("spike_goods_list");
+ } else {
+ jumpDetail = jumpDetailV2Service.getByTypeCache("web");
+ }
+
if (array == null) {
array = new JSONArray();
@@ -264,8 +281,8 @@
if (taoBaoGoodsBrief == null) {
continue;
}
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
- shareRate);
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief,
+ new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate()));
JSONObject params = new JSONObject();
params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
@@ -326,6 +343,86 @@
}
/**
+ * 闄愭椂绉掓潃鍒楄〃
+ *
+ * @param acceptData
+ * @param page
+ * @param auctionId
+ * @param time
+ * @param out
+ */
+ @RequestMapping("getSpikTime")
+ public void getSpikTime(AcceptData acceptData, PrintWriter out) {
+ List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance());
+ List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
+ for (int i = 0; i < timeList.size(); i++) {
+ SpikeTimeVO spikeTime1 = new SpikeTimeVO();
+ spikeTime1.setTime(
+ timeList.get(i).getTime().subSequence(2, 4)+":00");
+ if (timeList.get(i).getState() <= 0)
+ spikeTime1.setState("杩涜涓�");
+ else
+ spikeTime1.setState("鍗冲皢寮�濮�");
+ if (timeList.get(i).getState() == 0)
+ spikeTime1.setChecked(true);
+ spikeTime1.setRequestTime(timeList.get(i).getTime());
+ list.add(spikeTime1);
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("count", list.size());
+ data.put("list", list);
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 闄愭椂绉掓潃鍒楄〃
+ *
+ * @param acceptData
+ * @param page
+ * @param auctionId
+ * @param time
+ * @param out
+ */
+ @RequestMapping("getSpikeGoodsList")
+ public void getSpikeGoodsList(AcceptData acceptData, Integer page, Long goodsId, String qtime, PrintWriter out) {
+ List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(qtime);
+ if (detailList0 == null)
+ detailList0 = new ArrayList<>();
+
+ List<DaTaoKeDetailV2> detailList = new ArrayList<>();
+ detailList.addAll(detailList0);
+ JSONArray array = new JSONArray();
+ if (page == 1 && goodsId != null && detailList != null) {
+ for (int i = 0; i < detailList.size(); i++) {
+ if (detailList.get(i).getGoodsId().longValue() == goodsId) {
+ DaTaoKeDetailV2 goods = detailList.get(i);
+ detailList.remove(i);
+ detailList.add(0, goods);
+ break;
+ }
+ }
+ }
+
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+ if (detailList != null) {
+ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+ BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
+ for (DaTaoKeDetailV2 detail : detailList) {
+ array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO)));
+ }
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("count", detailList.size());
+ data.put("list", array);
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
* 閲戝竵鍏戞崲淇℃伅
*
* @param acceptData
@@ -364,7 +461,7 @@
for (int i = 0; i < arrayKeys.size(); i++) {
String name = arrayKeys.get(i).toString();
JSONObject params = new JSONObject();
- params.put("searchKey", name);
+ params.put("content", name);
SearchKeyVO keyVO = new SearchKeyVO();
keyVO.setName(name);
@@ -458,8 +555,10 @@
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
for (TaoBaoGoodsBrief goods : goodsList) {
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate, shareRate);
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
if (page < 3)
detailVO.setRecommend(true);
@@ -472,12 +571,12 @@
if (page == 1) {
List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
- if (list != null && list.size() > 0)
+ if (list != null && list.size() > 0) {
+ BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
+ ConfigParamsDTO paramsBuy = new ConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
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);
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), paramsBuy);
String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),
TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
@@ -497,6 +596,7 @@
detailVO.setRecommend(true);
array.add(0, gson.toJson(detailVO));
}
+ }
}
JSONObject data = new JSONObject();
@@ -531,15 +631,14 @@
if (gList != null) {
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
-
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
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, paramsDTO);
detailVO.setRecommend(true);
goodsList.add(detailVO);
}
@@ -605,10 +704,12 @@
if (goodsList != null && goodsList.size() > 0) {
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
for (JDGoods goods : goodsList) {
- GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate);
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO);
array.add(gson.toJson(goodsDetailVO));
}
}
@@ -637,9 +738,10 @@
if (goodsList != null && goodsList.size() > 0) {
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
for (PDDGoodsDetail goods : goodsList) {
- GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, fanLiRate, shareRate);
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
array.add(gson.toJson(goodsDetailVO));
}
}
@@ -671,6 +773,7 @@
count = arrayKeys.size();
BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
int j = 1;
for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {
@@ -683,8 +786,8 @@
List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
if (listTaoKe != null && listTaoKe.size() > 0) {
for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) {
- listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null,
- fanLiRate, shareRate));
+ listGoods.add(
+ GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
if (listGoods.size() >= 3)
break;
}
@@ -711,4 +814,93 @@
out.print(JsonUtil.loadTrueResult(data));
}
+ /**
+ * 鑾峰彇涓撻娓犻亾娲诲姩
+ *
+ * @param acceptData
+ * @param uid
+ * @param callback
+ * @param out
+ */
+ @RequestMapping(value = "getSpecialChannelActivity")
+ public void getSpecialChannelActivity(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
+
+ int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
+
+ List<Special> list = specialService.listByPlaceKey("special_channel_activity", platformCode,
+ Integer.parseInt(acceptData.getVersion()));
+
+ long time = System.currentTimeMillis();
+ // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑
+ for (int i = 0; i < list.size(); i++) {
+ Special special = list.get(i);
+ if (special.getState() == 1L) {
+ list.remove(i--);
+ } else {
+ if (special.getStartTime() != null && special.getEndTime() != null)
+ special.setTimeTask(true);
+ else
+ special.setTimeTask(false);
+
+ if (special.isTimeTask()) {
+ if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
+ list.remove(i--);
+ } else// 璁剧疆鍊掕鏃�
+ {
+ special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
+ }
+ }
+ }
+ }
+
+ GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+ Gson gson = gsonBuilder.create();
+ JSONObject data = new JSONObject();
+ data.put("count", list.size());
+ data.put("list", gson.toJson(list));
+ if (!StringUtil.isNullOrEmpty(callback)) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+ } else
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 鑾峰彇涓撻娓犻亾娲诲姩
+ *
+ * @param acceptData
+ * @param uid
+ * @param callback
+ * @param out
+ */
+ @RequestMapping(value = "getGuide")
+ public void getGuide(AcceptData acceptData, Long uid, PrintWriter out) {
+ String tips = null;
+ if (uid == null || uid <= 0) {
+ tips = configService.get("tip_guide_new_user");
+ } else {
+ long rebateOrder = hongBaoV2CountService.countRebateOrder(uid);
+ long shareOrInviteOrder = hongBaoV2CountService.countShareOrInviteOrder(uid);
+ if (rebateOrder + shareOrInviteOrder >= 3) {
+ // 鐔熷鐗�
+ } else if (rebateOrder <= 0 && shareOrInviteOrder <= 0) {
+ // 鏂颁汉鐗�
+ tips = configService.get("tip_guide_new_user");
+ } else if (rebateOrder > 0 && shareOrInviteOrder <= 0) {
+ // 鐪侀挶鐗�
+ tips = configService.get("tip_guide_save_money");
+ } else {
+ // 璧氶挶鐗�
+ tips = configService.get("tip_guide_share_invite");
+ }
+ }
+
+ if (StringUtil.isNullOrEmpty(tips)) {
+ out.print(JsonUtil.loadFalseResult("鏆傛棤鎻愮ず"));
+ return;
+ }
+
+ JSONObject data = JSONObject.fromObject(tips);
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
}
--
Gitblit v1.8.0