This commit is contained in:
670788339
2025-03-29 12:58:43 +08:00
parent d4964ca7f1
commit d3e84feb48

View File

@@ -33,6 +33,7 @@ public class StudyCourseTask {
* */
@XxlJob("saveStudyCourseItemLastTime")
public void saveStudyCourseItemLastTime() {
log.info("------定时任务-获取redis 中学习结束的数据更新入库------" );
// 1. 定义匹配模式匹配所有目标key
final String KEY_PATTERN = "studyContentId:*:last_active";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
@@ -47,9 +48,10 @@ public class StudyCourseTask {
// 3. 遍历处理符合条件的key
while (cursor.hasNext()) {
String redisKey = new String(cursor.next());
log.info("------定时任务-获取redis 中学习结束的数据更新入库------redisKey = " + redisKey );
// 4. 获取剩余TTL
Long ttl = redisTemplate.getExpire(redisKey, TimeUnit.SECONDS);
log.info("------定时任务-获取redis 中学习结束的数据更新入库------ttl = " + ttl );
// 5. 过滤条件:剩余时间 >= 29天23小时30分钟转换为秒
// 总需时间 = (30天 - 30分钟) = 29天23小时30分钟 = 2590200秒
// 5分钟 300秒 || 2592000 - 300 = 2591700
@@ -69,7 +71,7 @@ public class StudyCourseTask {
if (partValues.length >= 2){
timestamp = LocalDateTime.parse(partValues[1], formatter);
}
log.info("-定时任务-获取redis 中学习结束的数据更新入库---studyContentId = " + studyContentId + ",lastStudyTime = " + lastStudyTime + ", timestamp = " + timestamp);
// 8. 更新数据库(调用已有服务方法)
studyService.updateStudyCourseItemLastTime(studyContentId, lastStudyTime, timestamp);