修复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"));
|
||||
|
||||
logger.info("热门资源推荐任务执行成功,共推荐{}个资源", resourceIds.size());
|
||||
if (recommendList.isEmpty()) {
|
||||
log.setExecuteMessage("热门资源推荐任务执行完成,但没有找到符合条件的新资源(已收集" + viewAdded + "条浏览量资源," + timeAdded + "条时间资源)");
|
||||
crontabLogMapper.updateLog(log);
|
||||
logger.info("没有找到可推荐的新资源,任务完成");
|
||||
return;
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
@@ -13,10 +13,12 @@ import org.springframework.util.StringUtils;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.core.page.PageDomain;
|
||||
import org.xyzh.common.core.page.PageParam;
|
||||
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.ResourceRecommendVO;
|
||||
import org.xyzh.common.vo.UserDeptRoleVO;
|
||||
import org.xyzh.news.mapper.ResourceMapper;
|
||||
import org.xyzh.news.mapper.ResourceRecommendMapper;
|
||||
import org.xyzh.api.news.recommend.ResourceRecommendService;
|
||||
import org.xyzh.system.utils.LoginUtil;
|
||||
@@ -36,6 +38,9 @@ public class NCResourceRecommendServiceImpl implements ResourceRecommendService
|
||||
@Autowired
|
||||
private ResourceRecommendMapper resourceRecommendMapper;
|
||||
|
||||
@Autowired
|
||||
private ResourceMapper resourceMapper;
|
||||
|
||||
@Override
|
||||
public ResultDomain<ResourceRecommendVO> getRecommendList() {
|
||||
ResultDomain<ResourceRecommendVO> resultDomain = new ResultDomain<>();
|
||||
@@ -99,6 +104,10 @@ public class NCResourceRecommendServiceImpl implements ResourceRecommendService
|
||||
if (result > 0) {
|
||||
logger.info("添加推荐成功: {}", recommend.getResourceID());
|
||||
resultDomain.success("添加推荐成功", recommend);
|
||||
TbResource resource = new TbResource();
|
||||
resource.setResourceID(recommend.getResourceID());
|
||||
resource.setIsRecommend(true);
|
||||
resourceMapper.updateResource(resource);
|
||||
return resultDomain;
|
||||
} else {
|
||||
resultDomain.fail("添加推荐失败");
|
||||
@@ -174,6 +183,10 @@ public class NCResourceRecommendServiceImpl implements ResourceRecommendService
|
||||
int result = resourceRecommendMapper.deleteResourceRecommend(recommend);
|
||||
if (result > 0) {
|
||||
logger.info("删除推荐成功: {}", resourceID);
|
||||
TbResource resource = new TbResource();
|
||||
resource.setResourceID(recommend.getResourceID());
|
||||
resource.setIsRecommend(false);
|
||||
resourceMapper.updateResource(resource);
|
||||
resultDomain.success("删除推荐成功", true);
|
||||
return resultDomain;
|
||||
} else {
|
||||
@@ -247,6 +260,13 @@ public class NCResourceRecommendServiceImpl implements ResourceRecommendService
|
||||
// 批量插入
|
||||
int result = resourceRecommendMapper.batchInsertResourceRecommends(recommendList);
|
||||
if (result > 0) {
|
||||
// 更新resource的状态
|
||||
for(String id:resourceIDs){
|
||||
TbResource resource = new TbResource();
|
||||
resource.setResourceID(id);
|
||||
resource.setIsRecommend(true);
|
||||
resourceMapper.updateResource(resource);
|
||||
}
|
||||
logger.info("批量添加推荐成功,数量: {}", result);
|
||||
resultDomain.success("批量添加推荐成功", recommendList);
|
||||
return resultDomain;
|
||||
@@ -295,6 +315,12 @@ public class NCResourceRecommendServiceImpl implements ResourceRecommendService
|
||||
int result = resourceRecommendMapper.batchDeleteResourceRecommends(recommendIDs);
|
||||
if (result > 0) {
|
||||
logger.info("批量移除推荐成功,数量: {}", result);
|
||||
for(String id:resourceIDs){
|
||||
TbResource resource = new TbResource();
|
||||
resource.setResourceID(id);
|
||||
resource.setIsRecommend(true);
|
||||
resourceMapper.updateResource(resource);
|
||||
}
|
||||
resultDomain.success("批量移除推荐成功", true);
|
||||
return resultDomain;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user