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