From eda623f37c3260f4b4657e34a8a39798c72432b1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期日, 28 六月 2020 15:49:14 +0800
Subject: [PATCH] 搜索接口增加小黄条返回
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java | 86 ++++++++++++++++++++++++++++++------------
1 files changed, 61 insertions(+), 25 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java
index cf55d83..aa32186 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java
@@ -2,7 +2,6 @@
import java.io.PrintWriter;
import java.lang.reflect.Type;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -21,7 +20,10 @@
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
+import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
import com.yeshi.fanli.entity.goods.CommonGoods;
@@ -34,16 +36,20 @@
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
+import com.yeshi.fanli.util.suning.SuningApiUtil;
+import com.yeshi.fanli.util.suning.SuningUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.util.vipshop.VipShopApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONArray;
@@ -63,7 +69,7 @@
private BusinessSystemService businessSystemService;
@Resource
- private HongBaoManageService hongBaoManageService;
+ private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
@Resource
private CollectionGoodsV2Service collectionGoodsV2Service;
@@ -83,9 +89,9 @@
@Resource
private RedisManager redisManager;
-
/**
* 鏀惰棌鍟嗗搧
+ *
* @param acceptData
* @param uid
* @param id
@@ -94,7 +100,7 @@
* @param out
*/
@RequestMapping("collectionGoods")
- public void collectionGoods(AcceptData acceptData, long uid, long id, int type, Integer goodsType,
+ public void collectionGoods(AcceptData acceptData, long uid, String id, int type, Integer goodsType,
PrintWriter out) {
try {
if (goodsType == null) {
@@ -102,21 +108,30 @@
}
if (type != 1) {
- collectionGoodsV2Service.cancelCollectionByAuctionId(uid, id, goodsType);
+ if (goodsType == Constant.SOURCE_TYPE_SUNING) {
+ String[] sts = SuningUtil.getGoodsIdDetail(id);
+ collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(sts[1]), goodsType);
+ } else
+ collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(id), goodsType);
out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛"));
return;
}
-
- CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, id, goodsType);
+ Long goodsId = null;
+ if (goodsType == Constant.SOURCE_TYPE_SUNING) {
+ String[] sts = SuningUtil.getGoodsIdDetail(id);
+ goodsId = Long.parseLong(sts[1]);
+ } else
+ goodsId = Long.parseLong(id);
+ CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, goodsId, goodsType);
if (find != null) {
out.print(JsonUtil.loadFalseResult(""));
return;
}
if (goodsType == Constant.SOURCE_TYPE_JD) {
- JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(id);
+ JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
if (jdGoods == null) {
- jdGoods = JDApiUtil.getGoodsDetail(id);
+ jdGoods = JDApiUtil.getGoodsDetail(goodsId);
}
if (jdGoods == null) {
out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
@@ -124,15 +139,30 @@
}
collectionGoodsV2Service.addJDCollection(uid, jdGoods);
} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
- PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(id);
+ PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
if (pddGoods == null) {
out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
return;
}
collectionGoodsV2Service.addPDDCollection(uid, pddGoods);
+ } else if (goodsType == Constant.SOURCE_TYPE_VIP) {
+ VIPGoodsInfo vipGoods = VipShopApiUtil.getGoodsDetail(id);
+ if (vipGoods == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+ return;
+ }
+ collectionGoodsV2Service.addVIPCollection(uid, vipGoods);
+ } else if (goodsType == Constant.SOURCE_TYPE_SUNING) {
+ String[] sts = SuningUtil.getGoodsIdDetail(id);
+ SuningGoodsInfo suningGoods = SuningApiUtil.getGoodsDetail(sts[1], sts[0]);
+ if (suningGoods == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+ return;
+ }
+ collectionGoodsV2Service.addSuningCollection(uid, suningGoods);
} else {
try {
- TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(id);
+ TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
} catch (TaobaoGoodsDownException e) {
out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
@@ -203,10 +233,14 @@
return;
}
- List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page,
- Constant.PAGE_SIZE, goodsType);
+ boolean notBackSuVip = false;
+ if (!VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion()))
+ notBackSuVip = true;
- long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType);
+ List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page,
+ Constant.PAGE_SIZE, goodsType, notBackSuVip);
+
+ long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType, notBackSuVip);
JSONObject data = new JSONObject();
List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>();
@@ -235,8 +269,8 @@
}
}
- BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
- BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+ acceptData.getVersion());
for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
@@ -258,8 +292,7 @@
commonGoods.setState(state);
}
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, null, fanLiRate,
- shareRate);
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
detailVO.setId(commonGoods.getId());
detailVO.setCreatetime(collectionGoodsV2.getCreateTime());
list.add(detailVO);
@@ -330,8 +363,12 @@
return;
}
+ boolean notBackSuVip = false;
+ if (!VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion()))
+ notBackSuVip = true;
+
List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid(uid, acceptData.getDevice(), page,
- 20, goodsType);
+ 20, goodsType, notBackSuVip);
GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
gsonBuilder.excludeFieldsWithoutExposeAnnotation();
@@ -346,21 +383,20 @@
}
});
- long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType);
+ long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType, notBackSuVip);
JSONArray array = new JSONArray();
if (list != null && list.size() > 0) {
Gson gson = gsonBuilder.create();
- BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
- BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+ acceptData.getVersion());
for (ScanHistoryV2 sh : list) {
CommonGoods commonGoods = sh.getCommonGoods();
if (commonGoods == null) {
continue;
}
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, null, fanLiRate,
- shareRate);
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
detailVO.setId(commonGoods.getId());
detailVO.setCreatetime(sh.getCreateTime());
--
Gitblit v1.8.0