From 7ad7905f32ef6b2d67bbd45260a0413be904fa8d Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 20 九月 2019 14:33:08 +0800
Subject: [PATCH] 品牌 、金币任务bug

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandGoodsCaheServiceImpl.java |  182 +++++++++++++++++++++++++++++----------------
 1 files changed, 117 insertions(+), 65 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandGoodsCaheServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandGoodsCaheServiceImpl.java
index 2178d27..0ab76b5 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandGoodsCaheServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandGoodsCaheServiceImpl.java
@@ -1,6 +1,5 @@
 package com.yeshi.fanli.service.impl.brand;
 
-import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -12,6 +11,7 @@
 import com.yeshi.fanli.dto.jd.JDFilter;
 import com.yeshi.fanli.dto.jd.JDSearchFilter;
 import com.yeshi.fanli.dto.jd.JDSearchResult;
+import com.yeshi.fanli.dto.jd.JDShopInfo;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
 import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
@@ -22,10 +22,10 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
 import com.yeshi.fanli.service.inter.brand.BrandGoodsCaheService;
+import com.yeshi.fanli.service.inter.brand.BrandShopCaheService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
-import com.yeshi.fanli.tag.PageEntity;
-import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
+import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
@@ -43,6 +43,9 @@
 	
 	@Resource
 	private BrandGoodsCaheDao brandGoodsCaheDao;
+	
+	@Resource
+	private BrandShopCaheService brandShopCaheService;
 	
 	
 	@Override
@@ -65,30 +68,48 @@
 	 * @return
 	 */
 	private int addBrandGoodsTB(BrandInfo brandInfo) {
+		Date date = new Date();
 		SearchFilter filter = new SearchFilter();
 		filter.setKey(brandInfo.getName());
 		filter.setPage(1);
-		filter.setPageSize(50);
+		filter.setPageSize(100);
 		filter.setTmall(true);
 		filter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
 		TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(filter);
-		if (searchResult == null || searchResult.getTaoBaoGoodsBriefs() ==  null 
-				|| searchResult.getTaoBaoGoodsBriefs().size() == 0)
-			return 0;
 		
-		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-		BigDecimal shareRate = hongBaoManageService.getShareRate();
-		List<TaoBaoGoodsBrief> listGoods = searchResult.getTaoBaoGoodsBriefs();
-		for (TaoBaoGoodsBrief goods: listGoods) {
-			BrandGoodsCahe brandGoods = new BrandGoodsCahe();
-			brandGoods.setBrandId(brandInfo.getId());
-			brandGoods.setWeight((int) (Math.random() * 1000));
-			brandGoods.setGoods(GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate, shareRate));
-			brandGoods.setCreateTime(new Date());
-			brandGoods.setUpdateTime(new Date());
-			brandGoodsCaheDao.save(brandGoods);
+		int count = 0;
+		if (searchResult != null && searchResult.getTaoBaoGoodsBriefs() != null 
+				&& searchResult.getTaoBaoGoodsBriefs().size() > 0) {
+			boolean addShop = true;
+			List<TaoBaoGoodsBrief> listGoods = searchResult.getTaoBaoGoodsBriefs();
+			for (TaoBaoGoodsBrief goods: listGoods) {
+				// 娣诲姞搴楅摵
+				String shopTitle = goods.getShopTitle();
+				if (addShop && !StringUtil.isNullOrEmpty(shopTitle) && shopTitle.contains("鏃楄埌搴�") 
+						&& shopTitle.contains(brandInfo.getName())) {
+					addShop = brandShopCaheService.addBrandShopTB(brandInfo.getId(), goods.getAuctionId(),
+							goods.getSellerId());
+				}
+				
+				// 娣诲姞鍟嗗搧
+				if (count < 50) {
+					BrandGoodsCahe brandGoods = new BrandGoodsCahe();
+					brandGoods.setBrandId(brandInfo.getId());
+					brandGoods.setWeight((int) (Math.random() * 1000));
+					brandGoods.setGoodsType(1);
+					brandGoods.setGoodsTB(goods);
+					brandGoods.setCreateTime(date);
+					brandGoodsCaheDao.insert(brandGoods);
+					count ++;
+				} else if (!addShop) {
+					break;
+				}
+			}
 		}
-		return listGoods.size();
+		// 鍒犻櫎涔嬪墠鐨�
+	    brandGoodsCaheDao.removeByDate(brandInfo.getId(), 1 , date);
+		 
+		return count;
 	}
 	
 	
@@ -99,49 +120,61 @@
 	 * @return
 	 */
 	private int addBrandGoodsJD(BrandInfo brandInfo) {
+		int count = 0;
 		JDSearchResult result = null;
 		String way = configService.get("jd_api_search_key");
-		if ("1".equals(way)) {
-			JDFilter filterAPI = new JDFilter();
-			filterAPI.setKeyword(SearchFilterUtil.filterSearchContent(brandInfo.getName()));
-			filterAPI.setPageIndex(1);
-			filterAPI.setPageSize(100);
-			filterAPI.setSort(JDFilter.SORT_DESC);
-			filterAPI.setSortName(JDFilter.SORTNAME_ORDER_COUNT_30DAYS);
-			result = JDApiUtil.queryByKey(filterAPI);
-		} else {
-			// 缃戦〉鐖彇
-			JDSearchFilter jdfilter = new JDSearchFilter();
-			jdfilter.setKey(SearchFilterUtil.filterSearchContent(brandInfo.getName()));
-			jdfilter.setPageNo(1);
-			jdfilter.setPageSize(100);
-			jdfilter.setSort(JDSearchFilter.SORT_DESC);
-			jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
-			result = JDUtil.searchByKey(jdfilter);
-		}
-
-		int count = 0;
-		if (result != null) {
-			PageEntity pageEntity = result.getPageEntity();
-			if (pageEntity != null) {
-				count = (int) pageEntity.getTotalCount();
+		Date date = new Date();
+		for (int i=0; i < 2;i ++) {
+			if ("1".equals(way)) {
+				JDFilter filterAPI = new JDFilter();
+				filterAPI.setKeyword(SearchFilterUtil.filterSearchContent(brandInfo.getName()));
+				filterAPI.setPageIndex(1);
+				filterAPI.setPageSize(30);
+				filterAPI.setSort(JDFilter.SORT_DESC);
+				filterAPI.setSortName(JDFilter.SORTNAME_ORDER_COUNT_30DAYS);
+				result = JDApiUtil.queryByKey(filterAPI);
+			} else {
+				// 缃戦〉鐖彇
+				JDSearchFilter jdfilter = new JDSearchFilter();
+				jdfilter.setKey(SearchFilterUtil.filterSearchContent(brandInfo.getName()));
+				jdfilter.setPageNo(1);
+				jdfilter.setPageSize(30);
+				jdfilter.setSort(JDSearchFilter.SORT_DESC);
+				jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
+				result = JDUtil.searchByKey(jdfilter);
 			}
-
-			List<JDGoods> goodsList = result.getGoodsList();
-			if (goodsList != null && goodsList.size() > 0) {
-				BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-				BigDecimal shareRate = hongBaoManageService.getShareRate();
-				for (JDGoods goods : goodsList) {
-					BrandGoodsCahe brandGoods = new BrandGoodsCahe();
-					brandGoods.setBrandId(brandInfo.getId());
-					brandGoods.setWeight((int) (Math.random() * 1000));
-					brandGoods.setGoods(GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate));
-					brandGoods.setCreateTime(new Date());
-					brandGoods.setUpdateTime(new Date());
-					brandGoodsCaheDao.save(brandGoods);
+			
+			if (result != null) {
+				List<JDGoods> goodsList = result.getGoodsList();
+				if (goodsList != null && goodsList.size() > 0) {
+					for (JDGoods goods : goodsList) {
+						BrandGoodsCahe brandGoods = new BrandGoodsCahe();
+						brandGoods.setBrandId(brandInfo.getId());
+						brandGoods.setWeight((int) (Math.random() * 1000));
+						brandGoods.setGoodsJD(goods);
+						brandGoods.setGoodsType(2);
+						brandGoods.setCreateTime(date);
+						brandGoodsCaheDao.insert(brandGoods);
+						
+						if (count == 0) {
+							JDShopInfo shopInfo = goods.getShopInfo();
+							if(shopInfo != null) {
+								brandShopCaheService.addBrandShopJD(brandInfo, shopInfo);
+							}
+						}
+						
+						count ++;
+						if (count >= 50) {
+							break;
+						}
+					}
 				}
 			}
 		}
+		
+		// 鍒犻櫎涔嬪墠
+	    brandGoodsCaheDao.removeByDate(brandInfo.getId(), 2 , date);
+				
   		return count;
 	}
 	
@@ -155,28 +188,47 @@
 		PDDSearchFilter pddfilter = new PDDSearchFilter();
 		pddfilter.setKw(brandInfo.getName());
 		pddfilter.setPage(1);
-		pddfilter.setPageSize(50);
+		pddfilter.setPageSize(100);
 		pddfilter.setSortType(6);
-
+		Date date = new Date();
 		int count = 0;
 		PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter);
 		if (result != null) {
-			count = result.getTotalCount();
 			List<PDDGoodsDetail> goodsList = result.getGoodsList();
 			if (goodsList != null && goodsList.size() > 0) {
-				BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-				BigDecimal shareRate = hongBaoManageService.getShareRate();
 				for (PDDGoodsDetail goods : goodsList) {
 					BrandGoodsCahe brandGoods = new BrandGoodsCahe();
 					brandGoods.setBrandId(brandInfo.getId());
 					brandGoods.setWeight((int) (Math.random() * 1000));
-					brandGoods.setGoods(GoodsDetailVOFactory.convertPDDGoods(goods, fanLiRate, shareRate));
-					brandGoods.setCreateTime(new Date());
-					brandGoods.setUpdateTime(new Date());
-					brandGoodsCaheDao.save(brandGoods);
+					brandGoods.setGoodsType(3);
+					brandGoods.setGoodsPDD(goods);
+					brandGoods.setCreateTime(date);
+					brandGoodsCaheDao.insert(brandGoods);
+					count ++;
+					if (count >= 50) {
+						break;
+					}
 				}
 			}
 		}
+		// 娣诲姞搴楅摵
+		brandShopCaheService.addBrandShopPDD(brandInfo);
+		
+		// 鍒犻櫎涔嬪墠
+		brandGoodsCaheDao.removeByDate(brandInfo.getId(), 3, date);
+		
 		return count;
+		
+	}
+	
+	
+	@Override
+	public List<BrandGoodsCahe> getByBrandId(int start, int count, Long brandId){
+		return brandGoodsCaheDao.getByBrandId(start, count, brandId);
+	}
+	
+	@Override
+	public long countByBrandId(Long brandId){
+		return brandGoodsCaheDao.countByBrandId(brandId);
 	}
 }

--
Gitblit v1.8.0