修复top的定时任务
This commit is contained in:
@@ -8,10 +8,12 @@ import org.xyzh.api.news.resource.ResourceService;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.core.page.PageParam;
|
||||
import org.xyzh.common.dto.BaseDTO;
|
||||
import org.xyzh.common.dto.crontab.TbCrontabLog;
|
||||
import org.xyzh.common.dto.resource.TbResource;
|
||||
import org.xyzh.common.dto.resource.TbResourceRecommend;
|
||||
import org.xyzh.common.utils.IDUtils;
|
||||
import org.xyzh.common.vo.ResourceVO;
|
||||
import org.xyzh.crontab.mapper.CrontabLogMapper;
|
||||
import org.xyzh.crontab.pojo.TaskParams;
|
||||
import org.xyzh.crontab.task.BaseTask;
|
||||
|
||||
@@ -37,6 +39,9 @@ public class TopRecommendTask extends BaseTask {
|
||||
@Autowired
|
||||
private ResourceRecommendService resourceRecommendService;
|
||||
|
||||
@Autowired
|
||||
private CrontabLogMapper crontabLogMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
protected void doExecute(TaskParams taskParams) throws Exception {
|
||||
@@ -100,6 +105,10 @@ public class TopRecommendTask extends BaseTask {
|
||||
recommendList.add(createRecommend(resourceId, orderNum++));
|
||||
viewAdded++;
|
||||
}
|
||||
if (viewPageList.size()<viewPageSize){
|
||||
// 遍历完了所有
|
||||
break;
|
||||
}
|
||||
|
||||
viewPageNumber++;
|
||||
}
|
||||
@@ -139,14 +148,34 @@ public class TopRecommendTask extends BaseTask {
|
||||
recommendList.add(createRecommend(resourceId, orderNum++));
|
||||
timeAdded++;
|
||||
}
|
||||
|
||||
if (pageList.size() < timePageSize){
|
||||
break;
|
||||
}
|
||||
timePageNumber++;
|
||||
}
|
||||
|
||||
|
||||
// 更新状态
|
||||
TbCrontabLog log = new TbCrontabLog();
|
||||
log.setId((String) taskParams.getParams().get("logId"));
|
||||
|
||||
if (recommendList.isEmpty()) {
|
||||
log.setExecuteMessage("热门资源推荐任务执行完成,但没有找到符合条件的新资源(已收集" + viewAdded + "条浏览量资源," + timeAdded + "条时间资源)");
|
||||
crontabLogMapper.updateLog(log);
|
||||
logger.info("没有找到可推荐的新资源,任务完成");
|
||||
return;
|
||||
}
|
||||
|
||||
logger.info("热门资源推荐任务执行成功,共推荐{}个资源", resourceIds.size());
|
||||
|
||||
ResultDomain<TbResourceRecommend> ret = resourceRecommendService.batchAddRecommends(recommendList.stream().map(TbResourceRecommend::getResourceID).toList(),1,"系统推荐");
|
||||
if(ret.isSuccess()){
|
||||
log.setExecuteMessage("热门资源推荐任务执行成功,共推荐"+resourceIds.size()+"个资源(浏览量"+viewAdded+"条,时间"+timeAdded+"条)");
|
||||
crontabLogMapper.updateLog(log);
|
||||
logger.info("热门资源推荐任务执行成功,共推荐{}个资源", resourceIds.size());
|
||||
}else{
|
||||
log.setExecuteMessage("添加热门资源推荐失败:" + ret.getMessage());
|
||||
crontabLogMapper.updateLog(log);
|
||||
logger.error("添加热门资源推荐失败:{}", ret.getMessage());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("热门资源推荐任务执行失败: {}", e.getMessage(), e);
|
||||
throw e;
|
||||
@@ -177,6 +206,7 @@ public class TopRecommendTask extends BaseTask {
|
||||
|
||||
PageParam pageParam = new PageParam();
|
||||
pageParam.setPageSize(pageSize);
|
||||
pageParam.setPageNumber(pageNumber);
|
||||
|
||||
ResultDomain<ResourceVO> result = resourceService.getResourcePageOrder(filter, pageParam);
|
||||
if (result.isSuccess() && result.getDataList() != null) {
|
||||
@@ -200,6 +230,7 @@ public class TopRecommendTask extends BaseTask {
|
||||
|
||||
PageParam pageParam = new PageParam();
|
||||
pageParam.setPageSize(pageSize);
|
||||
pageParam.setPageNumber(pageNumber);
|
||||
|
||||
ResultDomain<ResourceVO> result = resourceService.getResourcePageOrder(filter, pageParam);
|
||||
if (result.isSuccess() && result.getDataList() != null) {
|
||||
|
||||
Reference in New Issue
Block a user