Selaa lähdekoodia

修复数据同步问题

宋悦 7 vuotta sitten
vanhempi
commit
d528c7b04d

+ 3 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/dao/ExtractConfigRepo.java

@@ -4,7 +4,10 @@ import org.springframework.data.mongodb.repository.MongoRepository;
 import org.springframework.data.repository.query.QueryByExampleExecutor;
 
 import com.qmth.cqb.paper.model.ExtractConfig;
+import java.util.List;
 
 public interface ExtractConfigRepo extends MongoRepository<ExtractConfig, String>,QueryByExampleExecutor<ExtractConfig> {
 
+    List<ExtractConfig> findByCourseCodeAndOrgId(String courseCode,String orgId);
+
 }

+ 14 - 0
cqb-starter/src/main/java/com/qmth/cqb/sync/DataReceiveService.java

@@ -5,7 +5,9 @@ import com.qmth.commons.dataSync.core.entity.BaseSyncData;
 import com.qmth.commons.dataSync.core.service.DataSyncService;
 import com.qmth.cqb.base.dao.CourseRepo;
 import com.qmth.cqb.base.model.Course;
+import com.qmth.cqb.paper.dao.ExtractConfigRepo;
 import com.qmth.cqb.paper.dao.PaperRepo;
+import com.qmth.cqb.paper.model.ExtractConfig;
 import com.qmth.cqb.paper.model.Paper;
 import com.qmth.cqb.question.dao.QuesRepo;
 import com.qmth.cqb.question.model.Question;
@@ -38,6 +40,9 @@ public class DataReceiveService {
     @Autowired
     CourseRepo courseRepo;
 
+    @Autowired
+    ExtractConfigRepo extractConfigRepo;
+
     @DataReceive(domain = "cn.com.qmth.examcloud.common.dto.core.CourseSync")
     public synchronized void readCourse(BaseSyncData baseSyncData) {
         log.info("-----------coursesync start---------");
@@ -74,6 +79,15 @@ public class DataReceiveService {
             courseRepo.save(tempCourse);
         }
 
+
+        List<ExtractConfig> extractConfigs= extractConfigRepo.findByCourseCodeAndOrgId(courseCode,orgId);
+        if (extractConfigs != null && extractConfigs.size() > 0) {
+            for (ExtractConfig extractConfig : extractConfigs) {
+                extractConfig.setCourseName(courseName);
+            }
+            extractConfigRepo.save(extractConfigs);
+        }
+
         List<Paper> papers = paperRepo.findByCourseNoAndOrgId(courseCode, orgId);
         if (papers != null && papers.size() > 0) {
             for (Paper paper : papers) {