diff --git a/schoolNewsServ/crontab/src/main/java/org/xyzh/crontab/task/recommendTask/TopRecommendTask.java b/schoolNewsServ/crontab/src/main/java/org/xyzh/crontab/task/recommendTask/TopRecommendTask.java index a47fa2c..d722c44 100644 --- a/schoolNewsServ/crontab/src/main/java/org/xyzh/crontab/task/recommendTask/TopRecommendTask.java +++ b/schoolNewsServ/crontab/src/main/java/org/xyzh/crontab/task/recommendTask/TopRecommendTask.java @@ -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() 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 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 result = resourceService.getResourcePageOrder(filter, pageParam); if (result.isSuccess() && result.getDataList() != null) { diff --git a/schoolNewsServ/news/src/main/java/org/xyzh/news/service/impl/NCResourceRecommendServiceImpl.java b/schoolNewsServ/news/src/main/java/org/xyzh/news/service/impl/NCResourceRecommendServiceImpl.java index 39cff9b..4a6a19b 100644 --- a/schoolNewsServ/news/src/main/java/org/xyzh/news/service/impl/NCResourceRecommendServiceImpl.java +++ b/schoolNewsServ/news/src/main/java/org/xyzh/news/service/impl/NCResourceRecommendServiceImpl.java @@ -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 getRecommendList() { ResultDomain 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 {