admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsActivityServiceImpl.java
@@ -1,59 +1,59 @@
package com.yeshi.fanli.service.impl.taobao;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.taobao.SuperTaoBaoGoodsDao;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.s618.SuperTaoBaoGoods;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsActivityService;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@Service
public class TaoBaoGoodsActivityServiceImpl implements TaoBaoGoodsActivityService {
   @Resource
   private SuperTaoBaoGoodsDao superTaoBaoGoodsDao;
   @Override
   public void sysncS618Goods() {
      long startTime = System.currentTimeMillis();
      for (int i = 0; i < 20; i++) {
         TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(18528, i + 1, 100);
         for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) {
            SuperTaoBaoGoods sg = new SuperTaoBaoGoods();
            sg.setAuctionId(goods.getAuctionId());
            sg.setGoods(goods);
            sg.setFinalPrice(TaoBaoUtil.getAfterUseCouplePrice(goods).multiply(new BigDecimal(100)).intValue());
            sg.setUpdateTime(System.currentTimeMillis());
            superTaoBaoGoodsDao.save(sg);
         }
      }
      // 删除更新时间比开始时间小的
      superTaoBaoGoodsDao.deleteByMaxTime(startTime);
   }
   @Override
   public List<TaoBaoGoodsBrief> listByPrice(BigDecimal minPrice, BigDecimal maxPrice, int page, int pageSize) {
      List<SuperTaoBaoGoods> list = superTaoBaoGoodsDao.listByMaxAndMinFinalPrice(minPrice, maxPrice,
            (page - 1) * pageSize, pageSize);
      List<TaoBaoGoodsBrief> newList = new ArrayList<>();
      if (list != null)
         for (SuperTaoBaoGoods goods : list)
            newList.add(goods.getGoods());
      return newList;
   }
   @Override
   public long countByPrice(BigDecimal minPrice, BigDecimal maxPrice) {
      return superTaoBaoGoodsDao.countByMaxAndMinFinalPrice(minPrice, maxPrice);
   }
}
package com.yeshi.fanli.service.impl.taobao;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.taobao.SuperTaoBaoGoodsDao;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.s618.SuperTaoBaoGoods;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsActivityService;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@Service
public class TaoBaoGoodsActivityServiceImpl implements TaoBaoGoodsActivityService {
   @Resource
   private SuperTaoBaoGoodsDao superTaoBaoGoodsDao;
   @Override
   public void sysncS618Goods() {
      long startTime = System.currentTimeMillis();
      for (int i = 0; i < 20; i++) {
         TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(18528, i + 1, 100);
         for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) {
            SuperTaoBaoGoods sg = new SuperTaoBaoGoods();
            sg.setAuctionId(goods.getAuctionId());
            sg.setGoods(goods);
            sg.setFinalPrice(TaoBaoUtil.getCouponPrice(goods).multiply(new BigDecimal(100)).intValue());
            sg.setUpdateTime(System.currentTimeMillis());
            superTaoBaoGoodsDao.save(sg);
         }
      }
      // 删除更新时间比开始时间小的
      superTaoBaoGoodsDao.deleteByMaxTime(startTime);
   }
   @Override
   public List<TaoBaoGoodsBrief> listByPrice(BigDecimal minPrice, BigDecimal maxPrice, int page, int pageSize) {
      List<SuperTaoBaoGoods> list = superTaoBaoGoodsDao.listByMaxAndMinFinalPrice(minPrice, maxPrice,
            (page - 1) * pageSize, pageSize);
      List<TaoBaoGoodsBrief> newList = new ArrayList<>();
      if (list != null)
         for (SuperTaoBaoGoods goods : list)
            newList.add(goods.getGoods());
      return newList;
   }
   @Override
   public long countByPrice(BigDecimal minPrice, BigDecimal maxPrice) {
      return superTaoBaoGoodsDao.countByMaxAndMinFinalPrice(minPrice, maxPrice);
   }
}