yujian
2019-12-19 626d711cb15896055c13fe344eb7fcc824589715
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandInfoServiceImpl.java
@@ -27,6 +27,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.exception.brand.BrandInfoException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.brand.BrandGoodsCaheService;
import com.yeshi.fanli.service.inter.brand.BrandInfoService;
@@ -95,29 +96,49 @@
         state = 0;
         record.setState(state);
      }
      // 图片上传
      String picture = null;
      if (file != null) {
         try {
         try { // 图片上传
            picture = uploadPicture(file);
         } catch (Exception e) {
            throw new BrandInfoException(1, "图片上传失败");
         }
      }
      String searchKey = record.getSearchKey();
      if (!StringUtil.isNullOrEmpty(searchKey)) {
         if (StringUtil.isNullOrEmpty(record.getSearchKeyJD()))
            record.setSearchKeyJD(searchKey);
         if (StringUtil.isNullOrEmpty(record.getSearchKeyPDD()))
            record.setSearchKeyPDD(searchKey);
      }
      String shopKey = record.getShopKey();
      if (!StringUtil.isNullOrEmpty(shopKey)) {
         if (StringUtil.isNullOrEmpty(record.getShopKeyJD()))
            record.setShopKeyJD(shopKey);
         if (StringUtil.isNullOrEmpty(record.getShopKeyPDD()))
            record.setShopKeyPDD(shopKey);
      }
      record.setName(name.trim());
      record.setUpdateTime(new Date());
      Long id = record.getId();
      if (id == null) {
         record.setCreateTime(new Date());
         record.setIcon(picture);
         record.setWeight(500.00);
         record.setGoodsTotal(0);
         record.setShopTotal(0);
         record.setUpdateTime(new Date());
         record.setCreateTime(new Date());
         brandInfoMapper.insert(record);
         
         BrandInfo resultObj = new BrandInfo();
         resultObj.setId(record.getId());
         resultObj.setOrder(Integer.valueOf(record.getId().toString()));
         resultObj.setWeight(500.00);
         brandInfoMapper.updateByPrimaryKeySelective(resultObj);
      } else {
         BrandInfo resultObj = brandInfoMapper.selectByPrimaryKey(id);
@@ -142,11 +163,9 @@
            record.setGoodsTotal(resultObj.getGoodsTotal());
            record.setShopTotal(resultObj.getShopTotal());
         }
         record.setOrder(resultObj.getOrder());
         record.setWeight(resultObj.getWeight());
         record.setCreateTime(resultObj.getCreateTime());
         record.setUpdateTime(new Date());
         brandInfoMapper.updateByPrimaryKey(record);
         
         if (state == 0){
@@ -345,7 +364,7 @@
         } else {
            updateInfo.setShopTotal(listshop.size());
         }
         updateInfo.setWeight(Math.random() * 1000);
         brandInfoMapper.updateByPrimaryKeySelective(updateInfo);
      }
   }
@@ -358,19 +377,25 @@
         return;
      for (BrandInfo brandInfo : list) {
         String name = brandInfo.getName();
         String searchKey = brandInfo.getSearchKey();
         if (StringUtil.isNullOrEmpty(name) && StringUtil.isNullOrEmpty(searchKey))
            continue;
         // 添加商品
         BrandInfo numInfo = brandGoodsCaheService.addBrandGoods(brandInfo);
         brandInfo.setGoodsTotal(numInfo.getGoodsTotal());
         brandInfo.setShopTotal(numInfo.getShopTotal());
         brandInfo.setUpdateTime(new Date());
         brandInfo.setWeight(Math.random() * 1000);
         brandInfoMapper.updateByPrimaryKeySelective(brandInfo);
         try {
            String name = brandInfo.getName();
            String searchKey = brandInfo.getSearchKey();
            if (StringUtil.isNullOrEmpty(name) && StringUtil.isNullOrEmpty(searchKey))
               continue;
            // 添加商品
            BrandInfo numInfo = brandGoodsCaheService.addBrandGoods(brandInfo);
            BrandInfo updateInfo = new BrandInfo();
            updateInfo.setId(brandInfo.getId());
            updateInfo.setWeight(Math.random() * 1000);
            updateInfo.setGoodsTotal(numInfo.getGoodsTotal());
            updateInfo.setShopTotal(numInfo.getShopTotal());
            updateInfo.setUpdateTime(new Date());
            brandInfoMapper.updateByPrimaryKeySelective(updateInfo);
         } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
         }
      }
   }
@@ -401,7 +426,7 @@
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
      BigDecimal shareRate = hongBaoManageService.getShareRate();
      ConfigParamsDTO configParamsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
      ConfigParamsDTO configParamsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
      List<BrandInfoVO> listInfo = new ArrayList<BrandInfoVO>();
      for (int i = 0; i < list.size(); i++) {
         BrandInfoVO brand = list.get(i);
@@ -440,4 +465,54 @@
      }
      return listInfo;
   }
   @Override
   @Cacheable(value = "brandCache", key = "'listByAlikeName-'+#key")
   public BrandInfoVO listByAlikeName(String key) {
      if (StringUtil.isNullOrEmpty(key))
         return null;
      List<BrandInfoVO> list = brandInfoMapper.listByAlikeName(key);
      if (list == null || list.size() == 0)
         return null;
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
      BigDecimal shareRate = hongBaoManageService.getShareRate();
      ConfigParamsDTO configParamsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
      BrandInfoVO brand = list.get(0);
      List<BrandGoodsCahe> listGoods = brandGoodsCaheService.getByBrandId(1, 3, brand.getId());
      if (listGoods == null || listGoods.size() < 3)
         return null;
      List<GoodsDetailVO> listGoodsVO = new ArrayList<GoodsDetailVO>();
      for (BrandGoodsCahe brandGoods : listGoods) {
         JDGoods goodsJD = brandGoods.getGoodsJD();
         if (goodsJD != null) {
            listGoodsVO.add(GoodsDetailVOFactory.convertJDGoods(goodsJD, configParamsDTO));
            continue;
         }
         TaoBaoGoodsBrief goodsTB = brandGoods.getGoodsTB();
         if (goodsTB != null) {
            listGoodsVO.add(GoodsDetailVOFactory.convertTaoBao(goodsTB, configParamsDTO));
            continue;
         }
         PDDGoodsDetail goodsPDD = brandGoods.getGoodsPDD();
         if (goodsPDD != null) {
            listGoodsVO.add(GoodsDetailVOFactory.convertPDDGoods(goodsPDD, configParamsDTO));
            continue;
         }
      }
      if (listGoodsVO.size() < 3)
         return null;
      brand.setListGoods(listGoodsVO);
      return brand;
   }
}