admin
2019-07-31 784af16411d97c3e14f81dd4ebf1380c8b9effb0
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopServiceImpl.java
@@ -32,9 +32,11 @@
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONObject;
@@ -54,7 +56,7 @@
   private TaoBaoShopHistoryService taoBaoShopHistoryService;
   @Resource
   private HongBaoManageService manageService;
   private HongBaoManageService hongBaoManageService;
   @Resource
   private QualityGoodsService qualityGoodsService;
@@ -82,7 +84,7 @@
      BrandClass brandClass = new BrandClass(cid);
      for (Long shopId : list) {
         List<CommonGoods> listGoods = commonGoodsService.listBySellerId(shopId);
         List<CommonGoods> listGoods = commonGoodsService.listBySellerId(shopId, Constant.SOURCE_TYPE_TAOBAO);
         TaoBaoShop taoBaoShop = null;
         for (CommonGoods commonGoods : listGoods) {
@@ -126,7 +128,7 @@
   @Override
   @Transactional
   public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top)
   public void changeShopInfo(MultipartFile file, Long id, Long cid, String shopName, Integer state, Integer top,String key)
         throws BrandClassShopException {
      if (id == null) {
@@ -148,7 +150,7 @@
      }
      // 自定义图片
      taoBaoShopService.changeInfo(file, shop.getId(), shopName);
      taoBaoShopService.changeInfo(file, shop.getId(), shopName,key);
      BrandClassShop updateshop = new BrandClassShop();
      updateshop.setState(state);
@@ -168,7 +170,7 @@
      for (BrandClassShop brandClassShop : listQuery) {
         TaoBaoShop shop = brandClassShop.getShop();
         if (shop != null) {
            long couponNum = commonGoodsService.countBySellerIdAndHasCoupon(shop.getId());
            long couponNum = commonGoodsService.countBySellerIdAndHasCoupon(shop.getId(), Constant.SOURCE_TYPE_TAOBAO);
            brandClassShop.setCouponNum(couponNum);
            String shopLink = shop.getShopLink();
@@ -304,7 +306,7 @@
         count = taoBaoShopService.countBrandShopinfo(cid);
      }
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = hongBaoManageService.getFanLiRate();
      for (TaoBaoShopVO taoBaoShopVO : listInfo) {
         String shopLink = taoBaoShopVO.getShopLink();
@@ -335,6 +337,113 @@
      return data;
   }
   @Override
   @Cacheable(value = "brandCache", key = "'listEffectiveCacheV2-'+#page+'-'+#cid")
   public JSONObject listEffectiveCacheV2(int page, Long cid) {
      long countShop = 0;
      if (cid != null && cid <= 0) {
         cid = null;
      }
      List<TaoBaoShop> listShop = new ArrayList<TaoBaoShop>();
      // 第一页 查询全部分类下店铺
      if (page == 1 && cid != null) {
         List<BrandClassShop> list = brandClassShopMapper.listEffective(cid);
         if (list == null) {
            list = new ArrayList<BrandClassShop>();
         } else if (list.size() > 0) {
            countShop = brandClassShopMapper.countEffective(cid);
         }
         for (BrandClassShop brandClassShop : list) {
            TaoBaoShop shop = brandClassShop.getShop();
            if (shop != null) {
               Integer userType = shop.getUserType();
               if (userType == null || userType == 0) {
                  shop.setUserType(10);
               } else {
                  shop.setUserType(11);
               }
               String shopLink = shop.getShopLink();
               if (StringUtil.isNullOrEmpty(shopLink)) {
                  shop.setShopLink(TaoBaoUtil.getShopLink(shop.getId()));
               }
               String shopNameCustom = shop.getShopNameCustom();
               if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
                  shop.setShopName(shopNameCustom);
               }
               String shopIconCustom = shop.getShopIconCustom();
               if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
                  shop.setShopIcon(shopIconCustom);
               }
               listShop.add(shop);
            }
         }
      }
      JSONObject data = new JSONObject();
      data.put("countShop", countShop);
      data.put("listShop", JsonUtil.getApiCommonGson().toJson(listShop));
      long count = 0;
      List<TaoBaoShopVO> listInfo = taoBaoShopService.listBrandShopinfo((page - 1) * Constant.PAGE_SIZE,
            Constant.PAGE_SIZE, cid);
      if (listInfo == null) {
         listInfo = new ArrayList<TaoBaoShopVO>();
      } else if (listInfo.size() > 0) {
         count = taoBaoShopService.countBrandShopinfo(cid);
      }
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
      BigDecimal shareRate = hongBaoManageService.getShareRate();
      for (TaoBaoShopVO taoBaoShopVO : listInfo) {
         Integer userType = taoBaoShopVO.getUserType();
         if (userType == null || userType == 0) {
            taoBaoShopVO.setUserType(10);
         } else {
            taoBaoShopVO.setUserType(11);
         }
         String shopLink = taoBaoShopVO.getShopLink();
         if (StringUtil.isNullOrEmpty(shopLink)) {
            taoBaoShopVO.setShopLink(TaoBaoUtil.getShopLink(taoBaoShopVO.getId()));
         }
         String shopNameCustom = taoBaoShopVO.getShopNameCustom();
         if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
            taoBaoShopVO.setShopName(shopNameCustom);
         }
         String shopIconCustom = taoBaoShopVO.getShopIconCustom();
         if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
            taoBaoShopVO.setShopIcon(shopIconCustom);
         }
         List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>();
         List<TaoBaoGoodsBrief> listGoodsBrief = taoBaoShopVO.getListGoodsBrief();
         for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
            GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate);
            listGoods.add(goodsDetailVO);
         }
         taoBaoShopVO.setListGoodsVO(listGoods);
      }
      data.put("count", count);
      data.put("list", JsonUtil.getApiCommonGson().toJson(listInfo));
      return data;
   }
   @Override
   public void addClick(Long shopId) {
      BrandClassShop brandClassShop = brandClassShopMapper.getByShopId(shopId);