From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 18 一月 2020 12:06:27 +0800
Subject: [PATCH] 用户注册信息

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java |   79 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 75 insertions(+), 4 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
index e10a3ab..6e7fb08 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
@@ -17,6 +17,7 @@
 import com.yeshi.fanli.dao.mybatis.lable.LabelGoodsMapper;
 import com.yeshi.fanli.dao.mybatis.lable.QualityFactoryMapper;
 import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
 import com.yeshi.fanli.entity.bus.lable.Label;
 import com.yeshi.fanli.entity.bus.lable.LabelGoods;
 import com.yeshi.fanli.entity.bus.lable.QualityFactory;
@@ -24,11 +25,15 @@
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
 import com.yeshi.fanli.service.inter.lable.LabelService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
 import com.yeshi.fanli.util.RedisManager;
 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.vo.goods.GoodsDetailVO;
 
 import net.sf.json.JSONArray;
 
@@ -54,7 +59,13 @@
 	private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
 
 	@Resource
-	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+	@Resource
+	private HongBaoManageService hongBaoManageService;
+
+	@Resource
+	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
 
 	@Override
 	@Cacheable(value = "qualityCache", key = "'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
@@ -172,10 +183,17 @@
 	@Cacheable(value = "qualityCache", key = "'listQueryByClassId-'+#start+'-'+#cid")
 	public List<QualityFactory> listQueryByClassId(long start, int count, Long cid) {
 		List<QualityFactory> list = qualityFactoryMapper.listQuery(start, count, null, cid, null, null, 1);
+
+		if (list == null) {
+			list = new ArrayList<QualityFactory>();
+		}
+
 		List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
 		for (QualityFactory qf : list)
 			goodsList.add(qf.getTaoBaoGoodsBrief());
-		goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);// 杩囨护澶ф窐瀹㈡爣棰�
+		// 杩囨护鍟嗗搧淇℃伅
+		goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
+		goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);// 杩囨护澶ф窐瀹㈡爣棰�
 		for (int i = 0; i < list.size(); i++) {
 			if (i < goodsList.size())
 				list.get(i).setTaoBaoGoodsBrief(goodsList.get(i));
@@ -285,7 +303,7 @@
 		}
 
 		try {
-			goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);
+			goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);
 		} catch (Exception e) {
 		}
 
@@ -311,6 +329,59 @@
 		return array;
 	}
 
+	/**
+	 * 棣栭〉鏈�搴曢儴@鍟嗗搧淇℃伅娴�
+	 */
+	@Override
+	@Cacheable(value = "qualityCache", key = "'getRecommendToIndexV2-'+#start+'-'+#platform+'-'+#version")
+	public JSONArray getRecommendToIndexV2(long start, int count, String platform, String version) {
+
+		// 杩斿埄閲戦2鍏冧互涓婏紱
+		Integer commision = 2;
+		// 浼樻儬鍒搁潰棰濋珮浜�5鍏冧互涓�
+		Integer couponAmount = 5;
+		// 浣i噾姣斾緥楂樼殑:5%浠ヤ笂锛�
+		double tkRate = 5.0;
+		// 浼樻儬鐜囬珮浜�10%浠ヤ笂锛堜紭鎯犵巼=浼樻儬鍒搁潰棰�/鍟嗗搧鍦ㄥ敭浠�*100%锛�
+		Double couponRatio = 10.0;
+
+		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+		Double pop = 50.0;
+		if (fanLiRate != null) {
+			pop = Double.parseDouble(fanLiRate.toString());
+		}
+
+		List<QualityFactory> listQuery = listRecommend(start, count, pop, commision, couponAmount, tkRate, couponRatio);
+
+		if (listQuery == null || listQuery.size() == 0) {
+			return null;
+		}
+
+		JSONArray array = new JSONArray();
+		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
+		// 閬嶅巻鍒楄〃鏁版嵁
+		//
+		List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+		for (QualityFactory quality : listQuery) {
+			if (quality.getTaoBaoGoodsBrief() != null)
+				goodsList.add(quality.getTaoBaoGoodsBrief());
+		}
+
+		try {
+			goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);
+		} catch (Exception e) {
+		}
+
+		ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(platform, version);
+
+		for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) {
+			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
+			array.add(gson.toJson(detailVO));
+		}
+
+		return array;
+	}
+
 	@Override
 	@Cacheable(value = "qualityCache", key = "'countRecommendToIndex-'+#proportion")
 	public long countRecommendToIndex(String proportion) {

--
Gitblit v1.8.0