From 3f7cdb4c5096214765f935e9e8616730bcac1344 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 04 七月 2024 11:04:44 +0800
Subject: [PATCH] 学习记录,引入caffeine

---
 src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
index 374f718..c29ac89 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
@@ -1,20 +1,22 @@
 package com.ycl.jxkg.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.github.benmanes.caffeine.cache.Cache;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ycl.jxkg.base.Result;
 import com.ycl.jxkg.context.WebContext;
 import com.ycl.jxkg.domain.entity.EducationResource;
 import com.ycl.jxkg.domain.entity.Subject;
+import com.ycl.jxkg.domain.entity.StudyRecord;
 import com.ycl.jxkg.domain.vo.admin.education.EducationResourceVO;
-import com.ycl.jxkg.domain.vo.student.education.StudentOnlineVO;
 import com.ycl.jxkg.mapper.ClassesUserMapper;
 import com.ycl.jxkg.mapper.EducationResourceMapper;
 import com.ycl.jxkg.mapper.SubjectMapper;
 import com.ycl.jxkg.service.EducationResourceService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -35,7 +37,8 @@
     private final SubjectMapper subjectMapper;
     private final WebContext webContext;
     private final ClassesUserMapper classesUserMapper;
-
+    @Autowired
+    private Cache<String, Object> caffeineCache;
     @Override
     public Result add(EducationResourceVO form) {
         EducationResource educationResource = new EducationResource();
@@ -109,4 +112,27 @@
         List<Subject> subjects = subjectMapper.allSubject();
         return Result.ok(subjects);
     }
+    //璁板綍瑙嗛鏃堕暱
+    @Override
+    public Result recordTime(Integer userId) {
+        if (userId ==null){
+            throw new RuntimeException("鐢ㄦ埛id涓虹┖");
+        }
+        StudyRecord studyRecord = (StudyRecord) caffeineCache.getIfPresent("STUDENT_"+userId);
+        if (studyRecord != null) {
+            //瀛樺湪缂撳瓨
+            Date lastTime = studyRecord.getLastTime();
+            Date now = new Date();
+            studyRecord.setStudyTime(studyRecord.getStudyTime()+(now.getTime()-lastTime.getTime())/1000);
+            studyRecord.setLastTime(now);
+        }else {
+            //涓嶅瓨鍦ㄧ紦瀛�
+            studyRecord = new StudyRecord();
+            studyRecord.setStudentId(userId);
+            studyRecord.setStudyTime(0L);
+            studyRecord.setLastTime(new Date());
+        }
+        caffeineCache.put("STUDENT_" + userId, studyRecord);
+        return Result.ok();
+    }
 }

--
Gitblit v1.8.0