Commit d1eb9131 authored by 刘基明's avatar 刘基明

降低话题rank频率,提升排序范围

parent e12a4449
......@@ -54,10 +54,10 @@ public class OfflineActivitySimpleResp {
@ApiModelProperty(value = "主办方名称")
private String sponsorName;
@ApiModelProperty(value = "报名状态 1未开始 2报名中 3报名结束")
@ApiModelProperty(value = "报名状态 1未开始 2报名中 3报名结束 99 活动结束")
private Integer signState;
@ApiModelProperty(value = "报名状态文案 未开始 报名中 报名结束")
@ApiModelProperty(value = "报名状态文案 未开始 报名中 报名结束 活动结束")
private String signStateName;
......
......@@ -27,27 +27,17 @@ public class ConJobManager {
@Autowired
private RecommendService recommendService;
/**
* 定时统计 话题 访问数据,并刷到redis
*/
@Scheduled(cron = "*/10 * * * * ?")
public void topicVisitorStats() {
String topicId = "123";
Integer detailVisitTimes = visitLogService.queryTopicDetailVisit(topicId);
redisService.set("topicVisitorStats", detailVisitTimes);
}
/**
* 定时统计主题、话题排行
*/
@Scheduled(cron = "*/30 * * * * ?")
@Scheduled(cron = "20/30 * * * * ?")
public void themeRank() {
rankService.rankThemes();
rankService.rankTopics();
}
/**
* 定时统计主题、话题排行
* 定时查询最新的主题
*/
@Scheduled(cron = "*/5 * * * * ?")
public void getThemeNewest() {
......
......@@ -95,8 +95,10 @@ public class RankService {
public void rankThemes() {
LocalDateTime start = LocalDateTime.now();
//7天内所有主题进行热度值排序
//90天内所有主题进行热度值排序-> 提升排序范围,降低频率
List<ThemeEntity> themeEntities = themeService.queryRecentdays(60);
//话题热门补偿
themeEntities.addAll(themeService.queryThemeHaveTopic(180));
if (CollectionUtils.isEmpty(themeEntities)) {
return;
}
......
......@@ -68,6 +68,16 @@ public class ThemeService {
return themeMapper.selectList(queryWrapper);
}
public List<ThemeEntity> queryThemeHaveTopic(Integer days){
LambdaQueryWrapper<ThemeEntity> queryWrapper = new LambdaQueryWrapper<ThemeEntity>()
.eq(ThemeEntity::getDeleteTag, DeleteTagEnum.NOT_DELETED.getCode())
.ne(ThemeEntity::getTopicId,"")
.gt(ThemeEntity::getCreateTime, TimeUtils.getDaysBefore(days))
.orderByDesc(ThemeEntity::getId);
return themeMapper.selectList(queryWrapper);
}
//最新的n条主题
public List<ThemeEntity> queryLatestThemes(Integer n) {
LambdaQueryWrapper<ThemeEntity> queryWrapper = new LambdaQueryWrapper<ThemeEntity>()
......
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