From 83024eccacc54be0e60eee14d19d03bf9d63ba78 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 11 七月 2024 11:41:54 +0800
Subject: [PATCH] 调整session、caffeine存活时间
---
src/main/java/com/ycl/jxkg/job/StudyRecordJob.java | 39 ++++++++++++++++++++-------------------
src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java | 11 ++++++-----
src/main/java/com/ycl/jxkg/config/CaffeineConfig.java | 4 ++--
src/main/resources/application.yml | 2 +-
4 files changed, 29 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java b/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java
index 118a563..f07dd64 100644
--- a/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java
+++ b/src/main/java/com/ycl/jxkg/config/CaffeineConfig.java
@@ -17,8 +17,8 @@
@Bean
public Cache<String, Object> caffeineCache() {
Cache<String, Object> caffeineCache = Caffeine.newBuilder()
- // 璁剧疆鏈�鍚庝竴娆″啓鍏ユ垨璁块棶鍚庣粡杩囧浐瀹氭椂闂磋繃鏈�
- .expireAfterWrite(600, TimeUnit.SECONDS)
+ // 璁剧疆鏈�鍚庝竴娆″啓鍏ユ垨璁块棶鍚庣粡杩囧浐瀹氭椂闂�(12灏忔椂)杩囨湡
+ .expireAfterWrite(43200, TimeUnit.SECONDS)
// 鍒濆鐨勭紦瀛樼┖闂村ぇ灏�
.initialCapacity(10)
// 缂撳瓨鐨勬渶澶ф潯鏁�
diff --git a/src/main/java/com/ycl/jxkg/job/StudyRecordJob.java b/src/main/java/com/ycl/jxkg/job/StudyRecordJob.java
index ee588fc..c901abd 100644
--- a/src/main/java/com/ycl/jxkg/job/StudyRecordJob.java
+++ b/src/main/java/com/ycl/jxkg/job/StudyRecordJob.java
@@ -38,30 +38,31 @@
log.info("寮�濮嬪瓨瀛︿範鏃堕暱");
List<StudyRecord> cacheList = new ArrayList<>();
// 鍙栧嚭鎵�鏈夊涔犺褰曠紦瀛橀」
- ConcurrentMap<String, Object> map = caffeineCache.asMap();
- Map<String,StudyRecord> studyMap = (Map<String, StudyRecord>) map.get(CaffeineConstant.STUDY_RECORD);
- for (Map.Entry<String, StudyRecord> entry : studyMap.entrySet()) {
- cacheList.add(entry.getValue());
- }
+ Map<String, StudyRecord> studyMap = (Map<String, StudyRecord>) caffeineCache.getIfPresent(CaffeineConstant.STUDY_RECORD);
+ if (!CollectionUtils.isEmpty(studyMap)) {
+ for (Map.Entry<String, StudyRecord> entry : studyMap.entrySet()) {
+ cacheList.add(entry.getValue());
+ }
- List<Integer> studentIds = cacheList.stream().map(StudyRecord::getStudentId).collect(Collectors.toList());
- if (!CollectionUtils.isEmpty(studentIds)) {
- //鏁版嵁搴撲腑宸茬粡瀛樺湪鐨勫鐢熸暟鎹�
- QueryWrapper<StudyRecord> wrapper = new QueryWrapper<>();
- wrapper.in("student_id", studentIds);
- List<StudyRecord> studyRecords = studyRecordMapper.selectList(wrapper);
- for (StudyRecord record : studyRecords) {
- for (StudyRecord cacheRecord : cacheList) {
- if (record.getStudentId().equals(cacheRecord.getStudentId())) {
- cacheRecord.setId(record.getId());
- cacheRecord.setStudyTime(record.getStudyTime() + cacheRecord.getStudyTime());
- cacheRecord.setMeetCount(record.getMeetCount());
+ List<Integer> studentIds = cacheList.stream().map(StudyRecord::getStudentId).collect(Collectors.toList());
+ if (!CollectionUtils.isEmpty(studentIds)) {
+ //鏁版嵁搴撲腑宸茬粡瀛樺湪鐨勫鐢熸暟鎹�
+ QueryWrapper<StudyRecord> wrapper = new QueryWrapper<>();
+ wrapper.in("student_id", studentIds);
+ List<StudyRecord> studyRecords = studyRecordMapper.selectList(wrapper);
+ for (StudyRecord record : studyRecords) {
+ for (StudyRecord cacheRecord : cacheList) {
+ if (record.getStudentId().equals(cacheRecord.getStudentId())) {
+ cacheRecord.setId(record.getId());
+ cacheRecord.setStudyTime(record.getStudyTime() + cacheRecord.getStudyTime());
+ cacheRecord.setMeetCount(record.getMeetCount());
+ }
}
}
+ studyRecordService.saveOrUpdateBatch(cacheList);
}
- studyRecordService.saveOrUpdateBatch(cacheList);
+ caffeineCache.invalidate(CaffeineConstant.STUDY_RECORD);
}
- caffeineCache.invalidate(CaffeineConstant.STUDY_RECORD);
log.info("缁撴潫瀛樺涔犳椂闀�");
}
}
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
index 0f0e2f8..b7b26f0 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -597,11 +597,11 @@
@Override
public Result getMarkPaperInfo(Integer examId, Integer userId) {
+ User student = userMapper.getUserById(userId);
//濡傛灉宸茬粡闃呰繃鍗蜂簡锛屾煡鎴愮哗琛�
- Result<ExamPaperMarkVO> paperMarkVO1 = checkHasJudge(examId, userId);
+ Result<ExamPaperMarkVO> paperMarkVO1 = checkHasJudge(examId, student);
if (paperMarkVO1 != null) return paperMarkVO1;
- User student = userMapper.getUserById(userId);
ExamVO exam = examMapper.getById(examId);
//瀛︾敓绛旈琛�
ExamSubmitTemp userExam = new LambdaQueryChainWrapper<>(examSubmitTempMapper)
@@ -643,11 +643,12 @@
}
//妫�鏌ユ槸鍚﹂槄鍗�
- private Result<ExamPaperMarkVO> checkHasJudge(Integer examId, Integer userId) {
- ExamPaperScore examPaperScore = examPaperScoreMapper.getByExamIdUserId(examId, userId);
+ private Result<ExamPaperMarkVO> checkHasJudge(Integer examId, User student) {
+ ExamPaperScore examPaperScore = examPaperScoreMapper.getByExamIdUserId(examId, student.getId());
if (examPaperScore != null) {
ExamPaperMarkVO paperMarkVO = new ExamPaperMarkVO();
BeanUtils.copyProperties(examPaperScore, paperMarkVO);
+ paperMarkVO.setUserName(student.getRealName());
paperMarkVO.setTotalScore(examPaperScore.getTotalScore() + "");
paperMarkVO.setScore(examPaperScore.getScore() + "");
if (!StringUtils.isEmpty(examPaperScore.getPaperContent())) {
@@ -841,7 +842,7 @@
paperMarkVO.setTitleItems(JSON.parseArray(userExam.getExamSubmit(), PaperFixQuestionVO.class));
} else {
//缂鸿�冿紝瀛︾敓娌℃湁鍋氶淇℃伅
- paperMarkVO.setExamId(exam.getExamPaperId());
+ paperMarkVO.setExamId(exam.getId());
paperMarkVO.setUserId(student.getId());
paperMarkVO.setScore(BigDecimal.ZERO + "");
paperMarkVO.setDoTime(0);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0463e0e..7e33641 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,7 +1,7 @@
server:
servlet:
session:
- timeout: 7200
+ timeout: 18000
port: 8000
undertow:
io-threads: 16
--
Gitblit v1.8.0