From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 13 四月 2020 10:04:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java | 99 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 84 insertions(+), 15 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
index 1cbcfc3..c2ab12b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
@@ -9,14 +9,14 @@
import javax.annotation.Resource;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
+import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -24,21 +24,24 @@
import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import org.yeshi.utils.JsonUtil;
-import org.yeshi.utils.taobao.TbImgUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
@Service
public class TaoKeGoodsServiceImpl implements TaoKeGoodsService {
@Resource
- private HongBaoManageService manageService;
+ private HongBaoManageService hongBaoManageService;
@Resource
private TaoBaoShopService taoBaoShopService;
@@ -78,9 +81,7 @@
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
- Map<String, String> map = manageService.convertMap();
-
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
listGoods.parallelStream().forEach(taoBaoGoodsBrief -> {
@@ -207,8 +208,7 @@
int fh = sf.getHongbao();
boolean ft = sf.isTmall();
- Map<String, String> map = manageService.convertMap();
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
if (fq == 0 && fh == 0 && !ft) {
if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -219,7 +219,7 @@
if (!StringUtil.isNullOrEmpty(startBiz30day)) {
int biz30day = Integer.parseInt(startBiz30day);
if (count < biz30day) {
- break;
+ continue;
}
}
@@ -272,6 +272,75 @@
return data;
}
+
+
+ @Override
+ @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoV2-'+#sf+'-'+#platform+'-'+#version")
+ public JSONObject searchWuLiaoV2(SearchFilter sf,String platform,String version) {
+
+ // 娣樺疂鐗╂枡鎺ュ彛鏌ヨ
+ TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
+
+ List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
+ if (result.getNavList() != null)
+ navList.addAll(result.getNavList());
+
+ Gson gson = new GsonBuilder().create();
+ JSONObject data = new JSONObject();
+ data.put("nav", gson.toJson(navList));
+
+ List<GoodsDetailVO> re = new ArrayList<GoodsDetailVO>();
+ List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
+
+ int fq = sf.getQuan();
+ int fh = sf.getHongbao();
+ boolean ft = sf.isTmall();
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(platform, version);
+
+ if (fq == 0 && fh == 0 && !ft) {
+ if (result != null && result.getTaoBaoGoodsBriefs() != null)
+ for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) {
+ int count = bf.getBiz30day();
+
+ String startBiz30day = sf.getStartBiz30day();
+ if (!StringUtil.isNullOrEmpty(startBiz30day)) {
+ int biz30day = Integer.parseInt(startBiz30day);
+ if (count < biz30day) {
+ continue;
+ }
+ }
+
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(bf, paramsDTO);
+ re.add(goodsDetailVO);
+ }
+ } else {
+ if (taoBaoGoodsBriefs != null)
+ for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
+
+ int count = taoBaoGoodsBrief.getBiz30day();
+ String startBiz30day = sf.getStartBiz30day();
+ if (!StringUtil.isNullOrEmpty(startBiz30day)) {
+ int biz30day = Integer.parseInt(startBiz30day);
+ if (count < biz30day) {
+ break;
+ }
+ }
+ GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
+ re.add(goodsDetailVO);
+ }
+ }
+
+ Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().create();
+
+ data.put("result", gson2.toJson(re));
+ data.put("count", result.getTaoBaoHead().getDocsfound());
+
+ return data;
+ }
+
+
@Override
@Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoList-'+#sf")
@@ -415,7 +484,7 @@
int fh = sf.getHongbao();
boolean ft = sf.isTmall();
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
if (fq == 0 && fh == 0 && !ft) {
if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -569,7 +638,7 @@
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate();
/* 閬嶅巻鍒楄〃鏁版嵁 */
for (QualityFactory selectionGoods : listQuality) {
--
Gitblit v1.8.0