Bladeren bron

Deprecated codes

deason 4 jaren geleden
bovenliggende
commit
b6a9f6b2f6

+ 164 - 164
examcloud-core-questions-dao/src/main/java/cn/com/qmth/examcloud/core/questions/dao/PaperDetailUnitNativeRepo.java

@@ -1,164 +1,164 @@
-package cn.com.qmth.examcloud.core.questions.dao;
-
-import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
-import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
-import cn.com.qmth.examcloud.core.questions.dao.entity.Paper;
-import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetail;
-import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailUnit;
-import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
-import com.mongodb.DBRef;
-import com.mongodb.client.MongoCollection;
-import com.mongodb.client.MongoCursor;
-import org.bson.Document;
-import org.bson.types.ObjectId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.stereotype.Repository;
-
-import java.util.*;
-
-import static com.mongodb.client.model.Filters.eq;
-
-/**
- * Created by songyue on 18/1/22.
- */
-@Repository
-public class PaperDetailUnitNativeRepo {
-
-    private static final Logger log = LoggerFactory.getLogger(PaperDetailUnitNativeRepo.class);
-
-    @Autowired
-    @Qualifier("pduCollection")
-    private MongoCollection<Document> mongoCollection;
-
-    @Autowired
-    private MongoTemplate mongoTemplate;
-
-    public List<PaperDetailUnit> findByPaperId(String paperId) {
-
-        long beginTime = System.currentTimeMillis();
-
-        //初始化试卷缓存
-        Paper paperCache = mongoTemplate.findById(getObjectId(paperId), Paper.class);
-
-        //初始化大题缓存
-        Map<String, PaperDetail> pdCache = new HashMap<>();
-
-        //初始化小题列表
-        List<PaperDetailUnit> paperDetailUnits = new ArrayList<>();
-
-        //获取小题原始文档
-        MongoCursor<Document> mongoCursor = mongoCollection.find(eq("paper.$id", getObjectId(paperId))).iterator();
-        long documentEndTime = System.currentTimeMillis();
-        log.info("获取document共耗时:" + (documentEndTime - beginTime) + "ms");
-
-        //转换小题文档
-        while (mongoCursor.hasNext()) {
-            Document document = mongoCursor.next();
-            PaperDetailUnit pdu = toDomain(document, paperCache, pdCache);
-            paperDetailUnits.add(pdu);
-        }
-        long pduEndTime = System.currentTimeMillis();
-        log.info("转换document共耗时:" + (pduEndTime - documentEndTime) + "ms");
-        return paperDetailUnits;
-    }
-
-    @SuppressWarnings("unchecked")
-    private PaperDetailUnit toDomain(Document document,
-                                     Paper paperCache,
-                                     Map<String, PaperDetail> pdCache) {
-        PaperDetailUnit paperDetailUnit = new PaperDetailUnit();
-        Set<String> pduProperty = document.keySet();
-        for (String key : pduProperty) {
-            if (key.equals("_id")) {
-
-                paperDetailUnit.setId(String.valueOf(document.get(key)));
-
-            } else if (key.equals("number")) {
-
-                paperDetailUnit.setNumber(document.getInteger(key));
-
-            } else if (key.equals("score")) {
-
-                paperDetailUnit.setScore(document.getDouble(key));
-
-            } else if (key.equals("subScoreList")) {
-
-                List<Double> subScoreList = document.get(key, List.class);
-                paperDetailUnit.setSubScoreList(subScoreList);
-
-            } else if (key.equals("questionType")) {
-
-                String quesType = document.getString(key);
-                paperDetailUnit.setQuestionType(QuesStructType.valueOf(quesType));
-
-            } else if (key.equals("optionOrder")) {
-
-                paperDetailUnit.setOptionOrder(document.getString(key));
-
-            } else if (key.equals("creator")) {
-
-                paperDetailUnit.setCreator(document.getString(key));
-
-            } else if (key.equals("createTime")) {
-
-                paperDetailUnit.setCreateTime(document.getString(key));
-
-            } else if (key.equals("paperType")) {
-
-                String paperType = document.getString(key);
-                paperDetailUnit.setPaperType(PaperType.valueOf(paperType));
-
-            } else if (key.equals("paper")) {
-
-                paperDetailUnit.setPaper(paperCache);
-
-            } else if (key.equals("paperDetail")) {
-
-                paperDetailUnit.setPaperDetail(getPaperDetail(document, pdCache));
-
-            } else if (key.equals("question")) {
-
-                paperDetailUnit.setQuestion(getQuestion(document));
-
-            }
-        }
-        return paperDetailUnit;
-    }
-
-    private Object getObjectId(String id) {
-        if (id == null) {
-            return null;
-        }
-        return ObjectId.isValid(id) ? new ObjectId(id) : id;
-    }
-
-    private PaperDetail getPaperDetail(Document parentDocument, Map<String, PaperDetail> pdCache) {
-        Object value = parentDocument.get("paperDetail");
-        if (value == null || !(value instanceof DBRef)) {
-            return null;
-        }
-        DBRef paperDetailDoc = (DBRef) value;
-        String paperDetailId = String.valueOf(paperDetailDoc.getId());
-        PaperDetail paperDetail = pdCache.get(paperDetailId);
-        if (paperDetail == null) {
-            paperDetail = mongoTemplate.findById(getObjectId(paperDetailId), PaperDetail.class);
-            pdCache.put(paperDetailId, paperDetail);
-        }
-        return paperDetail;
-    }
-
-    private Question getQuestion(Document parentDocument) {
-        Object value = parentDocument.get("question");
-        if (value == null || !(value instanceof DBRef)) {
-            return null;
-        }
-        DBRef quesDoc = (DBRef) value;
-        String quesId = String.valueOf(quesDoc.getId());
-        Question question = mongoTemplate.findById(getObjectId(quesId), Question.class);
-        return question;
-    }
-}
+// package cn.com.qmth.examcloud.core.questions.dao;
+//
+// import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
+// import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
+// import cn.com.qmth.examcloud.core.questions.dao.entity.Paper;
+// import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetail;
+// import cn.com.qmth.examcloud.core.questions.dao.entity.PaperDetailUnit;
+// import cn.com.qmth.examcloud.core.questions.dao.entity.Question;
+// import com.mongodb.DBRef;
+// import com.mongodb.client.MongoCollection;
+// import com.mongodb.client.MongoCursor;
+// import org.bson.Document;
+// import org.bson.types.ObjectId;
+// import org.slf4j.Logger;
+// import org.slf4j.LoggerFactory;
+// import org.springframework.beans.factory.annotation.Autowired;
+// import org.springframework.beans.factory.annotation.Qualifier;
+// import org.springframework.data.mongodb.core.MongoTemplate;
+// import org.springframework.stereotype.Repository;
+//
+// import java.util.*;
+//
+// import static com.mongodb.client.model.Filters.eq;
+//
+// /**
+//  * Created by songyue on 18/1/22.
+//  */
+// @Repository
+// public class PaperDetailUnitNativeRepo {
+//
+//     private static final Logger log = LoggerFactory.getLogger(PaperDetailUnitNativeRepo.class);
+//
+//     @Autowired
+//     @Qualifier("pduCollection")
+//     private MongoCollection<Document> mongoCollection;
+//
+//     @Autowired
+//     private MongoTemplate mongoTemplate;
+//
+//     public List<PaperDetailUnit> findByPaperId(String paperId) {
+//
+//         long beginTime = System.currentTimeMillis();
+//
+//         //初始化试卷缓存
+//         Paper paperCache = mongoTemplate.findById(getObjectId(paperId), Paper.class);
+//
+//         //初始化大题缓存
+//         Map<String, PaperDetail> pdCache = new HashMap<>();
+//
+//         //初始化小题列表
+//         List<PaperDetailUnit> paperDetailUnits = new ArrayList<>();
+//
+//         //获取小题原始文档
+//         MongoCursor<Document> mongoCursor = mongoCollection.find(eq("paper.$id", getObjectId(paperId))).iterator();
+//         long documentEndTime = System.currentTimeMillis();
+//         log.info("获取document共耗时:" + (documentEndTime - beginTime) + "ms");
+//
+//         //转换小题文档
+//         while (mongoCursor.hasNext()) {
+//             Document document = mongoCursor.next();
+//             PaperDetailUnit pdu = toDomain(document, paperCache, pdCache);
+//             paperDetailUnits.add(pdu);
+//         }
+//         long pduEndTime = System.currentTimeMillis();
+//         log.info("转换document共耗时:" + (pduEndTime - documentEndTime) + "ms");
+//         return paperDetailUnits;
+//     }
+//
+//     @SuppressWarnings("unchecked")
+//     private PaperDetailUnit toDomain(Document document,
+//                                      Paper paperCache,
+//                                      Map<String, PaperDetail> pdCache) {
+//         PaperDetailUnit paperDetailUnit = new PaperDetailUnit();
+//         Set<String> pduProperty = document.keySet();
+//         for (String key : pduProperty) {
+//             if (key.equals("_id")) {
+//
+//                 paperDetailUnit.setId(String.valueOf(document.get(key)));
+//
+//             } else if (key.equals("number")) {
+//
+//                 paperDetailUnit.setNumber(document.getInteger(key));
+//
+//             } else if (key.equals("score")) {
+//
+//                 paperDetailUnit.setScore(document.getDouble(key));
+//
+//             } else if (key.equals("subScoreList")) {
+//
+//                 List<Double> subScoreList = document.get(key, List.class);
+//                 paperDetailUnit.setSubScoreList(subScoreList);
+//
+//             } else if (key.equals("questionType")) {
+//
+//                 String quesType = document.getString(key);
+//                 paperDetailUnit.setQuestionType(QuesStructType.valueOf(quesType));
+//
+//             } else if (key.equals("optionOrder")) {
+//
+//                 paperDetailUnit.setOptionOrder(document.getString(key));
+//
+//             } else if (key.equals("creator")) {
+//
+//                 paperDetailUnit.setCreator(document.getString(key));
+//
+//             } else if (key.equals("createTime")) {
+//
+//                 paperDetailUnit.setCreateTime(document.getString(key));
+//
+//             } else if (key.equals("paperType")) {
+//
+//                 String paperType = document.getString(key);
+//                 paperDetailUnit.setPaperType(PaperType.valueOf(paperType));
+//
+//             } else if (key.equals("paper")) {
+//
+//                 paperDetailUnit.setPaper(paperCache);
+//
+//             } else if (key.equals("paperDetail")) {
+//
+//                 paperDetailUnit.setPaperDetail(getPaperDetail(document, pdCache));
+//
+//             } else if (key.equals("question")) {
+//
+//                 paperDetailUnit.setQuestion(getQuestion(document));
+//
+//             }
+//         }
+//         return paperDetailUnit;
+//     }
+//
+//     private Object getObjectId(String id) {
+//         if (id == null) {
+//             return null;
+//         }
+//         return ObjectId.isValid(id) ? new ObjectId(id) : id;
+//     }
+//
+//     private PaperDetail getPaperDetail(Document parentDocument, Map<String, PaperDetail> pdCache) {
+//         Object value = parentDocument.get("paperDetail");
+//         if (value == null || !(value instanceof DBRef)) {
+//             return null;
+//         }
+//         DBRef paperDetailDoc = (DBRef) value;
+//         String paperDetailId = String.valueOf(paperDetailDoc.getId());
+//         PaperDetail paperDetail = pdCache.get(paperDetailId);
+//         if (paperDetail == null) {
+//             paperDetail = mongoTemplate.findById(getObjectId(paperDetailId), PaperDetail.class);
+//             pdCache.put(paperDetailId, paperDetail);
+//         }
+//         return paperDetail;
+//     }
+//
+//     private Question getQuestion(Document parentDocument) {
+//         Object value = parentDocument.get("question");
+//         if (value == null || !(value instanceof DBRef)) {
+//             return null;
+//         }
+//         DBRef quesDoc = (DBRef) value;
+//         String quesId = String.valueOf(quesDoc.getId());
+//         Question question = mongoTemplate.findById(getObjectId(quesId), Question.class);
+//         return question;
+//     }
+// }

+ 1 - 0
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ExtractConfigService.java

@@ -127,6 +127,7 @@ public interface ExtractConfigService {
     public Map<String, Object> extractPaper(String paperId);
 
 
+    @Deprecated
     public PaperDto getPaperDtoByPaperNew(String basePaperId);
 
     /**

+ 6 - 4
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExtractConfigServiceImpl.java

@@ -50,7 +50,6 @@ import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
 import cn.com.qmth.examcloud.core.questions.dao.AudioTimeConfigRepo;
 import cn.com.qmth.examcloud.core.questions.dao.ExtractConfigRepo;
 import cn.com.qmth.examcloud.core.questions.dao.PaperDetailRepo;
-import cn.com.qmth.examcloud.core.questions.dao.PaperDetailUnitNativeRepo;
 import cn.com.qmth.examcloud.core.questions.dao.PaperDetailUnitRepo;
 import cn.com.qmth.examcloud.core.questions.dao.PaperRepo;
 import cn.com.qmth.examcloud.core.questions.dao.entity.AudioTimeConfig;
@@ -136,8 +135,8 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
     @Autowired
     private RedisClient redisClient;
 
-    @Autowired
-    private PaperDetailUnitNativeRepo detailUnitNativeRepo;
+    /*@Autowired
+    private PaperDetailUnitNativeRepo detailUnitNativeRepo;*/
 
     @Autowired
     private ExamCloudService examCloudService;
@@ -694,6 +693,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
      * @param basePaperId
      * @return
      */
+    @Deprecated
     public PaperDto getPaperDtoByPaperNew(String basePaperId) {
 
         long beginTime = System.currentTimeMillis();
@@ -706,7 +706,9 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
         logger.info("单独组装paperDto耗时:" + (paperDtoEndTime - beginTime) + "ms");
 
         //将小题全部取出来,只取一次
-        List<PaperDetailUnit> allPaperDetailUnits = detailUnitNativeRepo.findByPaperId(paper.getId());
+        // List<PaperDetailUnit> allPaperDetailUnits = detailUnitNativeRepo.findByPaperId(paper.getId());
+        List<PaperDetailUnit> allPaperDetailUnits = new ArrayList<>();
+
         long pduEndTime = System.currentTimeMillis();
         logger.info("数据库取小题耗时:" + (pduEndTime - paperDtoEndTime) + "ms");
         Collections.sort(allPaperDetailUnits);

+ 39 - 39
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/config/NativeMongoConfig.java

@@ -1,39 +1,39 @@
-package cn.com.qmth.examcloud.core.questions.starter.config;
-
-import com.mongodb.MongoClient;
-import com.mongodb.client.MongoCollection;
-import com.mongodb.client.MongoDatabase;
-import org.bson.Document;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * Created by songyue on 18/1/29.
- */
-@Configuration
-public class NativeMongoConfig {
-    private static final String PDU_COLLECTION_NAME = "paperDetailUnit";
-
-    @Value("${mguri.database}")
-    private String dbName;
-
-    @Autowired
-    private MongoClient mongoClient;
-
-    @Bean
-    @Qualifier("mongoDatabase")
-    MongoDatabase getMongoDatabase() {
-        return mongoClient.getDatabase(dbName);
-    }
-
-    @Bean
-    @Qualifier("pduCollection")
-    MongoCollection<Document> getMongoPduCollection() {
-        MongoDatabase database = getMongoDatabase();
-        return database.getCollection(PDU_COLLECTION_NAME);
-    }
-
-}
+// package cn.com.qmth.examcloud.core.questions.starter.config;
+//
+// import com.mongodb.MongoClient;
+// import com.mongodb.client.MongoCollection;
+// import com.mongodb.client.MongoDatabase;
+// import org.bson.Document;
+// import org.springframework.beans.factory.annotation.Autowired;
+// import org.springframework.beans.factory.annotation.Qualifier;
+// import org.springframework.beans.factory.annotation.Value;
+// import org.springframework.context.annotation.Bean;
+// import org.springframework.context.annotation.Configuration;
+//
+// /**
+//  * Created by songyue on 18/1/29.
+//  */
+// @Configuration
+// public class NativeMongoConfig {
+//     private static final String PDU_COLLECTION_NAME = "paperDetailUnit";
+//
+//     @Value("${mguri.database}")
+//     private String dbName;
+//
+//     @Autowired
+//     private MongoClient mongoClient;
+//
+//     @Bean
+//     @Qualifier("mongoDatabase")
+//     MongoDatabase getMongoDatabase() {
+//         return mongoClient.getDatabase(dbName);
+//     }
+//
+//     @Bean
+//     @Qualifier("pduCollection")
+//     MongoCollection<Document> getMongoPduCollection() {
+//         MongoDatabase database = getMongoDatabase();
+//         return database.getCollection(PDU_COLLECTION_NAME);
+//     }
+//
+// }