From 39c683421f75449c7a85280fa499bae3a2f5241b Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期一, 26 八月 2019 09:27:49 +0800
Subject: [PATCH] 金币领取

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 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..aa6924d 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
@@ -22,13 +22,17 @@
 import com.yeshi.fanli.entity.bus.lable.QualityFactory;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.lable.LabelService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+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.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;
 
@@ -55,6 +59,13 @@
 
 	@Resource
 	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+	
+	@Resource
+	private HongBaoManageService hongBaoManageService;
+	
+	@Resource
+	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
+	
 
 	@Override
 	@Cacheable(value = "qualityCache", key = "'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
@@ -172,9 +183,16 @@
 	@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=taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
 		goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);// 杩囨护澶ф窐瀹㈡爣棰�
 		for (int i = 0; i < list.size(); i++) {
 			if (i < goodsList.size())
@@ -226,6 +244,7 @@
 		return qualityFactoryMapper.listRecommendToIndex(start, count, proportion, commision, couponAmount, tkRate,
 				couponRatio);
 	}
+	
 
 	@Override
 	public long countRecommend(Double proportion, Integer commision, Integer couponAmount, double tkRate,
@@ -310,7 +329,64 @@
 
 		return array;
 	}
+	
+	
+	
 
+	/**
+	 * 棣栭〉鏈�搴曢儴@鍟嗗搧淇℃伅娴�
+	 */
+	@Override
+	@Cacheable(value = "qualityCache", key = "'getRecommendToIndexV2-'+#start")
+	public JSONArray getRecommendToIndexV2(long start, int count) {
+
+		// 杩斿埄閲戦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 = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);
+		} catch (Exception e) {
+		}
+
+		BigDecimal shareRate = hongBaoManageService.getShareRate();
+		for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) {
+			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate);
+			array.add(gson.toJson(detailVO));
+		}
+
+		return array;
+	}
+
+	
+	
 	@Override
 	@Cacheable(value = "qualityCache", key = "'countRecommendToIndex-'+#proportion")
 	public long countRecommendToIndex(String proportion) {

--
Gitblit v1.8.0