| | |
| | | package com.yeshi.fanli.job;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.scheduling.annotation.Scheduled;
|
| | | import org.springframework.stereotype.Component;
|
| | |
|
| | | import com.xxl.job.core.biz.model.ReturnT;
|
| | | import com.xxl.job.core.handler.annotation.XxlJob;
|
| | | import com.yeshi.fanli.entity.brand.BrandInfo;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.brand.BrandInfoService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | |
| | | /**
|
| | | * 每两个小时进行更新品牌商品信息
|
| | | */
|
| | | @Scheduled(cron = "0 0 1/2 * * ? ")
|
| | | @XxlJob("brandGoodsUpdateHandler")
|
| | | public ReturnT<String> demoJobHandler(String param) throws Exception {
|
| | | updateGoods();
|
| | | return ReturnT.SUCCESS;
|
| | | }
|
| | |
|
| | | public void updateGoods() {
|
| | | System.out.println("品牌商品更新执行");
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | |
|
| | | long startTime = java.lang.System.currentTimeMillis();
|
| | | LogHelper.test("开始执行品牌更新---updateGoods" + startTime);
|
| | | long count = brandInfoService.countValidByCid(null);
|
| | | if (count == 0)
|
| | | return;
|
| | | |
| | |
|
| | | List<BrandInfo> list = new ArrayList<>();
|
| | |
|
| | | long totalPage = (count / 100) + 1;
|
| | | for (long page = 0; page < totalPage; page++) {
|
| | | long p = page;
|
| | | LogHelper.test("page " + page );
|
| | | LogHelper.test("executor" + p * 100);
|
| | | try {
|
| | | brandInfoService.addShopAndGoods(p * 100, 100);
|
| | | } catch (Exception e) {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | List<BrandInfo> tempList = brandInfoService.listValidOrderByUpdateTime((int) (page + 1), 100);
|
| | | if (tempList != null && tempList.size() > 0) {
|
| | | list.addAll(tempList);
|
| | | }
|
| | | }
|
| | |
|
| | | for (int page = 0; page < totalPage; page++) {
|
| | | try {
|
| | | brandInfoService.addShopAndGoods(
|
| | | list.subList(page * 100, page * 100 + 100 > count ? (int) count : (page * 100 + 100)));
|
| | | } catch (Exception e) {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|
| | | long endTime = java.lang.System.currentTimeMillis();
|
| | | LogHelper.test("结束执行品牌更新---updateGoods" + endTime + ",总耗时:" + (endTime - startTime) / 1000);
|
| | | }
|
| | | |
| | |
|
| | | }
|