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/brand/BrandGoodsCaheServiceImpl.java |  371 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 228 insertions(+), 143 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 0391489..11acae3 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
@@ -18,9 +18,11 @@
 import com.yeshi.fanli.entity.brand.BrandGoodsCahe;
 import com.yeshi.fanli.entity.brand.BrandInfo;
 import com.yeshi.fanli.entity.jd.JDGoods;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.entity.taobao.SearchFilter;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
+import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.brand.BrandGoodsCaheService;
 import com.yeshi.fanli.service.inter.brand.BrandShopCaheService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -40,207 +42,290 @@
 
 	@Resource
 	private ConfigService configService;
-	
+
 	@Resource
 	private BrandGoodsCaheDao brandGoodsCaheDao;
-	
+
 	@Resource
 	private BrandShopCaheService brandShopCaheService;
-	
-	
+
 	@Override
-	public int addBrandGoods(BrandInfo brandInfo) {
-		int count = 0;
+	public BrandInfo addBrandGoods(BrandInfo brandInfo) {
 		// 娣樺疂
-		count += addBrandGoodsTB(brandInfo);
+		BrandInfo goodsTB = addBrandGoodsTB(brandInfo);
 		// 浜笢
-		count += addBrandGoodsJD(brandInfo);
+		BrandInfo goodsJD = addBrandGoodsJD(brandInfo);
 		// 鎷煎澶�
-		count += addBrandGoodsPDD(brandInfo);
-		
-		return count;
+		BrandInfo goodsPDD = addBrandGoodsPDD(brandInfo);
+
+		int goodsTotal = goodsTB.getGoodsTotal() + goodsJD.getGoodsTotal() + goodsPDD.getGoodsTotal();
+		int shopTotal = goodsTB.getShopTotal() + goodsJD.getShopTotal() + goodsPDD.getShopTotal();
+		goodsTB.setGoodsTotal(goodsTotal);
+		goodsTB.setShopTotal(shopTotal);
+		return goodsTB;
 	}
-	
-	
+
 	/**
 	 * 娣樺疂鍟嗗搧
+	 * 
 	 * @param brandInfo
 	 * @return
 	 */
-	private int addBrandGoodsTB(BrandInfo brandInfo) {
-		String searchKey = brandInfo.getSearchKey();
-		if (StringUtil.isNullOrEmpty(searchKey))
-			searchKey = brandInfo.getName();
-		
+	private BrandInfo addBrandGoodsTB(BrandInfo brandInfo) {
 		Date date = new Date();
-		SearchFilter filter = new SearchFilter();
-		filter.setKey(searchKey);
-		filter.setPage(1);
-		filter.setPageSize(100);
-		filter.setTmall(true);
-		filter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
-		TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(filter);
-		
-		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;
+		BrandInfo numInfo = new BrandInfo();
+		numInfo.setShopTotal(0);
+		numInfo.setGoodsTotal(0);
+		try {
+			String shopKey = brandInfo.getShopKey();
+			if (StringUtil.isNullOrEmpty(shopKey)) {
+				// 鍒犻櫎涔嬪墠鐨�
+				brandGoodsCaheDao.removeByDate(brandInfo.getId(), 1, date);
+				// 鍒犻櫎搴楅摵
+				brandShopCaheService.removeByDateAndType(brandInfo.getId(), 11, date);
+
+				return numInfo;
+			}
+
+			String searchKey = brandInfo.getSearchKey();
+			if (StringUtil.isNullOrEmpty(searchKey))
+				searchKey = brandInfo.getName();
+
+			SearchFilter filter = new SearchFilter();
+			filter.setKey(searchKey);
+			filter.setPage(1);
+			filter.setPageSize(100);
+			filter.setTmall(true);
+			filter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
+			TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(filter);
+
+			// 鍒犻櫎搴楅摵
+			brandShopCaheService.removeByDateAndType(brandInfo.getId(), 11, date);
+
+			// 缁勭粐鍟嗗搧 + 娣诲姞搴楅摵
+			int count = 0;
+			int countShop = 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.toLowerCase().contains(shopKey.toLowerCase())) {
+						addShop = brandShopCaheService.addBrandShopTB(brandInfo, goods.getAuctionId(),
+								goods.getSellerId());
+
+						if (!addShop)
+							countShop = 1;
+					}
+
+					// 娣诲姞鍟嗗搧
+					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(new Date());
+						brandGoodsCaheDao.insert(brandGoods);
+						count++;
+					} else if (!addShop) {
+						break;
+					}
 				}
 			}
+
+			// 鍒犻櫎涔嬪墠鐨�
+			brandGoodsCaheDao.removeByDate(brandInfo.getId(), 1, date);
+			numInfo.setShopTotal(countShop);
+			numInfo.setGoodsTotal(count);
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
 		}
-		// 鍒犻櫎涔嬪墠鐨�
-	    brandGoodsCaheDao.removeByDate(brandInfo.getId(), 1 , date);
-		 
-		return count;
+		return numInfo;
 	}
-	
-	
+
 	/**
-	 *  浜笢鍟嗗搧
-	 *  
+	 * 浜笢鍟嗗搧
+	 * 
 	 * @param brandInfo
 	 * @return
 	 */
-	private int addBrandGoodsJD(BrandInfo brandInfo) {
-		String searchKey = brandInfo.getSearchKey();
-		if (StringUtil.isNullOrEmpty(searchKey))
-			searchKey = brandInfo.getName();
-		
-		int count = 0;
-		JDSearchResult result = null;
-		String way = configService.get("jd_api_search_key");
+	private BrandInfo addBrandGoodsJD(BrandInfo brandInfo) {
 		Date date = new Date();
-		for (int i=0; i < 2;i ++) {
-			if ("1".equals(way)) {
-				JDFilter filterAPI = new JDFilter();
-				filterAPI.setKeyword(SearchFilterUtil.filterSearchContent(searchKey));
-				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(searchKey));
-				jdfilter.setPageNo(1);
-				jdfilter.setPageSize(30);
-				jdfilter.setSort(JDSearchFilter.SORT_DESC);
-				jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
-				result = JDUtil.searchByKey(jdfilter);
+		BrandInfo numInfo = new BrandInfo();
+		numInfo.setShopTotal(0);
+		numInfo.setGoodsTotal(0);
+
+		try {
+			String shopKey = brandInfo.getShopKeyJD();
+			if (StringUtil.isNullOrEmpty(shopKey)) {
+				// 鍒犻櫎搴楅摵
+				brandShopCaheService.removeByDateAndType(brandInfo.getId(), 20, date);
+				// 鍒犻櫎涔嬪墠
+				brandGoodsCaheDao.removeByDate(brandInfo.getId(), 2, date);
+				return numInfo;
 			}
-			
-			if (result != null) {
-				List<JDGoods> goodsList = result.getGoodsList();
-				if (goodsList != null && goodsList.size() > 0) {
+
+			String searchKey = brandInfo.getSearchKeyJD();
+			if (StringUtil.isNullOrEmpty(searchKey))
+				searchKey = brandInfo.getName();
+
+			int count = 0;
+			int countShop = 0;
+			JDSearchResult result = null;
+			String way = configService.get(ConfigKeyEnum.jdApiSearchKey.getKey());
+
+			// 鍒犻櫎搴楅摵
+			brandShopCaheService.removeByDateAndType(brandInfo.getId(), 20, date);
+
+			boolean addShop = true;
+			for (int i = 0; i < 2; i++) {
+				if ("1".equals(way)) {
+					JDFilter filterAPI = new JDFilter();
+					filterAPI.setKeyword(SearchFilterUtil.filterSearchContent(searchKey));
+					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(searchKey));
+					jdfilter.setPageNo(1);
+					jdfilter.setPageSize(30);
+					jdfilter.setSort(JDSearchFilter.SORT_DESC);
+					jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
+					result = JDUtil.searchByKey(jdfilter);
+				}
+
+				if (result != null && result.getGoodsList() != null && result.getGoodsList().size() > 0) {
+					List<JDGoods> goodsList = result.getGoodsList();
 					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);
+						brandGoods.setCreateTime(new Date());
 						brandGoodsCaheDao.insert(brandGoods);
-						
-						if (count == 0) {
-							JDShopInfo shopInfo = goods.getShopInfo();
-							if(shopInfo != null) {
+
+						JDShopInfo shopInfo = goods.getShopInfo();
+						if (addShop && shopInfo != null) {
+							// 鍖呭惈璇ュ搧鐗屽悕绉�
+							String shopName = shopInfo.getShopName();
+							if (!StringUtil.isNullOrEmpty(shopName)
+									&& shopName.toLowerCase().contains(shopKey.toLowerCase())) {
+								addShop = false;
 								brandShopCaheService.addBrandShopJD(brandInfo, shopInfo);
+								countShop = 1;
 							}
 						}
-						
-						count ++;
+
+						count++;
 						if (count >= 50) {
 							break;
 						}
 					}
 				}
 			}
+			// 鍒犻櫎涔嬪墠
+			brandGoodsCaheDao.removeByDate(brandInfo.getId(), 2, date);
+			numInfo.setShopTotal(countShop);
+			numInfo.setGoodsTotal(count);
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
 		}
-		
-		// 鍒犻櫎涔嬪墠
-	    brandGoodsCaheDao.removeByDate(brandInfo.getId(), 2 , date);
-				
-  		return count;
+		return numInfo;
 	}
-	
-	
+
 	/**
 	 * 鎷煎澶氬晢鍝�
+	 * 
 	 * @param brandInfo
 	 * @return
 	 */
-	private int addBrandGoodsPDD(BrandInfo brandInfo) {
-		String searchKey = brandInfo.getSearchKey();
-		if (StringUtil.isNullOrEmpty(searchKey))
-			searchKey = brandInfo.getName();
-		
-		PDDSearchFilter pddfilter = new PDDSearchFilter();
-		pddfilter.setKw(searchKey);
-		pddfilter.setPage(1);
-		pddfilter.setPageSize(100);
-		pddfilter.setSortType(6);
+	private BrandInfo addBrandGoodsPDD(BrandInfo brandInfo) {
 		Date date = new Date();
-		int count = 0;
-		PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter);
-		if (result != null) {
-			List<PDDGoodsDetail> goodsList = result.getGoodsList();
-			if (goodsList != null && goodsList.size() > 0) {
-				for (PDDGoodsDetail goods : goodsList) {
-					BrandGoodsCahe brandGoods = new BrandGoodsCahe();
-					brandGoods.setBrandId(brandInfo.getId());
-					brandGoods.setWeight((int) (Math.random() * 1000));
-					brandGoods.setGoodsType(3);
-					brandGoods.setGoodsPDD(goods);
-					brandGoods.setCreateTime(date);
-					brandGoodsCaheDao.insert(brandGoods);
-					count ++;
-					if (count >= 50) {
-						break;
+		BrandInfo numInfo = new BrandInfo();
+		numInfo.setShopTotal(0);
+		numInfo.setGoodsTotal(0);
+		try {
+			String shopKey = brandInfo.getShopKeyPDD();
+			if (StringUtil.isNullOrEmpty(shopKey)) {
+				// 鍒犻櫎涔嬪墠
+				brandGoodsCaheDao.removeByDate(brandInfo.getId(), 3, date);
+				// 鍒犻櫎涔嬪墠搴楅摵
+				brandShopCaheService.removeByDateAndType(brandInfo.getId(), 30, date);
+				return numInfo;
+			}
+
+			String searchKey = brandInfo.getSearchKeyPDD();
+			if (StringUtil.isNullOrEmpty(searchKey))
+				searchKey = brandInfo.getName();
+
+			PDDSearchFilter pddfilter = new PDDSearchFilter();
+			pddfilter.setKw(searchKey);
+			pddfilter.setPage(1);
+			pddfilter.setPageSize(100);
+			pddfilter.setSortType(6);
+			PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter);
+
+			int count = 0;
+
+			if (result != null) {
+				List<PDDGoodsDetail> goodsList = result.getGoodsList();
+				if (goodsList != null && goodsList.size() > 0) {
+					for (PDDGoodsDetail goods : goodsList) {
+						BrandGoodsCahe brandGoods = new BrandGoodsCahe();
+						brandGoods.setBrandId(brandInfo.getId());
+						brandGoods.setWeight((int) (Math.random() * 1000));
+						brandGoods.setGoodsType(3);
+						brandGoods.setGoodsPDD(goods);
+						brandGoods.setCreateTime(new Date());
+						brandGoodsCaheDao.insert(brandGoods);
+						count++;
+						if (count >= 50) {
+							break;
+						}
 					}
 				}
 			}
+			// 鍒犻櫎涔嬪墠
+			brandGoodsCaheDao.removeByDate(brandInfo.getId(), 3, date);
+			// 鍒犻櫎涔嬪墠搴楅摵
+			brandShopCaheService.removeByDateAndType(brandInfo.getId(), 30, date);
+			// 娣诲姞搴楅摵
+			int countShop = brandShopCaheService.addBrandShopPDD(brandInfo);
+
+			numInfo.setShopTotal(countShop);
+			numInfo.setGoodsTotal(count);
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
 		}
-		// 娣诲姞搴楅摵
-		brandShopCaheService.addBrandShopPDD(brandInfo);
-		
-		// 鍒犻櫎涔嬪墠
-		brandGoodsCaheDao.removeByDate(brandInfo.getId(), 3, date);
-		
-		return count;
-		
+		return numInfo;
 	}
-	
-	
+
 	@Override
-	public List<BrandGoodsCahe> getByBrandId(int start, int count, Long brandId){
+	public List<BrandGoodsCahe> getByBrandId(int start, int count, Long brandId) {
 		return brandGoodsCaheDao.getByBrandId(start, count, brandId);
 	}
-	
+
 	@Override
-	public long countByBrandId(Long brandId){
+	public long countByBrandId(Long brandId) {
 		return brandGoodsCaheDao.countByBrandId(brandId);
 	}
+
+	@Override
+	public void removeAgoByDate(Date createTime) {
+		brandGoodsCaheDao.removeAgoByDate(createTime);
+	}
+
+	@Override
+	public void removeByBrandId(Long brandId) {
+		brandGoodsCaheDao.removeByBrandId(brandId);
+	}
 }

--
Gitblit v1.8.0