|
@@ -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;
|
|
|
}
|
|
|
|