| | |
| | | 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.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() {
|
| | | 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);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | 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); |
| | | } |
| | | } |
| | | |
| | | } |