Bladeren bron

修复数据同步问题

宋悦 7 jaren geleden
bovenliggende
commit
4e322644c8

+ 4 - 0
cqb-base/src/main/java/com/qmth/cqb/base/model/Course.java

@@ -93,4 +93,8 @@ public class Course implements Serializable{
 
     public Course() {
     }
+
+    public Course(String enable){
+        this.enable = enable;
+    }
 }

+ 11 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/model/ExtractConfig.java

@@ -4,6 +4,7 @@ import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
 
+import com.qmth.cqb.base.model.Course;
 import org.springframework.data.annotation.Id;
 
 import cn.com.qmth.examcloud.common.dto.core.ExamCourseDto;
@@ -45,6 +46,8 @@ public class ExtractConfig implements Serializable {
      * 课程代码
      */
     private String courseCode;
+
+	private Course course;
     /**
      * 调卷类型
      * 		成套调用
@@ -256,5 +259,12 @@ public class ExtractConfig implements Serializable {
 	public void setOrgName(String orgName) {
 		this.orgName = orgName;
 	}
-    
+
+	public Course getCourse() {
+		return course;
+	}
+
+	public void setCourse(Course course) {
+		this.course = course;
+	}
 }

+ 5 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/ExtractConfigServiceImpl.java

@@ -10,6 +10,7 @@ import java.util.Random;
 import java.util.Set;
 
 
+import com.qmth.cqb.base.model.Course;
 import org.apache.commons.lang3.StringUtils;
 import org.nlpcn.commons.lang.util.StringUtil;
 import org.slf4j.Logger;
@@ -613,7 +614,10 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 			if(extractConfig==null){
 				extractConfig = new ExtractConfig(examCourseDto);
 			}
-			extractConfigs.add(extractConfig);
+			Course course = extractConfig.getCourse();
+			if(course != null && course.getEnable().equals("true")){
+				extractConfigs.add(extractConfig);
+			}
 		}
 		return new PageImpl<ExtractConfig>(extractConfigs,new PageRequest(currentPage,pageSize),pageExamCourse.getTotalElements());
 	}

+ 17 - 1
cqb-starter/src/main/java/com/qmth/cqb/sync/DataReceiveService.java

@@ -83,7 +83,23 @@ public class DataReceiveService {
         List<ExtractConfig> extractConfigs= extractConfigRepo.findByCourseCodeAndOrgId(courseCode,orgId);
         if (extractConfigs != null && extractConfigs.size() > 0) {
             for (ExtractConfig extractConfig : extractConfigs) {
-                extractConfig.setCourseName(courseName);
+                Course course = extractConfig.getCourse();
+                if(course != null){
+                    course.setName(courseName);
+                    course.setLevel(courseLevel);
+                    course.setEnable(enable);
+                    course.setUpdateTime(CommonUtils.getCurDateTime());
+                    extractConfig.setCourse(course);
+                }else{
+                    Course tempCourse = new Course();
+                    tempCourse.setCode(courseCode);
+                    tempCourse.setName(courseName);
+                    tempCourse.setLevel(courseLevel);
+                    tempCourse.setEnable(enable);
+                    tempCourse.setOrgId(orgId);
+                    tempCourse.setCreateTime(CommonUtils.getCurDateTime());
+                    extractConfig.setCourse(tempCourse);
+                }
             }
             extractConfigRepo.save(extractConfigs);
         }

+ 26 - 0
cqb-starter/src/test/java/com/qmth/cqb/ApplicationTest.java

@@ -296,6 +296,32 @@ public class ApplicationTest {
         paperRepo.save(savePaper);
     }
 
+    @Test
+    public void testCourse7(){
+        List<Course> courses = courseRepo.findAll();
+        for(Course course:courses){
+            if(course != null){
+                if(course.getEnable().equals("1")){
+                    course.setEnable("true");
+                }
+                if(course.getEnable().equals("0")){
+                    course.setEnable("false");
+                }
+            }
+        }
+        courseRepo.save(courses);
+    }
+
+    @Test
+    public void testCourse6(){
+        List<ExtractConfig> configs = extractConfigRepo.findAll();
+        for(ExtractConfig config:configs){
+            Course course = courseRepo.findFirstByCodeAndOrgId(config.getCourseCode(),config.getOrgId());
+            config.setCourse(course);
+        }
+        extractConfigRepo.save(configs);
+    }
+
     @Test
     public void testCourse5(){
         List<Question> questions = quesRepo.findAll();