wangwei 5 lat temu
rodzic
commit
a59074ccd1

+ 20 - 3
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/cache/ExamOrgPropertyCache.java

@@ -3,6 +3,11 @@ package cn.com.qmth.examcloud.core.examwork.service.cache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import cn.com.qmth.examcloud.commons.helpers.DynamicEnum;
+import cn.com.qmth.examcloud.commons.helpers.DynamicEnumManager;
+import cn.com.qmth.examcloud.core.examwork.base.enums.ExamProperty;
+import cn.com.qmth.examcloud.core.examwork.dao.ExamOrgPropertyRepo;
+import cn.com.qmth.examcloud.core.examwork.dao.entity.ExamOrgPropertyEntity;
 import cn.com.qmth.examcloud.core.examwork.service.ExamService;
 import cn.com.qmth.examcloud.support.cache.bean.ExamOrgPropertyCacheBean;
 import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
@@ -11,7 +16,10 @@ import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
 public class ExamOrgPropertyCache extends RandomObjectRedisCache<ExamOrgPropertyCacheBean> {
 
 	@Autowired
-	private ExamService examService;
+	ExamService examService;
+
+	@Autowired
+	ExamOrgPropertyRepo examOrgPropertyRepo;
 
 	@Override
 	public ExamOrgPropertyCacheBean loadFromResource(Object... keys) {
@@ -19,13 +27,22 @@ public class ExamOrgPropertyCache extends RandomObjectRedisCache<ExamOrgProperty
 		Long orgId = (Long) keys[1];
 		String key = (String) keys[2];
 
-		String value = examService.getExamOrgProperty(examId, orgId, key);
+		DynamicEnumManager manager = ExamProperty.getDynamicEnumManager();
+		DynamicEnum de = manager.getByName(key);
 
 		ExamOrgPropertyCacheBean b = new ExamOrgPropertyCacheBean();
 		b.setExamId(examId);
 		b.setOrgId(orgId);
 		b.setKey(key);
-		b.setValue(value);
+
+		ExamOrgPropertyEntity examOrgPropertyEntity = examOrgPropertyRepo
+				.findByExamIdAndOrgIdAndKeyId(examId, orgId, de.getId());
+		if (null != examOrgPropertyEntity) {
+			b.setValue(examOrgPropertyEntity.getValue());
+		} else {
+			b.setHasValue(false);
+		}
+
 		return b;
 	}
 

+ 0 - 9
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/cache/ExamOrgSettingsCache.java

@@ -35,17 +35,8 @@ public class ExamOrgSettingsCache extends RandomObjectRedisCache<ExamOrgSettings
 		ExamOrgSettingsCacheBean bean = new ExamOrgSettingsCacheBean();
 
 		bean.setId(exam.getId());
-		bean.setBeginTime(exam.getBeginTime());
-		bean.setDuration(exam.getDuration());
-		bean.setEnable(exam.getEnable());
-		bean.setEndTime(exam.getEndTime());
-		bean.setExamTimes(exam.getExamTimes());
 		bean.setExamType(exam.getExamType().name());
-		bean.setName(exam.getName());
 		bean.setCode(exam.getCode());
-		bean.setRemark(exam.getRemark());
-		bean.setRootOrgId(exam.getRootOrgId());
-		bean.setExamLimit(exam.getExamLimit());
 
 		ExamSpecialSettingsEntity examOrgEntity = examSpecialSettingsRepo
 				.findByExamIdAndOrgIdAndCourseIdIsNullAndStudentIdIsNull(exam.getId(), orgId);

+ 2 - 4
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/cache/ExamStudentPropertyCache.java

@@ -11,7 +11,7 @@ import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
 public class ExamStudentPropertyCache extends RandomObjectRedisCache<ExamStudentPropertyCacheBean> {
 
 	@Autowired
-	private ExamService examService;
+	ExamService examService;
 
 	@Override
 	public ExamStudentPropertyCacheBean loadFromResource(Object... keys) {
@@ -19,13 +19,11 @@ public class ExamStudentPropertyCache extends RandomObjectRedisCache<ExamStudent
 		Long studentId = (Long) keys[1];
 		String key = (String) keys[2];
 
-		String value = examService.getExamStudentProperty(examId, studentId, key);
-
 		ExamStudentPropertyCacheBean b = new ExamStudentPropertyCacheBean();
 		b.setExamId(examId);
 		b.setStudentId(studentId);
 		b.setKey(key);
-		b.setValue(value);
+		b.setHasValue(false);
 		return b;
 	}
 

+ 0 - 9
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/cache/ExamStudentSettingsCache.java

@@ -35,17 +35,8 @@ public class ExamStudentSettingsCache extends RandomObjectRedisCache<ExamStudent
 		ExamStudentSettingsCacheBean bean = new ExamStudentSettingsCacheBean();
 
 		bean.setId(exam.getId());
-		bean.setBeginTime(exam.getBeginTime());
-		bean.setDuration(exam.getDuration());
-		bean.setEnable(exam.getEnable());
-		bean.setEndTime(exam.getEndTime());
-		bean.setExamTimes(exam.getExamTimes());
 		bean.setExamType(exam.getExamType().name());
-		bean.setName(exam.getName());
 		bean.setCode(exam.getCode());
-		bean.setRemark(exam.getRemark());
-		bean.setRootOrgId(exam.getRootOrgId());
-		bean.setExamLimit(exam.getExamLimit());
 
 		ExamSpecialSettingsEntity examOrgEntity = examSpecialSettingsRepo
 				.findByExamIdAndStudentIdAndOrgIdIsNullAndCourseIdIsNull(exam.getId(), studentId);