From 145a6efab30d7a0acb76eee6cd512eba93665efe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 05 十二月 2020 17:19:40 +0800
Subject: [PATCH] 大淘客编码问题解决,mybatis优化
---
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 94 insertions(+), 20 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 13e3adf..7193d26 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,6 +9,7 @@
import javax.annotation.Resource;
+import com.yeshi.fanli.entity.SystemEnum;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.yeshi.utils.JsonUtil;
@@ -16,20 +17,24 @@
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;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra;
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.common.entity.taobao.TaoBaoShopInfo;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
+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 com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -38,7 +43,10 @@
public class TaoKeGoodsServiceImpl implements TaoKeGoodsService {
@Resource
- private HongBaoManageService manageService;
+ private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
@Resource
private TaoBaoShopService taoBaoShopService;
@@ -61,7 +69,7 @@
@Override
@Cacheable(value = "taoKeMaterialCache", key = "'getBrandsGoods-'+#materialId +'-'+#pageIndex")
- public JSONObject getBrandsGoods(Integer materialId, int pageIndex, int pageSize) throws Exception {
+ public JSONObject getBrandsGoods(Integer materialId, int pageIndex, int pageSize, SystemEnum system) throws Exception {
TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(materialId, pageIndex, pageSize);
@@ -78,7 +86,7 @@
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate(system);
listGoods.parallelStream().forEach(taoBaoGoodsBrief -> {
@@ -184,11 +192,11 @@
}
@Override
- @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiao-'+#sf")
- public JSONObject searchWuLiao(SearchFilter sf) {
+ @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiao-'+#sf+'-'+system")
+ public JSONObject searchWuLiao(SearchFilter sf,SystemEnum system) {
// 娣樺疂鐗╂枡鎺ュ彛鏌ヨ
- TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
+ TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf,null,null);
List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
if (result.getNavList() != null)
@@ -205,7 +213,7 @@
int fh = sf.getHongbao();
boolean ft = sf.isTmall();
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate(system);
if (fq == 0 && fh == 0 && !ft) {
if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -271,13 +279,79 @@
}
-
@Override
- @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoList-'+#sf")
- public List<TaoBaoGoodsBrief> searchWuLiaoList(SearchFilter sf) {
+ @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoV2-'+#sf+'-'+#platform+'-'+#version+'-'+#system")
+ public JSONObject searchWuLiaoV2(SearchFilter sf,String platform,String version,SystemEnum system) {
// 娣樺疂鐗╂枡鎺ュ彛鏌ヨ
- TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
+ TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf,null,null);
+
+ 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 = orderHongBaoMoneyComputeService.getShowComputeRate(platform, version,system);
+
+ 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+'-'+system")
+ public List<TaoBaoGoodsBrief> searchWuLiaoList(SearchFilter sf,SystemEnum system) {
+ // 娣樺疂鐗╂枡鎺ュ彛鏌ヨ
+ TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf,null,null);
if (result == null)
return null;
@@ -286,7 +360,7 @@
@Override
public JSONObject listByWuLiao(int page, String key, String cateIds, String filterParams, String order,
- String startprice, String endprice, String searchParam) {
+ String startprice, String endprice, String searchParam,SystemEnum system) {
SearchFilter sf = new SearchFilter();
sf.setKey(key);
@@ -397,7 +471,7 @@
}
// 娣樺疂鐗╂枡鎺ュ彛鏌ヨ
- TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
+ TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf,null,null);
List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
if (result.getNavList() != null)
@@ -414,7 +488,7 @@
int fh = sf.getHongbao();
boolean ft = sf.isTmall();
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate(system);
if (fq == 0 && fh == 0 && !ft) {
if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -562,13 +636,13 @@
@Override
public JSONObject listQualityGoods(List<QualityFactory> listQuality, List<TaoBaoGoodsBrief> searchWuLiaoList,
- Map<String, String> map) {
+ Map<String, String> map,SystemEnum system) {
JSONArray array = new JSONArray();
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
- BigDecimal proportion = manageService.getFanLiRate();
+ BigDecimal proportion = hongBaoManageService.getFanLiRate(system);
/* 閬嶅巻鍒楄〃鏁版嵁 */
for (QualityFactory selectionGoods : listQuality) {
--
Gitblit v1.8.0