Commit b0aeefd2 authored by shiyu's avatar shiyu

同步数据

parent 3048e777
package com.wwdz.ch.admin.job;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.admin.controller.AdminCollectController;
import com.wwdz.ch.core.consts.CommonEnum;
import com.wwdz.ch.db.dao.CoinsDao;
import com.wwdz.ch.db.dao.ItemManager;
import com.wwdz.ch.db.domain.Coins;
import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.mapper.ItemMapper;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.IntStream;
@Component
public class SynCoinJob {
private static final Logger logger = LoggerFactory.getLogger(SynCoinJob.class);
@Autowired
ItemManager itemManager;
@Autowired
CoinsDao coinsDao;
public void execute() {
logger.info(">>>>>>>>>>>>>>>>>>>>>>> 同步coins表数据到item表, 开始执行 <<<<<<<<<<<<<<<<<<<<<");
try {
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setPage(1);
coinRequestDto.setLimit(100);
PageInfo<Coins> pageInfo = coinsDao.findByPage(coinRequestDto);
int totalPageNum = pageInfo.getPages();
logger.info("total page : {}, total : {}", totalPageNum, pageInfo.getTotal());
IntStream.rangeClosed(1, totalPageNum).parallel().forEach(i -> {
logger.info(">>>>>>>>>>>>>>>>> 当前同步数据的页码: {} 同步开始 <<<<<<<<<<<<<<<<<", i);
CoinRequestDto dto = new CoinRequestDto();
dto.setPage(i);
dto.setLimit(100);
List<Coins> coinsList = coinsDao.findList(dto);
// for (Coins coins : coinsList) {
coinsList.parallelStream().forEach(coins -> {
Item item = new Item();
item.setId(coins.getId());
item.setName(coins.getName());
item.setCid(coins.getCid());
item.setIsOnSale(false);
item.setIsStd(false);
item.setSort(1);
item.setImages(coins.getImages());
item.setShareImage(null);
item.setTopImage(null);
item.setPrice(coins.getPrice());
item.setDetail(coins.getDetail());
item.setCreateTime(coins.getCreated());
item.setSourceType(CommonEnum.SourceTypeEnum.SYSTEM_GET.getCode());
item.setUpdateTime(coins.getUpdated());
item.setIsDeleted(false);
item.setBidTime("");
item.setRemark(null);
item.setIsSetted(0);
item.setOriginalExtra(coins.getExtra());
item.setOriginalSourceUrl(coins.getSourceUrl());
itemManager.insert(item);
});
logger.info(">>>>>>>>>>>>>>>>> 同步数据的页码: {}, 同步成功 <<<<<<<<<<<<<<<<<", i);
/*try {
Thread.sleep(500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}*/
});
} catch (Exception e) {
logger.error("同步coins表数据到item表 error {}", e);
}
logger.info(">>>>>>>>>>>>>>>>>>>>>>> 同步coins表数据到item表, 执行完毕 <<<<<<<<<<<<<<<<<<<<<");
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment