admin
2024-10-16 62a447d89331aee1feae7724c7616aa1bb2cfe79
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/BrandClassShopGoodsServiceImpl.java
@@ -1,63 +1,63 @@
package com.yeshi.fanli.service.impl.brand;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.entity.brand.BrandClassShop;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.brand.BrandClassShopGoodsService;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
@Service
public class BrandClassShopGoodsServiceImpl implements BrandClassShopGoodsService {
   @Resource
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Resource
   private BrandClassShopService brandClassShopService;
   @Resource
   private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
   @Override
   public List<TaoBaoGoodsBrief> listBrandShopGoods(Long sellerId, int page, int count) {
      return taoBaoGoodsBriefService.listByShopId((page - 1) * count, count, sellerId);
   }
   @Override
   public long countBrandShopGoods(Long sellerId) {
      return taoBaoGoodsBriefService.countByShopId(sellerId);
   }
   @Override
   public void startUpdateGoods() {
      int goodsCount = 0;
      try {
         long count = brandClassShopService.countQuery(null, null, BrandClassShop.STATE_VALID);
         int page = (int) (count % 100 == 0 ? count / 100 : count / 100 + 1);
         for (int i = 0; i < page; i++) {
            List<BrandClassShop> shopList = brandClassShopService.listQuery(i * 100, 100, null, null,
                  BrandClassShop.STATE_VALID);
            // 每个品牌最多更新100个商品
            if (shopList != null)
               for (BrandClassShop shop : shopList) {
                  Long sellerId = shop.getShop().getId();
                  List<TaoBaoGoodsBrief> goodsList = listBrandShopGoods(sellerId, 1, 100);
                  taoBaoGoodsUpdateService.addUpdateQueueAsync(goodsList);
               }
         }
      } finally {
         LogHelper.test("品牌商品更新数量:" + goodsCount);
      }
   }
}
package com.yeshi.fanli.service.impl.brand;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.entity.brand.BrandClassShop;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.brand.BrandClassShopGoodsService;
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
@Service
public class BrandClassShopGoodsServiceImpl implements BrandClassShopGoodsService {
   @Resource
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Resource
   private BrandClassShopService brandClassShopService;
   @Resource
   private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
   @Override
   public List<TaoBaoGoodsBrief> listBrandShopGoods(Long sellerId, int page, int count) {
      return taoBaoGoodsBriefService.listByShopId((page - 1) * count, count, sellerId);
   }
   @Override
   public long countBrandShopGoods(Long sellerId) {
      return taoBaoGoodsBriefService.countByShopId(sellerId);
   }
   @Override
   public void startUpdateGoods() {
      int goodsCount = 0;
      try {
         long count = brandClassShopService.countQuery(null, null, BrandClassShop.STATE_VALID);
         int page = (int) (count % 100 == 0 ? count / 100 : count / 100 + 1);
         for (int i = 0; i < page; i++) {
            List<BrandClassShop> shopList = brandClassShopService.listQuery(i * 100, 100, null, null,
                  BrandClassShop.STATE_VALID);
            // 每个品牌最多更新100个商品
            if (shopList != null)
               for (BrandClassShop shop : shopList) {
                  Long sellerId = shop.getShop().getId();
                  List<TaoBaoGoodsBrief> goodsList = listBrandShopGoods(sellerId, 1, 100);
                  taoBaoGoodsUpdateService.addUpdateQueueAsync(goodsList);
               }
         }
      } finally {
         LogHelper.test("品牌商品更新数量:" + goodsCount);
      }
   }
}