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);
|
}
|
}
|
|
}
|