From f4f96b503bfa85fa6342fe4661e70ae525504593 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 27 六月 2019 17:43:26 +0800
Subject: [PATCH] 分享BUG修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java |  218 ++++++++++++++++++++++++++---------------------------
 1 files changed, 107 insertions(+), 111 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 3728429..b07d2a3 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
@@ -25,6 +25,7 @@
 import com.yeshi.fanli.service.inter.lable.LabelService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
 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.taobao.TaoBaoUtil;
@@ -52,41 +53,38 @@
 	@Resource
 	private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
 
-	
-	
+	@Resource
+	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+
 	@Override
-	@Cacheable(value = "qualityCache",key="'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
-	public List<QualityFactory> listQueryByCouponAmount(long start, int count, Integer key, 
-			Integer endAmount, Integer startPropor){
+	@Cacheable(value = "qualityCache", key = "'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
+	public List<QualityFactory> listQueryByCouponAmount(long start, int count, Integer key, Integer endAmount,
+			Integer startPropor) {
 		return qualityFactoryMapper.listQueryByCouponAmount(start, count, key, endAmount, startPropor);
 	}
-	
+
 	@Override
-	@Cacheable(value = "qualityCache",key="'countQueryByCouponAmount-'+#key+'-'+#endAmount+'-'+#startPropor")
-	public long countQueryByCouponAmount(Integer key, Integer endAmount, Integer startPropor){
+	@Cacheable(value = "qualityCache", key = "'countQueryByCouponAmount-'+#key+'-'+#endAmount+'-'+#startPropor")
+	public long countQueryByCouponAmount(Integer key, Integer endAmount, Integer startPropor) {
 		return qualityFactoryMapper.countQueryByCouponAmount(key, endAmount, startPropor);
 	}
 
-	
 	@Override
-	@Cacheable(value = "qualityCache",key="'listQueryByFlashSale-'+#start")
+	@Cacheable(value = "qualityCache", key = "'listQueryByFlashSale-'+#start")
 	public List<QualityFactory> listQueryByFlashSale(long start, int count) {
 		return qualityFactoryMapper.listQueryByFlashSale(start, count);
 	}
 
 	@Override
-	//@Cacheable(value = "qualityCache",key="'countQueryByFlashSale-'")
+	// @Cacheable(value = "qualityCache",key="'countQueryByFlashSale-'")
 	public long countQueryByFlashSale() {
 		return qualityFactoryMapper.countQueryByFlashSale();
 	}
-	
+
 	@Override
 	public List<QualityFactory> listFlashSaleRandGoods() {
 		return qualityFactoryMapper.listFlashSaleRandGoods();
 	}
-	
-	
-	
 
 	/**
 	 * 灏忛噾棰濇煡璇細9.9/19.9/29.9/49.9
@@ -101,7 +99,7 @@
 	 * @return
 	 */
 	@Override
-	@Cacheable(value = "quality9K9Cache",key="'get9k9ClassGoods-'+#start+'-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
+	@Cacheable(value = "quality9K9Cache", key = "'get9k9ClassGoods-'+#start+'-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
 	public List<QualityFactory> get9k9ClassGoods(long start, int count, Integer biz30day, BigDecimal zkPrice,
 			BigDecimal minQuanPrice, BigDecimal maxQuanPrice, String cids) {
 		return qualityFactoryMapper.get9k9ClassGoods(start, count, biz30day, zkPrice, minQuanPrice, maxQuanPrice, cids);
@@ -111,8 +109,8 @@
 	 * 瀵瑰簲灏忛噾棰濇煡璇細9.9/19.9/29.9/49.9
 	 */
 	@Override
-	@Cacheable(value = "quality9K9Cache",key="'count9k9ClassGoods-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
-	public long count9k9ClassGoods(Integer biz30day, BigDecimal zkPrice, BigDecimal minQuanPrice, 
+	@Cacheable(value = "quality9K9Cache", key = "'count9k9ClassGoods-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
+	public long count9k9ClassGoods(Integer biz30day, BigDecimal zkPrice, BigDecimal minQuanPrice,
 			BigDecimal maxQuanPrice, String cids) {
 		return qualityFactoryMapper.count9k9ClassGoods(biz30day, zkPrice, minQuanPrice, maxQuanPrice, cids);
 	}
@@ -126,16 +124,16 @@
 	 * @param labId
 	 * @return
 	 */
-	public List<QualityFactory> listQueryByKeyAndlabIDs(long start, int count,String key, List<Long> listId, Integer sort,
-			Long systemCid,	Integer hasQuan, Integer userType, Integer biz30day,Integer startprice, Integer endprice) {
-		return qualityFactoryMapper.listQueryByKeyAndlabIDs(start, count, key, listId, sort,systemCid, hasQuan, userType,
-				biz30day, startprice, endprice);
+	public List<QualityFactory> listQueryByKeyAndlabIDs(long start, int count, String key, List<Long> listId,
+			Integer sort, Long systemCid, Integer hasQuan, Integer userType, Integer biz30day, Integer startprice,
+			Integer endprice) {
+		return qualityFactoryMapper.listQueryByKeyAndlabIDs(start, count, key, listId, sort, systemCid, hasQuan,
+				userType, biz30day, startprice, endprice);
 	}
 
-
 	public long countQueryKeyAndlabIDs(String key, List<Long> listId, Long systemCid, Integer hasQuan, Integer userType,
-			Integer biz30day,Integer startprice, Integer endprice) {
-		return qualityFactoryMapper.countQueryKeyAndlabIDs(key, listId,systemCid, hasQuan, userType, biz30day,
+			Integer biz30day, Integer startprice, Integer endprice) {
+		return qualityFactoryMapper.countQueryKeyAndlabIDs(key, listId, systemCid, hasQuan, userType, biz30day,
 				startprice, endprice);
 	}
 
@@ -149,17 +147,16 @@
 	 * @return
 	 */
 	@Override
-	public List<QualityFactory> listQueryByKey(long start, int count, String key, Integer sort,Long systemCid,
-			Integer hasQuan, Integer userType, Integer biz30day,Integer startprice, Integer endprice) {
-		return qualityFactoryMapper.listQueryByKey(start, count, key, sort, systemCid,hasQuan, userType, biz30day,
+	public List<QualityFactory> listQueryByKey(long start, int count, String key, Integer sort, Long systemCid,
+			Integer hasQuan, Integer userType, Integer biz30day, Integer startprice, Integer endprice) {
+		return qualityFactoryMapper.listQueryByKey(start, count, key, sort, systemCid, hasQuan, userType, biz30day,
 				startprice, endprice);
 	}
 
-	public long countQueryByKey(String key, Long systemCid,Integer hasQuan, Integer userType,
-			Integer biz30day,Integer startprice, Integer endprice) {
-		
-		return qualityFactoryMapper.countQueryByKey(key, systemCid,hasQuan, userType, biz30day,
-				startprice, endprice);
+	public long countQueryByKey(String key, Long systemCid, Integer hasQuan, Integer userType, Integer biz30day,
+			Integer startprice, Integer endprice) {
+
+		return qualityFactoryMapper.countQueryByKey(key, systemCid, hasQuan, userType, biz30day, startprice, endprice);
 	}
 
 	/**
@@ -172,117 +169,117 @@
 	 * @return
 	 */
 	@Override
-	@Cacheable(value = "qualityCache",key="'listQueryByClassId-'+#start+'-'+#cid")
+	@Cacheable(value = "qualityCache", key = "'listQueryByClassId-'+#start+'-'+#cid")
 	public List<QualityFactory> listQueryByClassId(long start, int count, Long cid) {
 		return qualityFactoryMapper.listQuery(start, count, null, cid, null, null, 1);
 	}
 
 	@Override
-	@Cacheable(value = "qualityCache",key="'countQueryClassId-'+#cid")
+	@Cacheable(value = "qualityCache", key = "'countQueryClassId-'+#cid")
 	public long countQueryClassId(Long cid) {
 		return qualityFactoryMapper.countQuery(null, cid, null, null, 1);
 	}
-	
-	
+
 	@Override
-	@Cacheable(value = "qualityCache",key="'listQueryByRebateAmount-'+#start+'-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
-	public List<QualityFactory> listQueryByRebateAmount(long start, int count,String proportion,
-			Integer startAmount, Integer endAmount, double tkRate){
+	@Cacheable(value = "qualityCache", key = "'listQueryByRebateAmount-'+#start+'-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
+	public List<QualityFactory> listQueryByRebateAmount(long start, int count, String proportion, Integer startAmount,
+			Integer endAmount, double tkRate) {
 		return qualityFactoryMapper.listQueryByRebateAmount(start, count, proportion, startAmount, endAmount, tkRate);
 	}
-	
+
 	@Override
-	@Cacheable(value = "qualityCache",key="'countQueryByRebateAmount-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
-	public long countQueryByRebateAmount(String proportion, Integer startAmount, Integer endAmount, double tkRate){
+	@Cacheable(value = "qualityCache", key = "'countQueryByRebateAmount-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
+	public long countQueryByRebateAmount(String proportion, Integer startAmount, Integer endAmount, double tkRate) {
 		return qualityFactoryMapper.countQueryByRebateAmount(proportion, startAmount, endAmount, tkRate);
 	}
-	
-	
-	
+
 	@Override
-	//@Cacheable(value = "qualityCache",key="'queryToCouponColumn-'+#start")
+	// @Cacheable(value = "qualityCache",key="'queryToCouponColumn-'+#start")
 	@Cacheable(value = "taoBaoCouponCache", key = "'queryToCouponColumn'+#start")
-	public List<QualityFactory> queryToCouponColumn(long start, int count){
+	public List<QualityFactory> queryToCouponColumn(long start, int count) {
 		return qualityFactoryMapper.queryToCouponColumn(start, count);
 	}
-	
+
 	@Override
-	//@Cacheable(value = "qualityCache",key="'countQueryToCouponColumn'")
+	// @Cacheable(value = "qualityCache",key="'countQueryToCouponColumn'")
 	@Cacheable(value = "taoBaoCouponCache", key = "'countQueryToCouponColumn'")
-	public long countQueryToCouponColumn(){
+	public long countQueryToCouponColumn() {
 		return qualityFactoryMapper.countQueryToCouponColumn();
 	}
 
-	
 	/**
 	 * 棣栭〉鏈�搴曢儴@鍟嗗搧淇℃伅娴�
 	 */
 	@Override
-	public List<QualityFactory> listRecommend(long start, int count, Double proportion, Integer commision, Integer couponAmount,
-			double tkRate, Double couponRatio) {
-		return qualityFactoryMapper.listRecommendToIndex(start, count, proportion, commision, couponAmount, tkRate, couponRatio);
+	public List<QualityFactory> listRecommend(long start, int count, Double proportion, Integer commision,
+			Integer couponAmount, double tkRate, Double couponRatio) {
+		return qualityFactoryMapper.listRecommendToIndex(start, count, proportion, commision, couponAmount, tkRate,
+				couponRatio);
 	}
 
 	@Override
-	public long countRecommend(Double proportion, Integer commision, Integer couponAmount, double tkRate, Double couponRatio) {
+	public long countRecommend(Double proportion, Integer commision, Integer couponAmount, double tkRate,
+			Double couponRatio) {
 		return qualityFactoryMapper.countRecommendToIndex(proportion, commision, couponAmount, tkRate, couponRatio);
 	}
 
-	
 	@Override
-	public List<QualityFactory> listRecommendBykey(long start, int count, String key, Integer hasQuan,
-			Integer userType, Double startprice, Double endprice, Double startTkRate, Double endTkRate, Integer sort) {
-		return qualityFactoryMapper.listRecommendBykey(start, count, key, hasQuan, userType,
-				startprice, endprice, startTkRate, endTkRate, sort);
+	public List<QualityFactory> listRecommendBykey(long start, int count, String key, Integer hasQuan, Integer userType,
+			Double startprice, Double endprice, Double startTkRate, Double endTkRate, Integer sort) {
+		return qualityFactoryMapper.listRecommendBykey(start, count, key, hasQuan, userType, startprice, endprice,
+				startTkRate, endTkRate, sort);
 	}
 
 	@Override
-	public long countRecommendBykey(String key, Integer hasQuan, Integer userType,
-			Double startprice, Double endprice, Double startTkRate, Double endTkRate) {
-		return qualityFactoryMapper.countRecommendBykey(key, hasQuan, userType, startprice, endprice, startTkRate, endTkRate);
+	public long countRecommendBykey(String key, Integer hasQuan, Integer userType, Double startprice, Double endprice,
+			Double startTkRate, Double endTkRate) {
+		return qualityFactoryMapper.countRecommendBykey(key, hasQuan, userType, startprice, endprice, startTkRate,
+				endTkRate);
 	}
-	
-	
+
 	/**
 	 * 棣栭〉鏈�搴曢儴@鍟嗗搧淇℃伅娴�
 	 */
 	@Override
-	@Cacheable(value = "qualityCache",key="'listQueryToRecommend-'+#start+'-'+#proportion")
+	@Cacheable(value = "qualityCache", key = "'listQueryToRecommend-'+#start+'-'+#proportion")
 	public JSONArray getRecommendToIndex(long start, int count, String proportion) {
-		
+
 		// 杩斿埄閲戦2鍏冧互涓婏紱
-		Integer commision = 2; 
+		Integer commision = 2;
 		// 浼樻儬鍒搁潰棰濋珮浜�5鍏冧互涓�
 		Integer couponAmount = 5;
 		// 浣i噾姣斾緥楂樼殑:5%浠ヤ笂锛�
 		double tkRate = 5.0;
-		// 浼樻儬鐜囬珮浜�10%浠ヤ笂锛堜紭鎯犵巼=浼樻儬鍒搁潰棰�/鍟嗗搧鍦ㄥ敭浠�*100%锛�	
+		// 浼樻儬鐜囬珮浜�10%浠ヤ笂锛堜紭鎯犵巼=浼樻儬鍒搁潰棰�/鍟嗗搧鍦ㄥ敭浠�*100%锛�
 		Double couponRatio = 10.0;
-		
+
 		Double pop = 50.0;
 		if (!StringUtil.isNullOrEmpty(proportion)) {
 			pop = Double.parseDouble(proportion);
 		}
-		
-		List<QualityFactory> listQuery = 
-				listRecommend(start, count, pop, commision, couponAmount, tkRate, couponRatio);
-		
+
+		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) {
+		}
 
-			TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief();
-
-			if (taoBaoGoodsBrief == null) {
-				continue;
-			}
-
+		for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) {
 			int biz30day = taoBaoGoodsBrief.getBiz30day();
 			if (biz30day >= 10000) {
 				double sales = biz30day;
@@ -291,13 +288,13 @@
 			} else {
 				taoBaoGoodsBrief.setSalesCount(biz30day + "");
 			}
-			
-			// 鏀瑰彉鍥剧墖灏哄 
+
+			// 鏀瑰彉鍥剧墖灏哄
 			String pictUrl = taoBaoGoodsBrief.getPictUrl();
 			if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
 				taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
 			}
-			
+
 			array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, null)));
 		}
 
@@ -305,88 +302,87 @@
 	}
 
 	@Override
-	@Cacheable(value = "qualityCache",key="'countRecommendToIndex-'+#proportion")
+	@Cacheable(value = "qualityCache", key = "'countRecommendToIndex-'+#proportion")
 	public long countRecommendToIndex(String proportion) {
-		
+
 		// 杩斿埄閲戦2鍏冧互涓婏紱
-		Integer commision = 2; 
+		Integer commision = 2;
 		// 浼樻儬鍒搁潰棰濋珮浜�5鍏冧互涓�
 		Integer couponAmount = 5;
 		// 浣i噾姣斾緥楂樼殑:5%浠ヤ笂锛�
 		double tkRate = 5.0;
-		// 浼樻儬鐜囬珮浜�10%浠ヤ笂锛堜紭鎯犵巼=浼樻儬鍒搁潰棰�/鍟嗗搧鍦ㄥ敭浠�*100%锛�	
+		// 浼樻儬鐜囬珮浜�10%浠ヤ笂锛堜紭鎯犵巼=浼樻儬鍒搁潰棰�/鍟嗗搧鍦ㄥ敭浠�*100%锛�
 		Double couponRatio = 10.0;
-		
+
 		Double pop = 50.0;
 		if (!StringUtil.isNullOrEmpty(proportion)) {
 			pop = Double.parseDouble(proportion);
 		}
-		
+
 		return countRecommend(pop, commision, couponAmount, tkRate, couponRatio);
 	}
-	
+
 	@Override
-	public List<QualityFactory> recommendByAuctionId(Long auctionId){
-		
-		
+	public List<QualityFactory> recommendByAuctionId(Long auctionId) {
+
 		List<Long> list = new ArrayList<Long>();
 		list.add(auctionId);
 		List<QualityFactory> listTaoBaoGoods = qualityFactoryMapper.listQueryByAuctionId(list);
-		
+
 		if (listTaoBaoGoods == null || listTaoBaoGoods.size() == 0) {
 			return null;
 		}
-		
+
 		QualityFactory qualityFactory = listTaoBaoGoods.get(0);
 		TaoBaoGoodsBrief goodsBrief = qualityFactory.getTaoBaoGoodsBrief();
 		if (goodsBrief == null) {
 			return null;
 		}
-		
+
 		List<LabelGoods> listLab = labelGoodsMapper.queryByGoodsId(0, 200, goodsBrief.getId());
 		if (listLab == null || listLab.size() == 0) {
 			return null;
 		}
-		
+
 		// 鏍囩id
 		List<Long> listId = new ArrayList<Long>();
-		for (LabelGoods labelGoods: listLab) {
+		for (LabelGoods labelGoods : listLab) {
 			Label label = labelGoods.getLabel();
 			if (label != null) {
 				listId.add(label.getId());
 			}
 		}
-		
+
 		if (listId.size() == 0) {
 			return null;
 		}
-		
-		return qualityFactoryMapper.listQueryBylabIDs(0, 10, listId, goodsBrief.getId(),qualityFactory.getSystemCid());
+
+		return qualityFactoryMapper.listQueryBylabIDs(0, 10, listId, goodsBrief.getId(), qualityFactory.getSystemCid());
 	}
-	
+
 	@Override
 	public List<QualityFactory> listFreeGoods(long start, int count) {
 		return qualityFactoryMapper.listFreeGoods(start, count);
 	}
-	
+
 	@Override
 	public long countFreeGoods() {
 		return qualityFactoryMapper.countFreeGoods();
 	}
-	
+
 	@Override
 	public List<QualityFactory> listByShopId(long start, int count, Long shopId) {
 		return qualityFactoryMapper.listByShopId(start, count, shopId);
 	}
-	
+
 	@Override
 	public long countByShopId(Long shopId) {
 		return qualityFactoryMapper.countByShopId(shopId);
 	}
 
 	@Override
-	public List<QualityFactory> listQueryEverydayRob(long start, int count,	BigDecimal zkPrice, 
-			BigDecimal minQuanPrice, BigDecimal maxQuanPrice) {
+	public List<QualityFactory> listQueryEverydayRob(long start, int count, BigDecimal zkPrice, BigDecimal minQuanPrice,
+			BigDecimal maxQuanPrice) {
 		return qualityFactoryMapper.listQueryEverydayRob(start, count, zkPrice, minQuanPrice, maxQuanPrice);
 	}
 

--
Gitblit v1.8.0