|
@@ -87,6 +87,9 @@ public class ThemisCacheServiceImpl implements ThemisCacheService {
|
|
|
@Resource
|
|
|
TEExamStudentService teExamStudentService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TEExamSummaryService teExamSummaryService;
|
|
|
+
|
|
|
/**
|
|
|
* 添加机构缓存
|
|
|
*
|
|
@@ -702,4 +705,138 @@ public class ThemisCacheServiceImpl implements ThemisCacheService {
|
|
|
public void removeTodayExamListCache(Long examId) {
|
|
|
redisUtil.removeSet(SystemConstant.TODAY_EXAM_ID_LIST_CACHE, examId);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询考试统计信息公用
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @param examActivityId
|
|
|
+ * @param roomCode
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ protected List<TEExamSummary> examSummaryQueryCommon(Long examId, Long examActivityId, String roomCode) {
|
|
|
+ QueryWrapper<TEExamSummary> teExamSummaryQueryWrapper = new QueryWrapper<>();
|
|
|
+ teExamSummaryQueryWrapper.lambda().eq(TEExamSummary::getExamId, examId);
|
|
|
+ if (Objects.nonNull(examActivityId)) {
|
|
|
+ teExamSummaryQueryWrapper.lambda().eq(TEExamSummary::getExamActivityId, examActivityId);
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(roomCode)) {
|
|
|
+ teExamSummaryQueryWrapper.lambda().eq(TEExamSummary::getRoomCode, roomCode);
|
|
|
+ }
|
|
|
+ return teExamSummaryService.list(teExamSummaryQueryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Cacheable(value = SystemConstant.examSummaryCache, key = "#p0", unless = "#result == null")
|
|
|
+ public List<TEExamSummary> addExamSummaryCache(Long examId) {
|
|
|
+ return this.examSummaryQueryCommon(examId, null, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @param examActivityId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Cacheable(value = SystemConstant.examSummaryCache, key = "#p0 + '-' + #p1", unless = "#result == null")
|
|
|
+ public List<TEExamSummary> addExamSummaryCache(Long examId, Long examActivityId) {
|
|
|
+ return this.examSummaryQueryCommon(examId, examActivityId, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @param examActivityId
|
|
|
+ * @param roomCode
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Cacheable(value = SystemConstant.examSummaryCache, key = "#p0 + '-' + #p1 + '-' + #p2", unless = "#result == null")
|
|
|
+ public List<TEExamSummary> addExamSummaryCache(Long examId, Long examActivityId, String roomCode) {
|
|
|
+ return this.examSummaryQueryCommon(examId, examActivityId, roomCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @CachePut(value = SystemConstant.examSummaryCache, key = "#p0", condition = "#result != null")
|
|
|
+ public List<TEExamSummary> updateExamSummaryCache(Long examId) {
|
|
|
+ return this.examSummaryQueryCommon(examId, null, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @param examActivityId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @CachePut(value = SystemConstant.examSummaryCache, key = "#p0 + '-' + #p1", condition = "#result != null")
|
|
|
+ public List<TEExamSummary> updateExamSummaryCache(Long examId, Long examActivityId) {
|
|
|
+ return this.examSummaryQueryCommon(examId, examActivityId, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @param examActivityId
|
|
|
+ * @param roomCode
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @CachePut(value = SystemConstant.examSummaryCache, key = "#p0 + '-' + #p1 + '-' + #p2", condition = "#result != null")
|
|
|
+ public List<TEExamSummary> updateExamSummaryCache(Long examId, Long examActivityId, String roomCode) {
|
|
|
+ return this.examSummaryQueryCommon(examId, examActivityId, roomCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @CacheEvict(value = SystemConstant.examSummaryCache, key = "#p0")
|
|
|
+ public void removeExamSummaryCache(Long examId) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @param examActivityId
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @CacheEvict(value = SystemConstant.examSummaryCache, key = "#p0 + '-' + #p1")
|
|
|
+ public void removeExamSummaryCache(Long examId, Long examActivityId) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除考试统计缓存
|
|
|
+ *
|
|
|
+ * @param examId
|
|
|
+ * @param examActivityId
|
|
|
+ * @param roomCode
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @CacheEvict(value = SystemConstant.examSummaryCache, key = "#p0 + '-' + #p1 + '-' + #p2")
|
|
|
+ public void removeExamSummaryCache(Long examId, Long examActivityId, String roomCode) {
|
|
|
+
|
|
|
+ }
|
|
|
}
|