From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java |  206 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 133 insertions(+), 73 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 dd4e65f..4e2b0d0 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,28 +24,34 @@
 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.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 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 OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
 	@Resource
 	private TaoBaoShopService taoBaoShopService;
-	
+
 	@Resource
 	private QualityGoodsService qualityGoodsService;
-	
 
 	@Cacheable(value = "taoKeMaterialCache", key = "'listByMaterial-'+#materialId +'-'+#pageIndex")
 	@Override
@@ -79,9 +85,7 @@
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = hongBaoManageService.getFanLiRate();
 
 		listGoods.parallelStream().forEach(taoBaoGoodsBrief -> {
 
@@ -119,8 +123,8 @@
 				taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
 			}
 
-			arrayGoods
-					.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+			arrayGoods.add(
+					gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
 
 		});
 
@@ -208,9 +212,7 @@
 		int fh = sf.getHongbao();
 		boolean ft = sf.isTmall();
 
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = hongBaoManageService.getFanLiRate();
 
 		if (fq == 0 && fh == 0 && !ft) {
 			if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -221,7 +223,7 @@
 					if (!StringUtil.isNullOrEmpty(startBiz30day)) {
 						int biz30day = Integer.parseInt(startBiz30day);
 						if (count < biz30day) {
-							break;
+							continue;
 						}
 					}
 
@@ -229,10 +231,10 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						bf.setSalesCount(salesCountMidea + "涓�");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					} else {
 						bf.setSalesCount(count + "");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					}
 				}
 		} else {
@@ -254,13 +256,13 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					} else {
 						taoBaoGoodsBrief.setSalesCount(count + "");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					}
 				}
@@ -274,6 +276,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 = orderHongBaoMoneyComputeService.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")
@@ -286,8 +357,7 @@
 
 		return result.getTaoBaoGoodsBriefs();
 	}
-	
-	
+
 	@Override
 	public JSONObject listByWuLiao(int page, String key, String cateIds, String filterParams, String order,
 			String startprice, String endprice, String searchParam) {
@@ -418,9 +488,7 @@
 		int fh = sf.getHongbao();
 		boolean ft = sf.isTmall();
 
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = hongBaoManageService.getFanLiRate();
 
 		if (fq == 0 && fh == 0 && !ft) {
 			if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -430,10 +498,10 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						bf.setSalesCount(salesCountMidea + "涓�");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					} else {
 						bf.setSalesCount(count + "");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					}
 				}
 		} else {
@@ -445,13 +513,13 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					} else {
 						taoBaoGoodsBrief.setSalesCount(count + "");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					}
 				}
@@ -465,13 +533,11 @@
 
 		return data;
 	}
-	
-	
-	@Override
-	public void setSearchFilter(SearchFilter searchfilter, String filter, String order,
-			String startprice, String endprice, String fastFilter, Integer totalSales) {
 
-		
+	@Override
+	public void setSearchFilter(SearchFilter searchfilter, String filter, String order, String startprice,
+			String endprice, String fastFilter, Integer totalSales) {
+
 		if (!StringUtil.isNullOrEmpty(startprice)) {
 			searchfilter.setStartPrice(new BigDecimal(startprice));
 		}
@@ -512,8 +578,7 @@
 				}
 			}
 		}
-		
-		
+
 		if (!com.yeshi.fanli.util.StringUtil.isNullOrEmpty(order)) {
 			if (Integer.parseInt(order) == 1 || Integer.parseInt(order) == 0) {
 				searchfilter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
@@ -529,60 +594,55 @@
 		} else {
 			searchfilter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
 		}
-		
+
 	}
 
-	
 	@Override
-	@Cacheable(value = "qualityCache",key="'countByQuality-'+#start+'-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
-	public List<QualityFactory> queryByQuality(long start, int count,String searchKey, Long systemCid,
+	@Cacheable(value = "qualityCache", key = "'countByQuality-'+#start+'-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
+	public List<QualityFactory> queryByQuality(long start, int count, String searchKey, Long systemCid,
 			List<Long> listLabId) {
-		
+
 		/* 1銆� 绮鹃�夊簱绛涢�� */
 		List<QualityFactory> listQuality = null;
-		
+
 		if (listLabId != null && listLabId.size() > 0) {
 			// 鍚爣绛�
-			listQuality = qualityGoodsService.listQueryByKeyAndlabIDs(start, count, searchKey,
-					listLabId, null, systemCid, null, null, null, null, null);
-		} else {
-			listQuality = qualityGoodsService.listQueryByKey(start, count, searchKey, null,
+			listQuality = qualityGoodsService.listQueryByKeyAndlabIDs(start, count, searchKey, listLabId, null,
 					systemCid, null, null, null, null, null);
+		} else {
+			listQuality = qualityGoodsService.listQueryByKey(start, count, searchKey, null, systemCid, null, null, null,
+					null, null);
 		}
-		
+
 		return listQuality;
 	}
 
-	
 	@Override
-	@Cacheable(value = "qualityCache",key="'countByQuality-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
+	@Cacheable(value = "qualityCache", key = "'countByQuality-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
 	public long countByQuality(String searchKey, Long systemCid, List<Long> listLabId) {
-		
+
 		long incount = 0;
-		
+
 		if (listLabId != null && listLabId.size() > 0) {
 			// 鍚爣绛�
-			incount = qualityGoodsService.countQueryKeyAndlabIDs(searchKey, listLabId, systemCid, 
-					null, null, null, null, null);
+			incount = qualityGoodsService.countQueryKeyAndlabIDs(searchKey, listLabId, systemCid, null, null, null,
+					null, null);
 		} else {
 			incount = qualityGoodsService.countQueryByKey(searchKey, systemCid, null, null, null, null, null);
 		}
-		
+
 		return incount;
 	}
 
-
-
 	@Override
-	public JSONObject listQualityGoods(List<QualityFactory> listQuality, List<TaoBaoGoodsBrief> searchWuLiaoList, 
-			Map<String, String> map ) {
-		
+	public JSONObject listQualityGoods(List<QualityFactory> listQuality, List<TaoBaoGoodsBrief> searchWuLiaoList,
+			Map<String, String> map) {
+
 		JSONArray array = new JSONArray();
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-		
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+
+		BigDecimal proportion = hongBaoManageService.getFanLiRate();
 
 		/* 閬嶅巻鍒楄〃鏁版嵁 */
 		for (QualityFactory selectionGoods : listQuality) {
@@ -602,7 +662,7 @@
 				taoBaoGoodsBrief.setSalesCount(biz30day + "");
 			}
 
-			array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+			array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
 		}
 
 		if (searchWuLiaoList != null && searchWuLiaoList.size() > 0) {
@@ -620,7 +680,7 @@
 				}
 
 				array.add(gson
-						.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+						.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
 			}
 		}
 
@@ -631,8 +691,8 @@
 		data.put("nav", gsonBuilder.toJson(navList));
 		data.put("count", 5000);
 		data.put("result", array);
-		
+
 		return data;
 	}
-	
+
 }

--
Gitblit v1.8.0